; LLVM IR from VeloxChem/VeloxChem :: src/dft_func (DensityGridCubic)

; 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.CDensityGridCubic = type { i32, i32, %class.CDensityGridData2D }
%class.CDensityGridData2D = type <{ %"class.std::vector", %"class.std::vector.0", %"class.std::vector.0", %"class.std::vector.0", i32, [4 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }

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

; 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
declare dso_local noundef i32 @_ZNK17CDensityGridCubic21getNumberOfGridPointsEv(ptr noundef nonnull align 8 dereferenceable(112)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112), i32 noundef) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112), i32 noundef) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112), i32 noundef) #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN17CDensityGridCubic21DensityProdForLDA_TPAERK12CDensityGridS2_i(ptr noundef nonnull align 8 dereferenceable(112) %0, ptr noundef nonnull align 8 dereferenceable(112) %1, ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %3) #1 align 2 {
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca ptr, align 8
  %51 = alloca ptr, align 8
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca ptr, align 8
  %55 = alloca ptr, align 8
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca ptr, align 8
  %59 = alloca ptr, align 8
  %60 = alloca ptr, align 8
  %61 = alloca ptr, align 8
  %62 = alloca ptr, align 8
  %63 = alloca ptr, align 8
  %64 = alloca ptr, align 8
  %65 = alloca ptr, align 8
  %66 = alloca ptr, align 8
  %67 = alloca ptr, align 8
  %68 = alloca ptr, align 8
  %69 = alloca ptr, align 8
  %70 = alloca ptr, align 8
  %71 = alloca ptr, align 8
  %72 = alloca ptr, align 8
  %73 = alloca ptr, align 8
  %74 = alloca ptr, align 8
  %75 = alloca ptr, align 8
  %76 = alloca ptr, align 8
  %77 = alloca ptr, align 8
  %78 = alloca ptr, align 8
  %79 = alloca ptr, align 8
  %80 = alloca ptr, align 8
  %81 = alloca ptr, align 8
  %82 = alloca ptr, align 8
  %83 = alloca ptr, align 8
  %84 = alloca i32, align 4
  %85 = alloca double, align 8
  %86 = alloca double, align 8
  %87 = alloca double, align 8
  %88 = alloca double, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  store i32 %3, ptr %8, align 4, !tbaa !9
  %89 = load ptr, ptr %5, align 8
  %90 = getelementptr inbounds %class.CDensityGridCubic, ptr %89, i32 0, i32 0
  %91 = load i32, ptr %90, align 8, !tbaa !11
  %92 = icmp ne i32 %91, 0
  br i1 %92, label %93, label %94

93:                                               ; preds = %4
  br label %3232

94:                                               ; preds = %4
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #5
  %95 = call noundef i32 @_ZNK17CDensityGridCubic21getNumberOfGridPointsEv(ptr noundef nonnull align 8 dereferenceable(112) %89)
  store i32 %95, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #5
  store i32 0, ptr %10, align 4, !tbaa !9
  br label %96

96:                                               ; preds = %3228, %94
  %97 = load i32, ptr %10, align 4, !tbaa !9
  %98 = load i32, ptr %8, align 4, !tbaa !9
  %99 = sdiv i32 %98, 30
  %100 = icmp slt i32 %97, %99
  br i1 %100, label %102, label %101

101:                                              ; preds = %96
  store i32 2, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #5
  br label %3231

102:                                              ; preds = %96
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #5
  %103 = load i32, ptr %10, align 4, !tbaa !9
  %104 = mul nsw i32 24, %103
  %105 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %104)
  store ptr %105, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #5
  %106 = load i32, ptr %10, align 4, !tbaa !9
  %107 = mul nsw i32 24, %106
  %108 = add nsw i32 %107, 1
  %109 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %108)
  store ptr %109, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #5
  %110 = load i32, ptr %10, align 4, !tbaa !9
  %111 = mul nsw i32 24, %110
  %112 = add nsw i32 %111, 2
  %113 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %112)
  store ptr %113, ptr %14, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #5
  %114 = load i32, ptr %10, align 4, !tbaa !9
  %115 = mul nsw i32 24, %114
  %116 = add nsw i32 %115, 3
  %117 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %116)
  store ptr %117, ptr %15, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #5
  %118 = load i32, ptr %10, align 4, !tbaa !9
  %119 = mul nsw i32 24, %118
  %120 = add nsw i32 %119, 4
  %121 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %120)
  store ptr %121, ptr %16, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #5
  %122 = load i32, ptr %10, align 4, !tbaa !9
  %123 = mul nsw i32 24, %122
  %124 = add nsw i32 %123, 5
  %125 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %124)
  store ptr %125, ptr %17, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #5
  %126 = load i32, ptr %10, align 4, !tbaa !9
  %127 = mul nsw i32 24, %126
  %128 = add nsw i32 %127, 6
  %129 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %128)
  store ptr %129, ptr %18, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #5
  %130 = load i32, ptr %10, align 4, !tbaa !9
  %131 = mul nsw i32 24, %130
  %132 = add nsw i32 %131, 7
  %133 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %132)
  store ptr %133, ptr %19, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #5
  %134 = load i32, ptr %10, align 4, !tbaa !9
  %135 = mul nsw i32 24, %134
  %136 = add nsw i32 %135, 8
  %137 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %136)
  store ptr %137, ptr %20, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #5
  %138 = load i32, ptr %10, align 4, !tbaa !9
  %139 = mul nsw i32 24, %138
  %140 = add nsw i32 %139, 9
  %141 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %140)
  store ptr %141, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #5
  %142 = load i32, ptr %10, align 4, !tbaa !9
  %143 = mul nsw i32 24, %142
  %144 = add nsw i32 %143, 10
  %145 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %144)
  store ptr %145, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #5
  %146 = load i32, ptr %10, align 4, !tbaa !9
  %147 = mul nsw i32 24, %146
  %148 = add nsw i32 %147, 11
  %149 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %148)
  store ptr %149, ptr %23, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #5
  %150 = load i32, ptr %10, align 4, !tbaa !9
  %151 = mul nsw i32 24, %150
  %152 = add nsw i32 %151, 12
  %153 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %152)
  store ptr %153, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #5
  %154 = load i32, ptr %10, align 4, !tbaa !9
  %155 = mul nsw i32 24, %154
  %156 = add nsw i32 %155, 13
  %157 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %156)
  store ptr %157, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #5
  %158 = load i32, ptr %10, align 4, !tbaa !9
  %159 = mul nsw i32 24, %158
  %160 = add nsw i32 %159, 14
  %161 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %160)
  store ptr %161, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #5
  %162 = load i32, ptr %10, align 4, !tbaa !9
  %163 = mul nsw i32 24, %162
  %164 = add nsw i32 %163, 15
  %165 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %164)
  store ptr %165, ptr %27, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #5
  %166 = load i32, ptr %10, align 4, !tbaa !9
  %167 = mul nsw i32 24, %166
  %168 = add nsw i32 %167, 16
  %169 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %168)
  store ptr %169, ptr %28, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #5
  %170 = load i32, ptr %10, align 4, !tbaa !9
  %171 = mul nsw i32 24, %170
  %172 = add nsw i32 %171, 17
  %173 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %172)
  store ptr %173, ptr %29, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #5
  %174 = load i32, ptr %10, align 4, !tbaa !9
  %175 = mul nsw i32 24, %174
  %176 = add nsw i32 %175, 18
  %177 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %176)
  store ptr %177, ptr %30, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #5
  %178 = load i32, ptr %10, align 4, !tbaa !9
  %179 = mul nsw i32 24, %178
  %180 = add nsw i32 %179, 19
  %181 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %180)
  store ptr %181, ptr %31, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #5
  %182 = load i32, ptr %10, align 4, !tbaa !9
  %183 = mul nsw i32 24, %182
  %184 = add nsw i32 %183, 20
  %185 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %184)
  store ptr %185, ptr %32, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #5
  %186 = load i32, ptr %10, align 4, !tbaa !9
  %187 = mul nsw i32 24, %186
  %188 = add nsw i32 %187, 21
  %189 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %188)
  store ptr %189, ptr %33, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #5
  %190 = load i32, ptr %10, align 4, !tbaa !9
  %191 = mul nsw i32 24, %190
  %192 = add nsw i32 %191, 22
  %193 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %192)
  store ptr %193, ptr %34, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #5
  %194 = load i32, ptr %10, align 4, !tbaa !9
  %195 = mul nsw i32 24, %194
  %196 = add nsw i32 %195, 23
  %197 = call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %196)
  store ptr %197, ptr %35, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #5
  %198 = load i32, ptr %10, align 4, !tbaa !9
  %199 = mul nsw i32 6, %198
  %200 = call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %199)
  store ptr %200, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #5
  %201 = load i32, ptr %10, align 4, !tbaa !9
  %202 = mul nsw i32 6, %201
  %203 = add nsw i32 %202, 1
  %204 = call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %203)
  store ptr %204, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #5
  %205 = load i32, ptr %10, align 4, !tbaa !9
  %206 = mul nsw i32 6, %205
  %207 = add nsw i32 %206, 2
  %208 = call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %207)
  store ptr %208, ptr %38, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #5
  %209 = load i32, ptr %10, align 4, !tbaa !9
  %210 = mul nsw i32 6, %209
  %211 = add nsw i32 %210, 3
  %212 = call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %211)
  store ptr %212, ptr %39, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #5
  %213 = load i32, ptr %10, align 4, !tbaa !9
  %214 = mul nsw i32 6, %213
  %215 = add nsw i32 %214, 4
  %216 = call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %215)
  store ptr %216, ptr %40, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #5
  %217 = load i32, ptr %10, align 4, !tbaa !9
  %218 = mul nsw i32 6, %217
  %219 = add nsw i32 %218, 5
  %220 = call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %219)
  store ptr %220, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #5
  %221 = load i32, ptr %10, align 4, !tbaa !9
  %222 = mul nsw i32 6, %221
  %223 = call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %222)
  store ptr %223, ptr %42, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #5
  %224 = load i32, ptr %10, align 4, !tbaa !9
  %225 = mul nsw i32 6, %224
  %226 = add nsw i32 %225, 1
  %227 = call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %226)
  store ptr %227, ptr %43, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #5
  %228 = load i32, ptr %10, align 4, !tbaa !9
  %229 = mul nsw i32 6, %228
  %230 = add nsw i32 %229, 2
  %231 = call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %230)
  store ptr %231, ptr %44, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #5
  %232 = load i32, ptr %10, align 4, !tbaa !9
  %233 = mul nsw i32 6, %232
  %234 = add nsw i32 %233, 3
  %235 = call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %234)
  store ptr %235, ptr %45, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #5
  %236 = load i32, ptr %10, align 4, !tbaa !9
  %237 = mul nsw i32 6, %236
  %238 = add nsw i32 %237, 4
  %239 = call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %238)
  store ptr %239, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #5
  %240 = load i32, ptr %10, align 4, !tbaa !9
  %241 = mul nsw i32 6, %240
  %242 = add nsw i32 %241, 5
  %243 = call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %89, i32 noundef %242)
  store ptr %243, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #5
  %244 = load ptr, ptr %6, align 8, !tbaa !5
  %245 = load i32, ptr %10, align 4, !tbaa !9
  %246 = mul nsw i32 12, %245
  %247 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %244, i32 noundef %246)
  store ptr %247, ptr %48, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #5
  %248 = load ptr, ptr %6, align 8, !tbaa !5
  %249 = load i32, ptr %10, align 4, !tbaa !9
  %250 = mul nsw i32 12, %249
  %251 = add nsw i32 %250, 1
  %252 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %248, i32 noundef %251)
  store ptr %252, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #5
  %253 = load ptr, ptr %6, align 8, !tbaa !5
  %254 = load i32, ptr %10, align 4, !tbaa !9
  %255 = mul nsw i32 12, %254
  %256 = add nsw i32 %255, 2
  %257 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %253, i32 noundef %256)
  store ptr %257, ptr %50, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #5
  %258 = load ptr, ptr %6, align 8, !tbaa !5
  %259 = load i32, ptr %10, align 4, !tbaa !9
  %260 = mul nsw i32 12, %259
  %261 = add nsw i32 %260, 3
  %262 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %258, i32 noundef %261)
  store ptr %262, ptr %51, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #5
  %263 = load ptr, ptr %6, align 8, !tbaa !5
  %264 = load i32, ptr %10, align 4, !tbaa !9
  %265 = mul nsw i32 12, %264
  %266 = add nsw i32 %265, 4
  %267 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %263, i32 noundef %266)
  store ptr %267, ptr %52, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #5
  %268 = load ptr, ptr %6, align 8, !tbaa !5
  %269 = load i32, ptr %10, align 4, !tbaa !9
  %270 = mul nsw i32 12, %269
  %271 = add nsw i32 %270, 5
  %272 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %268, i32 noundef %271)
  store ptr %272, ptr %53, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #5
  %273 = load ptr, ptr %6, align 8, !tbaa !5
  %274 = load i32, ptr %10, align 4, !tbaa !9
  %275 = mul nsw i32 12, %274
  %276 = add nsw i32 %275, 6
  %277 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %273, i32 noundef %276)
  store ptr %277, ptr %54, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #5
  %278 = load ptr, ptr %6, align 8, !tbaa !5
  %279 = load i32, ptr %10, align 4, !tbaa !9
  %280 = mul nsw i32 12, %279
  %281 = add nsw i32 %280, 7
  %282 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %278, i32 noundef %281)
  store ptr %282, ptr %55, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #5
  %283 = load ptr, ptr %6, align 8, !tbaa !5
  %284 = load i32, ptr %10, align 4, !tbaa !9
  %285 = mul nsw i32 12, %284
  %286 = add nsw i32 %285, 8
  %287 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %283, i32 noundef %286)
  store ptr %287, ptr %56, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #5
  %288 = load ptr, ptr %6, align 8, !tbaa !5
  %289 = load i32, ptr %10, align 4, !tbaa !9
  %290 = mul nsw i32 12, %289
  %291 = add nsw i32 %290, 9
  %292 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %288, i32 noundef %291)
  store ptr %292, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #5
  %293 = load ptr, ptr %6, align 8, !tbaa !5
  %294 = load i32, ptr %10, align 4, !tbaa !9
  %295 = mul nsw i32 12, %294
  %296 = add nsw i32 %295, 10
  %297 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %293, i32 noundef %296)
  store ptr %297, ptr %58, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #5
  %298 = load ptr, ptr %6, align 8, !tbaa !5
  %299 = load i32, ptr %10, align 4, !tbaa !9
  %300 = mul nsw i32 12, %299
  %301 = add nsw i32 %300, 11
  %302 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %298, i32 noundef %301)
  store ptr %302, ptr %59, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #5
  %303 = load ptr, ptr %7, align 8, !tbaa !5
  %304 = load i32, ptr %10, align 4, !tbaa !9
  %305 = mul nsw i32 24, %304
  %306 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %303, i32 noundef %305)
  store ptr %306, ptr %60, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #5
  %307 = load ptr, ptr %7, align 8, !tbaa !5
  %308 = load i32, ptr %10, align 4, !tbaa !9
  %309 = mul nsw i32 24, %308
  %310 = add nsw i32 %309, 1
  %311 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %307, i32 noundef %310)
  store ptr %311, ptr %61, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #5
  %312 = load ptr, ptr %7, align 8, !tbaa !5
  %313 = load i32, ptr %10, align 4, !tbaa !9
  %314 = mul nsw i32 24, %313
  %315 = add nsw i32 %314, 2
  %316 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %312, i32 noundef %315)
  store ptr %316, ptr %62, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #5
  %317 = load ptr, ptr %7, align 8, !tbaa !5
  %318 = load i32, ptr %10, align 4, !tbaa !9
  %319 = mul nsw i32 24, %318
  %320 = add nsw i32 %319, 3
  %321 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %317, i32 noundef %320)
  store ptr %321, ptr %63, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #5
  %322 = load ptr, ptr %7, align 8, !tbaa !5
  %323 = load i32, ptr %10, align 4, !tbaa !9
  %324 = mul nsw i32 24, %323
  %325 = add nsw i32 %324, 4
  %326 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %322, i32 noundef %325)
  store ptr %326, ptr %64, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #5
  %327 = load ptr, ptr %7, align 8, !tbaa !5
  %328 = load i32, ptr %10, align 4, !tbaa !9
  %329 = mul nsw i32 24, %328
  %330 = add nsw i32 %329, 5
  %331 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %327, i32 noundef %330)
  store ptr %331, ptr %65, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #5
  %332 = load ptr, ptr %7, align 8, !tbaa !5
  %333 = load i32, ptr %10, align 4, !tbaa !9
  %334 = mul nsw i32 24, %333
  %335 = add nsw i32 %334, 6
  %336 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %332, i32 noundef %335)
  store ptr %336, ptr %66, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #5
  %337 = load ptr, ptr %7, align 8, !tbaa !5
  %338 = load i32, ptr %10, align 4, !tbaa !9
  %339 = mul nsw i32 24, %338
  %340 = add nsw i32 %339, 7
  %341 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %337, i32 noundef %340)
  store ptr %341, ptr %67, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #5
  %342 = load ptr, ptr %7, align 8, !tbaa !5
  %343 = load i32, ptr %10, align 4, !tbaa !9
  %344 = mul nsw i32 24, %343
  %345 = add nsw i32 %344, 8
  %346 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %342, i32 noundef %345)
  store ptr %346, ptr %68, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #5
  %347 = load ptr, ptr %7, align 8, !tbaa !5
  %348 = load i32, ptr %10, align 4, !tbaa !9
  %349 = mul nsw i32 24, %348
  %350 = add nsw i32 %349, 9
  %351 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %347, i32 noundef %350)
  store ptr %351, ptr %69, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #5
  %352 = load ptr, ptr %7, align 8, !tbaa !5
  %353 = load i32, ptr %10, align 4, !tbaa !9
  %354 = mul nsw i32 24, %353
  %355 = add nsw i32 %354, 10
  %356 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %352, i32 noundef %355)
  store ptr %356, ptr %70, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #5
  %357 = load ptr, ptr %7, align 8, !tbaa !5
  %358 = load i32, ptr %10, align 4, !tbaa !9
  %359 = mul nsw i32 24, %358
  %360 = add nsw i32 %359, 11
  %361 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %357, i32 noundef %360)
  store ptr %361, ptr %71, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #5
  %362 = load ptr, ptr %7, align 8, !tbaa !5
  %363 = load i32, ptr %10, align 4, !tbaa !9
  %364 = mul nsw i32 24, %363
  %365 = add nsw i32 %364, 12
  %366 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %362, i32 noundef %365)
  store ptr %366, ptr %72, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #5
  %367 = load ptr, ptr %7, align 8, !tbaa !5
  %368 = load i32, ptr %10, align 4, !tbaa !9
  %369 = mul nsw i32 24, %368
  %370 = add nsw i32 %369, 13
  %371 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %367, i32 noundef %370)
  store ptr %371, ptr %73, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #5
  %372 = load ptr, ptr %7, align 8, !tbaa !5
  %373 = load i32, ptr %10, align 4, !tbaa !9
  %374 = mul nsw i32 24, %373
  %375 = add nsw i32 %374, 14
  %376 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %372, i32 noundef %375)
  store ptr %376, ptr %74, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #5
  %377 = load ptr, ptr %7, align 8, !tbaa !5
  %378 = load i32, ptr %10, align 4, !tbaa !9
  %379 = mul nsw i32 24, %378
  %380 = add nsw i32 %379, 15
  %381 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %377, i32 noundef %380)
  store ptr %381, ptr %75, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #5
  %382 = load ptr, ptr %7, align 8, !tbaa !5
  %383 = load i32, ptr %10, align 4, !tbaa !9
  %384 = mul nsw i32 24, %383
  %385 = add nsw i32 %384, 16
  %386 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %382, i32 noundef %385)
  store ptr %386, ptr %76, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #5
  %387 = load ptr, ptr %7, align 8, !tbaa !5
  %388 = load i32, ptr %10, align 4, !tbaa !9
  %389 = mul nsw i32 24, %388
  %390 = add nsw i32 %389, 17
  %391 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %387, i32 noundef %390)
  store ptr %391, ptr %77, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #5
  %392 = load ptr, ptr %7, align 8, !tbaa !5
  %393 = load i32, ptr %10, align 4, !tbaa !9
  %394 = mul nsw i32 24, %393
  %395 = add nsw i32 %394, 18
  %396 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %392, i32 noundef %395)
  store ptr %396, ptr %78, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #5
  %397 = load ptr, ptr %7, align 8, !tbaa !5
  %398 = load i32, ptr %10, align 4, !tbaa !9
  %399 = mul nsw i32 24, %398
  %400 = add nsw i32 %399, 19
  %401 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %397, i32 noundef %400)
  store ptr %401, ptr %79, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #5
  %402 = load ptr, ptr %7, align 8, !tbaa !5
  %403 = load i32, ptr %10, align 4, !tbaa !9
  %404 = mul nsw i32 24, %403
  %405 = add nsw i32 %404, 20
  %406 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %402, i32 noundef %405)
  store ptr %406, ptr %80, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #5
  %407 = load ptr, ptr %7, align 8, !tbaa !5
  %408 = load i32, ptr %10, align 4, !tbaa !9
  %409 = mul nsw i32 24, %408
  %410 = add nsw i32 %409, 21
  %411 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %407, i32 noundef %410)
  store ptr %411, ptr %81, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #5
  %412 = load ptr, ptr %7, align 8, !tbaa !5
  %413 = load i32, ptr %10, align 4, !tbaa !9
  %414 = mul nsw i32 24, %413
  %415 = add nsw i32 %414, 22
  %416 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %412, i32 noundef %415)
  store ptr %416, ptr %82, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #5
  %417 = load ptr, ptr %7, align 8, !tbaa !5
  %418 = load i32, ptr %10, align 4, !tbaa !9
  %419 = mul nsw i32 24, %418
  %420 = add nsw i32 %419, 23
  %421 = call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %417, i32 noundef %420)
  store ptr %421, ptr %83, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #5
  store i32 0, ptr %84, align 4, !tbaa !9
  br label %422

422:                                              ; preds = %3224, %102
  %423 = load i32, ptr %84, align 4, !tbaa !9
  %424 = load i32, ptr %9, align 4, !tbaa !9
  %425 = icmp slt i32 %423, %424
  br i1 %425, label %427, label %426

426:                                              ; preds = %422
  store i32 5, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #5
  br label %3227

427:                                              ; preds = %422
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #5
  %428 = load ptr, ptr %48, align 8, !tbaa !5
  %429 = load i32, ptr %84, align 4, !tbaa !9
  %430 = sext i32 %429 to i64
  %431 = getelementptr inbounds double, ptr %428, i64 %430
  %432 = load double, ptr %431, align 8, !tbaa !23
  %433 = load ptr, ptr %49, align 8, !tbaa !5
  %434 = load i32, ptr %84, align 4, !tbaa !9
  %435 = sext i32 %434 to i64
  %436 = getelementptr inbounds double, ptr %433, i64 %435
  %437 = load double, ptr %436, align 8, !tbaa !23
  %438 = load ptr, ptr %48, align 8, !tbaa !5
  %439 = load i32, ptr %84, align 4, !tbaa !9
  %440 = sext i32 %439 to i64
  %441 = getelementptr inbounds double, ptr %438, i64 %440
  %442 = load double, ptr %441, align 8, !tbaa !23
  %443 = load ptr, ptr %49, align 8, !tbaa !5
  %444 = load i32, ptr %84, align 4, !tbaa !9
  %445 = sext i32 %444 to i64
  %446 = getelementptr inbounds double, ptr %443, i64 %445
  %447 = load double, ptr %446, align 8, !tbaa !23
  %448 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %432, double noundef %437, double noundef %442, double noundef %447)
  %449 = load ptr, ptr %50, align 8, !tbaa !5
  %450 = load i32, ptr %84, align 4, !tbaa !9
  %451 = sext i32 %450 to i64
  %452 = getelementptr inbounds double, ptr %449, i64 %451
  %453 = load double, ptr %452, align 8, !tbaa !23
  %454 = load ptr, ptr %51, align 8, !tbaa !5
  %455 = load i32, ptr %84, align 4, !tbaa !9
  %456 = sext i32 %455 to i64
  %457 = getelementptr inbounds double, ptr %454, i64 %456
  %458 = load double, ptr %457, align 8, !tbaa !23
  %459 = load ptr, ptr %50, align 8, !tbaa !5
  %460 = load i32, ptr %84, align 4, !tbaa !9
  %461 = sext i32 %460 to i64
  %462 = getelementptr inbounds double, ptr %459, i64 %461
  %463 = load double, ptr %462, align 8, !tbaa !23
  %464 = load ptr, ptr %51, align 8, !tbaa !5
  %465 = load i32, ptr %84, align 4, !tbaa !9
  %466 = sext i32 %465 to i64
  %467 = getelementptr inbounds double, ptr %464, i64 %466
  %468 = load double, ptr %467, align 8, !tbaa !23
  %469 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %453, double noundef %458, double noundef %463, double noundef %468)
  %470 = fmul double 6.000000e+00, %469
  %471 = call double @llvm.fmuladd.f64(double 6.000000e+00, double %448, double %470)
  %472 = load ptr, ptr %52, align 8, !tbaa !5
  %473 = load i32, ptr %84, align 4, !tbaa !9
  %474 = sext i32 %473 to i64
  %475 = getelementptr inbounds double, ptr %472, i64 %474
  %476 = load double, ptr %475, align 8, !tbaa !23
  %477 = load ptr, ptr %53, align 8, !tbaa !5
  %478 = load i32, ptr %84, align 4, !tbaa !9
  %479 = sext i32 %478 to i64
  %480 = getelementptr inbounds double, ptr %477, i64 %479
  %481 = load double, ptr %480, align 8, !tbaa !23
  %482 = load ptr, ptr %52, align 8, !tbaa !5
  %483 = load i32, ptr %84, align 4, !tbaa !9
  %484 = sext i32 %483 to i64
  %485 = getelementptr inbounds double, ptr %482, i64 %484
  %486 = load double, ptr %485, align 8, !tbaa !23
  %487 = load ptr, ptr %53, align 8, !tbaa !5
  %488 = load i32, ptr %84, align 4, !tbaa !9
  %489 = sext i32 %488 to i64
  %490 = getelementptr inbounds double, ptr %487, i64 %489
  %491 = load double, ptr %490, align 8, !tbaa !23
  %492 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %476, double noundef %481, double noundef %486, double noundef %491)
  %493 = call double @llvm.fmuladd.f64(double 6.000000e+00, double %492, double %471)
  store double %493, ptr %85, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #5
  %494 = load ptr, ptr %48, align 8, !tbaa !5
  %495 = load i32, ptr %84, align 4, !tbaa !9
  %496 = sext i32 %495 to i64
  %497 = getelementptr inbounds double, ptr %494, i64 %496
  %498 = load double, ptr %497, align 8, !tbaa !23
  %499 = load ptr, ptr %49, align 8, !tbaa !5
  %500 = load i32, ptr %84, align 4, !tbaa !9
  %501 = sext i32 %500 to i64
  %502 = getelementptr inbounds double, ptr %499, i64 %501
  %503 = load double, ptr %502, align 8, !tbaa !23
  %504 = load ptr, ptr %48, align 8, !tbaa !5
  %505 = load i32, ptr %84, align 4, !tbaa !9
  %506 = sext i32 %505 to i64
  %507 = getelementptr inbounds double, ptr %504, i64 %506
  %508 = load double, ptr %507, align 8, !tbaa !23
  %509 = load ptr, ptr %49, align 8, !tbaa !5
  %510 = load i32, ptr %84, align 4, !tbaa !9
  %511 = sext i32 %510 to i64
  %512 = getelementptr inbounds double, ptr %509, i64 %511
  %513 = load double, ptr %512, align 8, !tbaa !23
  %514 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %498, double noundef %503, double noundef %508, double noundef %513)
  %515 = load ptr, ptr %50, align 8, !tbaa !5
  %516 = load i32, ptr %84, align 4, !tbaa !9
  %517 = sext i32 %516 to i64
  %518 = getelementptr inbounds double, ptr %515, i64 %517
  %519 = load double, ptr %518, align 8, !tbaa !23
  %520 = load ptr, ptr %51, align 8, !tbaa !5
  %521 = load i32, ptr %84, align 4, !tbaa !9
  %522 = sext i32 %521 to i64
  %523 = getelementptr inbounds double, ptr %520, i64 %522
  %524 = load double, ptr %523, align 8, !tbaa !23
  %525 = load ptr, ptr %50, align 8, !tbaa !5
  %526 = load i32, ptr %84, align 4, !tbaa !9
  %527 = sext i32 %526 to i64
  %528 = getelementptr inbounds double, ptr %525, i64 %527
  %529 = load double, ptr %528, align 8, !tbaa !23
  %530 = load ptr, ptr %51, align 8, !tbaa !5
  %531 = load i32, ptr %84, align 4, !tbaa !9
  %532 = sext i32 %531 to i64
  %533 = getelementptr inbounds double, ptr %530, i64 %532
  %534 = load double, ptr %533, align 8, !tbaa !23
  %535 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %519, double noundef %524, double noundef %529, double noundef %534)
  %536 = fmul double 6.000000e+00, %535
  %537 = call double @llvm.fmuladd.f64(double 6.000000e+00, double %514, double %536)
  %538 = load ptr, ptr %52, align 8, !tbaa !5
  %539 = load i32, ptr %84, align 4, !tbaa !9
  %540 = sext i32 %539 to i64
  %541 = getelementptr inbounds double, ptr %538, i64 %540
  %542 = load double, ptr %541, align 8, !tbaa !23
  %543 = load ptr, ptr %53, align 8, !tbaa !5
  %544 = load i32, ptr %84, align 4, !tbaa !9
  %545 = sext i32 %544 to i64
  %546 = getelementptr inbounds double, ptr %543, i64 %545
  %547 = load double, ptr %546, align 8, !tbaa !23
  %548 = load ptr, ptr %52, align 8, !tbaa !5
  %549 = load i32, ptr %84, align 4, !tbaa !9
  %550 = sext i32 %549 to i64
  %551 = getelementptr inbounds double, ptr %548, i64 %550
  %552 = load double, ptr %551, align 8, !tbaa !23
  %553 = load ptr, ptr %53, align 8, !tbaa !5
  %554 = load i32, ptr %84, align 4, !tbaa !9
  %555 = sext i32 %554 to i64
  %556 = getelementptr inbounds double, ptr %553, i64 %555
  %557 = load double, ptr %556, align 8, !tbaa !23
  %558 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %542, double noundef %547, double noundef %552, double noundef %557)
  %559 = call double @llvm.fmuladd.f64(double 6.000000e+00, double %558, double %537)
  store double %559, ptr %86, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #5
  %560 = load ptr, ptr %48, align 8, !tbaa !5
  %561 = load i32, ptr %84, align 4, !tbaa !9
  %562 = sext i32 %561 to i64
  %563 = getelementptr inbounds double, ptr %560, i64 %562
  %564 = load double, ptr %563, align 8, !tbaa !23
  %565 = load ptr, ptr %49, align 8, !tbaa !5
  %566 = load i32, ptr %84, align 4, !tbaa !9
  %567 = sext i32 %566 to i64
  %568 = getelementptr inbounds double, ptr %565, i64 %567
  %569 = load double, ptr %568, align 8, !tbaa !23
  %570 = load ptr, ptr %54, align 8, !tbaa !5
  %571 = load i32, ptr %84, align 4, !tbaa !9
  %572 = sext i32 %571 to i64
  %573 = getelementptr inbounds double, ptr %570, i64 %572
  %574 = load double, ptr %573, align 8, !tbaa !23
  %575 = load ptr, ptr %55, align 8, !tbaa !5
  %576 = load i32, ptr %84, align 4, !tbaa !9
  %577 = sext i32 %576 to i64
  %578 = getelementptr inbounds double, ptr %575, i64 %577
  %579 = load double, ptr %578, align 8, !tbaa !23
  %580 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %564, double noundef %569, double noundef %574, double noundef %579)
  %581 = load ptr, ptr %50, align 8, !tbaa !5
  %582 = load i32, ptr %84, align 4, !tbaa !9
  %583 = sext i32 %582 to i64
  %584 = getelementptr inbounds double, ptr %581, i64 %583
  %585 = load double, ptr %584, align 8, !tbaa !23
  %586 = load ptr, ptr %51, align 8, !tbaa !5
  %587 = load i32, ptr %84, align 4, !tbaa !9
  %588 = sext i32 %587 to i64
  %589 = getelementptr inbounds double, ptr %586, i64 %588
  %590 = load double, ptr %589, align 8, !tbaa !23
  %591 = load ptr, ptr %56, align 8, !tbaa !5
  %592 = load i32, ptr %84, align 4, !tbaa !9
  %593 = sext i32 %592 to i64
  %594 = getelementptr inbounds double, ptr %591, i64 %593
  %595 = load double, ptr %594, align 8, !tbaa !23
  %596 = load ptr, ptr %57, align 8, !tbaa !5
  %597 = load i32, ptr %84, align 4, !tbaa !9
  %598 = sext i32 %597 to i64
  %599 = getelementptr inbounds double, ptr %596, i64 %598
  %600 = load double, ptr %599, align 8, !tbaa !23
  %601 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %585, double noundef %590, double noundef %595, double noundef %600)
  %602 = fmul double 1.200000e+01, %601
  %603 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %580, double %602)
  %604 = load ptr, ptr %52, align 8, !tbaa !5
  %605 = load i32, ptr %84, align 4, !tbaa !9
  %606 = sext i32 %605 to i64
  %607 = getelementptr inbounds double, ptr %604, i64 %606
  %608 = load double, ptr %607, align 8, !tbaa !23
  %609 = load ptr, ptr %53, align 8, !tbaa !5
  %610 = load i32, ptr %84, align 4, !tbaa !9
  %611 = sext i32 %610 to i64
  %612 = getelementptr inbounds double, ptr %609, i64 %611
  %613 = load double, ptr %612, align 8, !tbaa !23
  %614 = load ptr, ptr %58, align 8, !tbaa !5
  %615 = load i32, ptr %84, align 4, !tbaa !9
  %616 = sext i32 %615 to i64
  %617 = getelementptr inbounds double, ptr %614, i64 %616
  %618 = load double, ptr %617, align 8, !tbaa !23
  %619 = load ptr, ptr %59, align 8, !tbaa !5
  %620 = load i32, ptr %84, align 4, !tbaa !9
  %621 = sext i32 %620 to i64
  %622 = getelementptr inbounds double, ptr %619, i64 %621
  %623 = load double, ptr %622, align 8, !tbaa !23
  %624 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %608, double noundef %613, double noundef %618, double noundef %623)
  %625 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %624, double %603)
  store double %625, ptr %87, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #5
  %626 = load ptr, ptr %48, align 8, !tbaa !5
  %627 = load i32, ptr %84, align 4, !tbaa !9
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds double, ptr %626, i64 %628
  %630 = load double, ptr %629, align 8, !tbaa !23
  %631 = load ptr, ptr %49, align 8, !tbaa !5
  %632 = load i32, ptr %84, align 4, !tbaa !9
  %633 = sext i32 %632 to i64
  %634 = getelementptr inbounds double, ptr %631, i64 %633
  %635 = load double, ptr %634, align 8, !tbaa !23
  %636 = load ptr, ptr %54, align 8, !tbaa !5
  %637 = load i32, ptr %84, align 4, !tbaa !9
  %638 = sext i32 %637 to i64
  %639 = getelementptr inbounds double, ptr %636, i64 %638
  %640 = load double, ptr %639, align 8, !tbaa !23
  %641 = load ptr, ptr %55, align 8, !tbaa !5
  %642 = load i32, ptr %84, align 4, !tbaa !9
  %643 = sext i32 %642 to i64
  %644 = getelementptr inbounds double, ptr %641, i64 %643
  %645 = load double, ptr %644, align 8, !tbaa !23
  %646 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %630, double noundef %635, double noundef %640, double noundef %645)
  %647 = load ptr, ptr %50, align 8, !tbaa !5
  %648 = load i32, ptr %84, align 4, !tbaa !9
  %649 = sext i32 %648 to i64
  %650 = getelementptr inbounds double, ptr %647, i64 %649
  %651 = load double, ptr %650, align 8, !tbaa !23
  %652 = load ptr, ptr %51, align 8, !tbaa !5
  %653 = load i32, ptr %84, align 4, !tbaa !9
  %654 = sext i32 %653 to i64
  %655 = getelementptr inbounds double, ptr %652, i64 %654
  %656 = load double, ptr %655, align 8, !tbaa !23
  %657 = load ptr, ptr %56, align 8, !tbaa !5
  %658 = load i32, ptr %84, align 4, !tbaa !9
  %659 = sext i32 %658 to i64
  %660 = getelementptr inbounds double, ptr %657, i64 %659
  %661 = load double, ptr %660, align 8, !tbaa !23
  %662 = load ptr, ptr %57, align 8, !tbaa !5
  %663 = load i32, ptr %84, align 4, !tbaa !9
  %664 = sext i32 %663 to i64
  %665 = getelementptr inbounds double, ptr %662, i64 %664
  %666 = load double, ptr %665, align 8, !tbaa !23
  %667 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %651, double noundef %656, double noundef %661, double noundef %666)
  %668 = fmul double 1.200000e+01, %667
  %669 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %646, double %668)
  %670 = load ptr, ptr %52, align 8, !tbaa !5
  %671 = load i32, ptr %84, align 4, !tbaa !9
  %672 = sext i32 %671 to i64
  %673 = getelementptr inbounds double, ptr %670, i64 %672
  %674 = load double, ptr %673, align 8, !tbaa !23
  %675 = load ptr, ptr %53, align 8, !tbaa !5
  %676 = load i32, ptr %84, align 4, !tbaa !9
  %677 = sext i32 %676 to i64
  %678 = getelementptr inbounds double, ptr %675, i64 %677
  %679 = load double, ptr %678, align 8, !tbaa !23
  %680 = load ptr, ptr %58, align 8, !tbaa !5
  %681 = load i32, ptr %84, align 4, !tbaa !9
  %682 = sext i32 %681 to i64
  %683 = getelementptr inbounds double, ptr %680, i64 %682
  %684 = load double, ptr %683, align 8, !tbaa !23
  %685 = load ptr, ptr %59, align 8, !tbaa !5
  %686 = load i32, ptr %84, align 4, !tbaa !9
  %687 = sext i32 %686 to i64
  %688 = getelementptr inbounds double, ptr %685, i64 %687
  %689 = load double, ptr %688, align 8, !tbaa !23
  %690 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %674, double noundef %679, double noundef %684, double noundef %689)
  %691 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %690, double %669)
  store double %691, ptr %88, align 8, !tbaa !23
  %692 = load ptr, ptr %48, align 8, !tbaa !5
  %693 = load i32, ptr %84, align 4, !tbaa !9
  %694 = sext i32 %693 to i64
  %695 = getelementptr inbounds double, ptr %692, i64 %694
  %696 = load double, ptr %695, align 8, !tbaa !23
  %697 = load ptr, ptr %49, align 8, !tbaa !5
  %698 = load i32, ptr %84, align 4, !tbaa !9
  %699 = sext i32 %698 to i64
  %700 = getelementptr inbounds double, ptr %697, i64 %699
  %701 = load double, ptr %700, align 8, !tbaa !23
  %702 = load ptr, ptr %48, align 8, !tbaa !5
  %703 = load i32, ptr %84, align 4, !tbaa !9
  %704 = sext i32 %703 to i64
  %705 = getelementptr inbounds double, ptr %702, i64 %704
  %706 = load double, ptr %705, align 8, !tbaa !23
  %707 = load ptr, ptr %49, align 8, !tbaa !5
  %708 = load i32, ptr %84, align 4, !tbaa !9
  %709 = sext i32 %708 to i64
  %710 = getelementptr inbounds double, ptr %707, i64 %709
  %711 = load double, ptr %710, align 8, !tbaa !23
  %712 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %696, double noundef %701, double noundef %706, double noundef %711)
  %713 = load double, ptr %85, align 8, !tbaa !23
  %714 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %712, double %713)
  %715 = load ptr, ptr %12, align 8, !tbaa !5
  %716 = load i32, ptr %84, align 4, !tbaa !9
  %717 = sext i32 %716 to i64
  %718 = getelementptr inbounds double, ptr %715, i64 %717
  store double %714, ptr %718, align 8, !tbaa !23
  %719 = load ptr, ptr %50, align 8, !tbaa !5
  %720 = load i32, ptr %84, align 4, !tbaa !9
  %721 = sext i32 %720 to i64
  %722 = getelementptr inbounds double, ptr %719, i64 %721
  %723 = load double, ptr %722, align 8, !tbaa !23
  %724 = load ptr, ptr %51, align 8, !tbaa !5
  %725 = load i32, ptr %84, align 4, !tbaa !9
  %726 = sext i32 %725 to i64
  %727 = getelementptr inbounds double, ptr %724, i64 %726
  %728 = load double, ptr %727, align 8, !tbaa !23
  %729 = load ptr, ptr %50, align 8, !tbaa !5
  %730 = load i32, ptr %84, align 4, !tbaa !9
  %731 = sext i32 %730 to i64
  %732 = getelementptr inbounds double, ptr %729, i64 %731
  %733 = load double, ptr %732, align 8, !tbaa !23
  %734 = load ptr, ptr %51, align 8, !tbaa !5
  %735 = load i32, ptr %84, align 4, !tbaa !9
  %736 = sext i32 %735 to i64
  %737 = getelementptr inbounds double, ptr %734, i64 %736
  %738 = load double, ptr %737, align 8, !tbaa !23
  %739 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %723, double noundef %728, double noundef %733, double noundef %738)
  %740 = load double, ptr %85, align 8, !tbaa !23
  %741 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %739, double %740)
  %742 = load ptr, ptr %14, align 8, !tbaa !5
  %743 = load i32, ptr %84, align 4, !tbaa !9
  %744 = sext i32 %743 to i64
  %745 = getelementptr inbounds double, ptr %742, i64 %744
  store double %741, ptr %745, align 8, !tbaa !23
  %746 = load ptr, ptr %52, align 8, !tbaa !5
  %747 = load i32, ptr %84, align 4, !tbaa !9
  %748 = sext i32 %747 to i64
  %749 = getelementptr inbounds double, ptr %746, i64 %748
  %750 = load double, ptr %749, align 8, !tbaa !23
  %751 = load ptr, ptr %53, align 8, !tbaa !5
  %752 = load i32, ptr %84, align 4, !tbaa !9
  %753 = sext i32 %752 to i64
  %754 = getelementptr inbounds double, ptr %751, i64 %753
  %755 = load double, ptr %754, align 8, !tbaa !23
  %756 = load ptr, ptr %52, align 8, !tbaa !5
  %757 = load i32, ptr %84, align 4, !tbaa !9
  %758 = sext i32 %757 to i64
  %759 = getelementptr inbounds double, ptr %756, i64 %758
  %760 = load double, ptr %759, align 8, !tbaa !23
  %761 = load ptr, ptr %53, align 8, !tbaa !5
  %762 = load i32, ptr %84, align 4, !tbaa !9
  %763 = sext i32 %762 to i64
  %764 = getelementptr inbounds double, ptr %761, i64 %763
  %765 = load double, ptr %764, align 8, !tbaa !23
  %766 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %750, double noundef %755, double noundef %760, double noundef %765)
  %767 = load double, ptr %85, align 8, !tbaa !23
  %768 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %766, double %767)
  %769 = load ptr, ptr %16, align 8, !tbaa !5
  %770 = load i32, ptr %84, align 4, !tbaa !9
  %771 = sext i32 %770 to i64
  %772 = getelementptr inbounds double, ptr %769, i64 %771
  store double %768, ptr %772, align 8, !tbaa !23
  %773 = load ptr, ptr %48, align 8, !tbaa !5
  %774 = load i32, ptr %84, align 4, !tbaa !9
  %775 = sext i32 %774 to i64
  %776 = getelementptr inbounds double, ptr %773, i64 %775
  %777 = load double, ptr %776, align 8, !tbaa !23
  %778 = load ptr, ptr %49, align 8, !tbaa !5
  %779 = load i32, ptr %84, align 4, !tbaa !9
  %780 = sext i32 %779 to i64
  %781 = getelementptr inbounds double, ptr %778, i64 %780
  %782 = load double, ptr %781, align 8, !tbaa !23
  %783 = load ptr, ptr %50, align 8, !tbaa !5
  %784 = load i32, ptr %84, align 4, !tbaa !9
  %785 = sext i32 %784 to i64
  %786 = getelementptr inbounds double, ptr %783, i64 %785
  %787 = load double, ptr %786, align 8, !tbaa !23
  %788 = load ptr, ptr %51, align 8, !tbaa !5
  %789 = load i32, ptr %84, align 4, !tbaa !9
  %790 = sext i32 %789 to i64
  %791 = getelementptr inbounds double, ptr %788, i64 %790
  %792 = load double, ptr %791, align 8, !tbaa !23
  %793 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %777, double noundef %782, double noundef %787, double noundef %792)
  %794 = fmul double 1.200000e+01, %793
  %795 = load ptr, ptr %18, align 8, !tbaa !5
  %796 = load i32, ptr %84, align 4, !tbaa !9
  %797 = sext i32 %796 to i64
  %798 = getelementptr inbounds double, ptr %795, i64 %797
  store double %794, ptr %798, align 8, !tbaa !23
  %799 = load ptr, ptr %48, align 8, !tbaa !5
  %800 = load i32, ptr %84, align 4, !tbaa !9
  %801 = sext i32 %800 to i64
  %802 = getelementptr inbounds double, ptr %799, i64 %801
  %803 = load double, ptr %802, align 8, !tbaa !23
  %804 = load ptr, ptr %49, align 8, !tbaa !5
  %805 = load i32, ptr %84, align 4, !tbaa !9
  %806 = sext i32 %805 to i64
  %807 = getelementptr inbounds double, ptr %804, i64 %806
  %808 = load double, ptr %807, align 8, !tbaa !23
  %809 = load ptr, ptr %52, align 8, !tbaa !5
  %810 = load i32, ptr %84, align 4, !tbaa !9
  %811 = sext i32 %810 to i64
  %812 = getelementptr inbounds double, ptr %809, i64 %811
  %813 = load double, ptr %812, align 8, !tbaa !23
  %814 = load ptr, ptr %53, align 8, !tbaa !5
  %815 = load i32, ptr %84, align 4, !tbaa !9
  %816 = sext i32 %815 to i64
  %817 = getelementptr inbounds double, ptr %814, i64 %816
  %818 = load double, ptr %817, align 8, !tbaa !23
  %819 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %803, double noundef %808, double noundef %813, double noundef %818)
  %820 = fmul double 1.200000e+01, %819
  %821 = load ptr, ptr %20, align 8, !tbaa !5
  %822 = load i32, ptr %84, align 4, !tbaa !9
  %823 = sext i32 %822 to i64
  %824 = getelementptr inbounds double, ptr %821, i64 %823
  store double %820, ptr %824, align 8, !tbaa !23
  %825 = load ptr, ptr %50, align 8, !tbaa !5
  %826 = load i32, ptr %84, align 4, !tbaa !9
  %827 = sext i32 %826 to i64
  %828 = getelementptr inbounds double, ptr %825, i64 %827
  %829 = load double, ptr %828, align 8, !tbaa !23
  %830 = load ptr, ptr %51, align 8, !tbaa !5
  %831 = load i32, ptr %84, align 4, !tbaa !9
  %832 = sext i32 %831 to i64
  %833 = getelementptr inbounds double, ptr %830, i64 %832
  %834 = load double, ptr %833, align 8, !tbaa !23
  %835 = load ptr, ptr %52, align 8, !tbaa !5
  %836 = load i32, ptr %84, align 4, !tbaa !9
  %837 = sext i32 %836 to i64
  %838 = getelementptr inbounds double, ptr %835, i64 %837
  %839 = load double, ptr %838, align 8, !tbaa !23
  %840 = load ptr, ptr %53, align 8, !tbaa !5
  %841 = load i32, ptr %84, align 4, !tbaa !9
  %842 = sext i32 %841 to i64
  %843 = getelementptr inbounds double, ptr %840, i64 %842
  %844 = load double, ptr %843, align 8, !tbaa !23
  %845 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %829, double noundef %834, double noundef %839, double noundef %844)
  %846 = fmul double 1.200000e+01, %845
  %847 = load ptr, ptr %22, align 8, !tbaa !5
  %848 = load i32, ptr %84, align 4, !tbaa !9
  %849 = sext i32 %848 to i64
  %850 = getelementptr inbounds double, ptr %847, i64 %849
  store double %846, ptr %850, align 8, !tbaa !23
  %851 = load ptr, ptr %48, align 8, !tbaa !5
  %852 = load i32, ptr %84, align 4, !tbaa !9
  %853 = sext i32 %852 to i64
  %854 = getelementptr inbounds double, ptr %851, i64 %853
  %855 = load double, ptr %854, align 8, !tbaa !23
  %856 = load ptr, ptr %49, align 8, !tbaa !5
  %857 = load i32, ptr %84, align 4, !tbaa !9
  %858 = sext i32 %857 to i64
  %859 = getelementptr inbounds double, ptr %856, i64 %858
  %860 = load double, ptr %859, align 8, !tbaa !23
  %861 = load ptr, ptr %48, align 8, !tbaa !5
  %862 = load i32, ptr %84, align 4, !tbaa !9
  %863 = sext i32 %862 to i64
  %864 = getelementptr inbounds double, ptr %861, i64 %863
  %865 = load double, ptr %864, align 8, !tbaa !23
  %866 = load ptr, ptr %49, align 8, !tbaa !5
  %867 = load i32, ptr %84, align 4, !tbaa !9
  %868 = sext i32 %867 to i64
  %869 = getelementptr inbounds double, ptr %866, i64 %868
  %870 = load double, ptr %869, align 8, !tbaa !23
  %871 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %855, double noundef %860, double noundef %865, double noundef %870)
  %872 = load double, ptr %86, align 8, !tbaa !23
  %873 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %871, double %872)
  %874 = load ptr, ptr %13, align 8, !tbaa !5
  %875 = load i32, ptr %84, align 4, !tbaa !9
  %876 = sext i32 %875 to i64
  %877 = getelementptr inbounds double, ptr %874, i64 %876
  store double %873, ptr %877, align 8, !tbaa !23
  %878 = load ptr, ptr %50, align 8, !tbaa !5
  %879 = load i32, ptr %84, align 4, !tbaa !9
  %880 = sext i32 %879 to i64
  %881 = getelementptr inbounds double, ptr %878, i64 %880
  %882 = load double, ptr %881, align 8, !tbaa !23
  %883 = load ptr, ptr %51, align 8, !tbaa !5
  %884 = load i32, ptr %84, align 4, !tbaa !9
  %885 = sext i32 %884 to i64
  %886 = getelementptr inbounds double, ptr %883, i64 %885
  %887 = load double, ptr %886, align 8, !tbaa !23
  %888 = load ptr, ptr %50, align 8, !tbaa !5
  %889 = load i32, ptr %84, align 4, !tbaa !9
  %890 = sext i32 %889 to i64
  %891 = getelementptr inbounds double, ptr %888, i64 %890
  %892 = load double, ptr %891, align 8, !tbaa !23
  %893 = load ptr, ptr %51, align 8, !tbaa !5
  %894 = load i32, ptr %84, align 4, !tbaa !9
  %895 = sext i32 %894 to i64
  %896 = getelementptr inbounds double, ptr %893, i64 %895
  %897 = load double, ptr %896, align 8, !tbaa !23
  %898 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %882, double noundef %887, double noundef %892, double noundef %897)
  %899 = load double, ptr %86, align 8, !tbaa !23
  %900 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %898, double %899)
  %901 = load ptr, ptr %15, align 8, !tbaa !5
  %902 = load i32, ptr %84, align 4, !tbaa !9
  %903 = sext i32 %902 to i64
  %904 = getelementptr inbounds double, ptr %901, i64 %903
  store double %900, ptr %904, align 8, !tbaa !23
  %905 = load ptr, ptr %52, align 8, !tbaa !5
  %906 = load i32, ptr %84, align 4, !tbaa !9
  %907 = sext i32 %906 to i64
  %908 = getelementptr inbounds double, ptr %905, i64 %907
  %909 = load double, ptr %908, align 8, !tbaa !23
  %910 = load ptr, ptr %53, align 8, !tbaa !5
  %911 = load i32, ptr %84, align 4, !tbaa !9
  %912 = sext i32 %911 to i64
  %913 = getelementptr inbounds double, ptr %910, i64 %912
  %914 = load double, ptr %913, align 8, !tbaa !23
  %915 = load ptr, ptr %52, align 8, !tbaa !5
  %916 = load i32, ptr %84, align 4, !tbaa !9
  %917 = sext i32 %916 to i64
  %918 = getelementptr inbounds double, ptr %915, i64 %917
  %919 = load double, ptr %918, align 8, !tbaa !23
  %920 = load ptr, ptr %53, align 8, !tbaa !5
  %921 = load i32, ptr %84, align 4, !tbaa !9
  %922 = sext i32 %921 to i64
  %923 = getelementptr inbounds double, ptr %920, i64 %922
  %924 = load double, ptr %923, align 8, !tbaa !23
  %925 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %909, double noundef %914, double noundef %919, double noundef %924)
  %926 = load double, ptr %86, align 8, !tbaa !23
  %927 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %925, double %926)
  %928 = load ptr, ptr %17, align 8, !tbaa !5
  %929 = load i32, ptr %84, align 4, !tbaa !9
  %930 = sext i32 %929 to i64
  %931 = getelementptr inbounds double, ptr %928, i64 %930
  store double %927, ptr %931, align 8, !tbaa !23
  %932 = load ptr, ptr %48, align 8, !tbaa !5
  %933 = load i32, ptr %84, align 4, !tbaa !9
  %934 = sext i32 %933 to i64
  %935 = getelementptr inbounds double, ptr %932, i64 %934
  %936 = load double, ptr %935, align 8, !tbaa !23
  %937 = load ptr, ptr %49, align 8, !tbaa !5
  %938 = load i32, ptr %84, align 4, !tbaa !9
  %939 = sext i32 %938 to i64
  %940 = getelementptr inbounds double, ptr %937, i64 %939
  %941 = load double, ptr %940, align 8, !tbaa !23
  %942 = load ptr, ptr %50, align 8, !tbaa !5
  %943 = load i32, ptr %84, align 4, !tbaa !9
  %944 = sext i32 %943 to i64
  %945 = getelementptr inbounds double, ptr %942, i64 %944
  %946 = load double, ptr %945, align 8, !tbaa !23
  %947 = load ptr, ptr %51, align 8, !tbaa !5
  %948 = load i32, ptr %84, align 4, !tbaa !9
  %949 = sext i32 %948 to i64
  %950 = getelementptr inbounds double, ptr %947, i64 %949
  %951 = load double, ptr %950, align 8, !tbaa !23
  %952 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %936, double noundef %941, double noundef %946, double noundef %951)
  %953 = fmul double 1.200000e+01, %952
  %954 = load ptr, ptr %19, align 8, !tbaa !5
  %955 = load i32, ptr %84, align 4, !tbaa !9
  %956 = sext i32 %955 to i64
  %957 = getelementptr inbounds double, ptr %954, i64 %956
  store double %953, ptr %957, align 8, !tbaa !23
  %958 = load ptr, ptr %48, align 8, !tbaa !5
  %959 = load i32, ptr %84, align 4, !tbaa !9
  %960 = sext i32 %959 to i64
  %961 = getelementptr inbounds double, ptr %958, i64 %960
  %962 = load double, ptr %961, align 8, !tbaa !23
  %963 = load ptr, ptr %49, align 8, !tbaa !5
  %964 = load i32, ptr %84, align 4, !tbaa !9
  %965 = sext i32 %964 to i64
  %966 = getelementptr inbounds double, ptr %963, i64 %965
  %967 = load double, ptr %966, align 8, !tbaa !23
  %968 = load ptr, ptr %52, align 8, !tbaa !5
  %969 = load i32, ptr %84, align 4, !tbaa !9
  %970 = sext i32 %969 to i64
  %971 = getelementptr inbounds double, ptr %968, i64 %970
  %972 = load double, ptr %971, align 8, !tbaa !23
  %973 = load ptr, ptr %53, align 8, !tbaa !5
  %974 = load i32, ptr %84, align 4, !tbaa !9
  %975 = sext i32 %974 to i64
  %976 = getelementptr inbounds double, ptr %973, i64 %975
  %977 = load double, ptr %976, align 8, !tbaa !23
  %978 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %962, double noundef %967, double noundef %972, double noundef %977)
  %979 = fmul double 1.200000e+01, %978
  %980 = load ptr, ptr %21, align 8, !tbaa !5
  %981 = load i32, ptr %84, align 4, !tbaa !9
  %982 = sext i32 %981 to i64
  %983 = getelementptr inbounds double, ptr %980, i64 %982
  store double %979, ptr %983, align 8, !tbaa !23
  %984 = load ptr, ptr %50, align 8, !tbaa !5
  %985 = load i32, ptr %84, align 4, !tbaa !9
  %986 = sext i32 %985 to i64
  %987 = getelementptr inbounds double, ptr %984, i64 %986
  %988 = load double, ptr %987, align 8, !tbaa !23
  %989 = load ptr, ptr %51, align 8, !tbaa !5
  %990 = load i32, ptr %84, align 4, !tbaa !9
  %991 = sext i32 %990 to i64
  %992 = getelementptr inbounds double, ptr %989, i64 %991
  %993 = load double, ptr %992, align 8, !tbaa !23
  %994 = load ptr, ptr %52, align 8, !tbaa !5
  %995 = load i32, ptr %84, align 4, !tbaa !9
  %996 = sext i32 %995 to i64
  %997 = getelementptr inbounds double, ptr %994, i64 %996
  %998 = load double, ptr %997, align 8, !tbaa !23
  %999 = load ptr, ptr %53, align 8, !tbaa !5
  %1000 = load i32, ptr %84, align 4, !tbaa !9
  %1001 = sext i32 %1000 to i64
  %1002 = getelementptr inbounds double, ptr %999, i64 %1001
  %1003 = load double, ptr %1002, align 8, !tbaa !23
  %1004 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %988, double noundef %993, double noundef %998, double noundef %1003)
  %1005 = fmul double 1.200000e+01, %1004
  %1006 = load ptr, ptr %23, align 8, !tbaa !5
  %1007 = load i32, ptr %84, align 4, !tbaa !9
  %1008 = sext i32 %1007 to i64
  %1009 = getelementptr inbounds double, ptr %1006, i64 %1008
  store double %1005, ptr %1009, align 8, !tbaa !23
  %1010 = load ptr, ptr %48, align 8, !tbaa !5
  %1011 = load i32, ptr %84, align 4, !tbaa !9
  %1012 = sext i32 %1011 to i64
  %1013 = getelementptr inbounds double, ptr %1010, i64 %1012
  %1014 = load double, ptr %1013, align 8, !tbaa !23
  %1015 = load ptr, ptr %49, align 8, !tbaa !5
  %1016 = load i32, ptr %84, align 4, !tbaa !9
  %1017 = sext i32 %1016 to i64
  %1018 = getelementptr inbounds double, ptr %1015, i64 %1017
  %1019 = load double, ptr %1018, align 8, !tbaa !23
  %1020 = load ptr, ptr %54, align 8, !tbaa !5
  %1021 = load i32, ptr %84, align 4, !tbaa !9
  %1022 = sext i32 %1021 to i64
  %1023 = getelementptr inbounds double, ptr %1020, i64 %1022
  %1024 = load double, ptr %1023, align 8, !tbaa !23
  %1025 = load ptr, ptr %55, align 8, !tbaa !5
  %1026 = load i32, ptr %84, align 4, !tbaa !9
  %1027 = sext i32 %1026 to i64
  %1028 = getelementptr inbounds double, ptr %1025, i64 %1027
  %1029 = load double, ptr %1028, align 8, !tbaa !23
  %1030 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1014, double noundef %1019, double noundef %1024, double noundef %1029)
  %1031 = load ptr, ptr %48, align 8, !tbaa !5
  %1032 = load i32, ptr %84, align 4, !tbaa !9
  %1033 = sext i32 %1032 to i64
  %1034 = getelementptr inbounds double, ptr %1031, i64 %1033
  %1035 = load double, ptr %1034, align 8, !tbaa !23
  %1036 = load ptr, ptr %49, align 8, !tbaa !5
  %1037 = load i32, ptr %84, align 4, !tbaa !9
  %1038 = sext i32 %1037 to i64
  %1039 = getelementptr inbounds double, ptr %1036, i64 %1038
  %1040 = load double, ptr %1039, align 8, !tbaa !23
  %1041 = load ptr, ptr %54, align 8, !tbaa !5
  %1042 = load i32, ptr %84, align 4, !tbaa !9
  %1043 = sext i32 %1042 to i64
  %1044 = getelementptr inbounds double, ptr %1041, i64 %1043
  %1045 = load double, ptr %1044, align 8, !tbaa !23
  %1046 = load ptr, ptr %55, align 8, !tbaa !5
  %1047 = load i32, ptr %84, align 4, !tbaa !9
  %1048 = sext i32 %1047 to i64
  %1049 = getelementptr inbounds double, ptr %1046, i64 %1048
  %1050 = load double, ptr %1049, align 8, !tbaa !23
  %1051 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1035, double noundef %1040, double noundef %1045, double noundef %1050)
  %1052 = fmul double 1.200000e+01, %1051
  %1053 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1030, double %1052)
  %1054 = load double, ptr %87, align 8, !tbaa !23
  %1055 = fadd double %1053, %1054
  %1056 = load ptr, ptr %24, align 8, !tbaa !5
  %1057 = load i32, ptr %84, align 4, !tbaa !9
  %1058 = sext i32 %1057 to i64
  %1059 = getelementptr inbounds double, ptr %1056, i64 %1058
  store double %1055, ptr %1059, align 8, !tbaa !23
  %1060 = load ptr, ptr %50, align 8, !tbaa !5
  %1061 = load i32, ptr %84, align 4, !tbaa !9
  %1062 = sext i32 %1061 to i64
  %1063 = getelementptr inbounds double, ptr %1060, i64 %1062
  %1064 = load double, ptr %1063, align 8, !tbaa !23
  %1065 = load ptr, ptr %51, align 8, !tbaa !5
  %1066 = load i32, ptr %84, align 4, !tbaa !9
  %1067 = sext i32 %1066 to i64
  %1068 = getelementptr inbounds double, ptr %1065, i64 %1067
  %1069 = load double, ptr %1068, align 8, !tbaa !23
  %1070 = load ptr, ptr %56, align 8, !tbaa !5
  %1071 = load i32, ptr %84, align 4, !tbaa !9
  %1072 = sext i32 %1071 to i64
  %1073 = getelementptr inbounds double, ptr %1070, i64 %1072
  %1074 = load double, ptr %1073, align 8, !tbaa !23
  %1075 = load ptr, ptr %57, align 8, !tbaa !5
  %1076 = load i32, ptr %84, align 4, !tbaa !9
  %1077 = sext i32 %1076 to i64
  %1078 = getelementptr inbounds double, ptr %1075, i64 %1077
  %1079 = load double, ptr %1078, align 8, !tbaa !23
  %1080 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1064, double noundef %1069, double noundef %1074, double noundef %1079)
  %1081 = load ptr, ptr %50, align 8, !tbaa !5
  %1082 = load i32, ptr %84, align 4, !tbaa !9
  %1083 = sext i32 %1082 to i64
  %1084 = getelementptr inbounds double, ptr %1081, i64 %1083
  %1085 = load double, ptr %1084, align 8, !tbaa !23
  %1086 = load ptr, ptr %51, align 8, !tbaa !5
  %1087 = load i32, ptr %84, align 4, !tbaa !9
  %1088 = sext i32 %1087 to i64
  %1089 = getelementptr inbounds double, ptr %1086, i64 %1088
  %1090 = load double, ptr %1089, align 8, !tbaa !23
  %1091 = load ptr, ptr %56, align 8, !tbaa !5
  %1092 = load i32, ptr %84, align 4, !tbaa !9
  %1093 = sext i32 %1092 to i64
  %1094 = getelementptr inbounds double, ptr %1091, i64 %1093
  %1095 = load double, ptr %1094, align 8, !tbaa !23
  %1096 = load ptr, ptr %57, align 8, !tbaa !5
  %1097 = load i32, ptr %84, align 4, !tbaa !9
  %1098 = sext i32 %1097 to i64
  %1099 = getelementptr inbounds double, ptr %1096, i64 %1098
  %1100 = load double, ptr %1099, align 8, !tbaa !23
  %1101 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1085, double noundef %1090, double noundef %1095, double noundef %1100)
  %1102 = fmul double 1.200000e+01, %1101
  %1103 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1080, double %1102)
  %1104 = load double, ptr %87, align 8, !tbaa !23
  %1105 = fadd double %1103, %1104
  %1106 = load ptr, ptr %26, align 8, !tbaa !5
  %1107 = load i32, ptr %84, align 4, !tbaa !9
  %1108 = sext i32 %1107 to i64
  %1109 = getelementptr inbounds double, ptr %1106, i64 %1108
  store double %1105, ptr %1109, align 8, !tbaa !23
  %1110 = load ptr, ptr %52, align 8, !tbaa !5
  %1111 = load i32, ptr %84, align 4, !tbaa !9
  %1112 = sext i32 %1111 to i64
  %1113 = getelementptr inbounds double, ptr %1110, i64 %1112
  %1114 = load double, ptr %1113, align 8, !tbaa !23
  %1115 = load ptr, ptr %53, align 8, !tbaa !5
  %1116 = load i32, ptr %84, align 4, !tbaa !9
  %1117 = sext i32 %1116 to i64
  %1118 = getelementptr inbounds double, ptr %1115, i64 %1117
  %1119 = load double, ptr %1118, align 8, !tbaa !23
  %1120 = load ptr, ptr %58, align 8, !tbaa !5
  %1121 = load i32, ptr %84, align 4, !tbaa !9
  %1122 = sext i32 %1121 to i64
  %1123 = getelementptr inbounds double, ptr %1120, i64 %1122
  %1124 = load double, ptr %1123, align 8, !tbaa !23
  %1125 = load ptr, ptr %59, align 8, !tbaa !5
  %1126 = load i32, ptr %84, align 4, !tbaa !9
  %1127 = sext i32 %1126 to i64
  %1128 = getelementptr inbounds double, ptr %1125, i64 %1127
  %1129 = load double, ptr %1128, align 8, !tbaa !23
  %1130 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1114, double noundef %1119, double noundef %1124, double noundef %1129)
  %1131 = load ptr, ptr %52, align 8, !tbaa !5
  %1132 = load i32, ptr %84, align 4, !tbaa !9
  %1133 = sext i32 %1132 to i64
  %1134 = getelementptr inbounds double, ptr %1131, i64 %1133
  %1135 = load double, ptr %1134, align 8, !tbaa !23
  %1136 = load ptr, ptr %53, align 8, !tbaa !5
  %1137 = load i32, ptr %84, align 4, !tbaa !9
  %1138 = sext i32 %1137 to i64
  %1139 = getelementptr inbounds double, ptr %1136, i64 %1138
  %1140 = load double, ptr %1139, align 8, !tbaa !23
  %1141 = load ptr, ptr %58, align 8, !tbaa !5
  %1142 = load i32, ptr %84, align 4, !tbaa !9
  %1143 = sext i32 %1142 to i64
  %1144 = getelementptr inbounds double, ptr %1141, i64 %1143
  %1145 = load double, ptr %1144, align 8, !tbaa !23
  %1146 = load ptr, ptr %59, align 8, !tbaa !5
  %1147 = load i32, ptr %84, align 4, !tbaa !9
  %1148 = sext i32 %1147 to i64
  %1149 = getelementptr inbounds double, ptr %1146, i64 %1148
  %1150 = load double, ptr %1149, align 8, !tbaa !23
  %1151 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1135, double noundef %1140, double noundef %1145, double noundef %1150)
  %1152 = fmul double 1.200000e+01, %1151
  %1153 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1130, double %1152)
  %1154 = load double, ptr %87, align 8, !tbaa !23
  %1155 = fadd double %1153, %1154
  %1156 = load ptr, ptr %28, align 8, !tbaa !5
  %1157 = load i32, ptr %84, align 4, !tbaa !9
  %1158 = sext i32 %1157 to i64
  %1159 = getelementptr inbounds double, ptr %1156, i64 %1158
  store double %1155, ptr %1159, align 8, !tbaa !23
  %1160 = load ptr, ptr %48, align 8, !tbaa !5
  %1161 = load i32, ptr %84, align 4, !tbaa !9
  %1162 = sext i32 %1161 to i64
  %1163 = getelementptr inbounds double, ptr %1160, i64 %1162
  %1164 = load double, ptr %1163, align 8, !tbaa !23
  %1165 = load ptr, ptr %49, align 8, !tbaa !5
  %1166 = load i32, ptr %84, align 4, !tbaa !9
  %1167 = sext i32 %1166 to i64
  %1168 = getelementptr inbounds double, ptr %1165, i64 %1167
  %1169 = load double, ptr %1168, align 8, !tbaa !23
  %1170 = load ptr, ptr %56, align 8, !tbaa !5
  %1171 = load i32, ptr %84, align 4, !tbaa !9
  %1172 = sext i32 %1171 to i64
  %1173 = getelementptr inbounds double, ptr %1170, i64 %1172
  %1174 = load double, ptr %1173, align 8, !tbaa !23
  %1175 = load ptr, ptr %57, align 8, !tbaa !5
  %1176 = load i32, ptr %84, align 4, !tbaa !9
  %1177 = sext i32 %1176 to i64
  %1178 = getelementptr inbounds double, ptr %1175, i64 %1177
  %1179 = load double, ptr %1178, align 8, !tbaa !23
  %1180 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1164, double noundef %1169, double noundef %1174, double noundef %1179)
  %1181 = load ptr, ptr %50, align 8, !tbaa !5
  %1182 = load i32, ptr %84, align 4, !tbaa !9
  %1183 = sext i32 %1182 to i64
  %1184 = getelementptr inbounds double, ptr %1181, i64 %1183
  %1185 = load double, ptr %1184, align 8, !tbaa !23
  %1186 = load ptr, ptr %51, align 8, !tbaa !5
  %1187 = load i32, ptr %84, align 4, !tbaa !9
  %1188 = sext i32 %1187 to i64
  %1189 = getelementptr inbounds double, ptr %1186, i64 %1188
  %1190 = load double, ptr %1189, align 8, !tbaa !23
  %1191 = load ptr, ptr %54, align 8, !tbaa !5
  %1192 = load i32, ptr %84, align 4, !tbaa !9
  %1193 = sext i32 %1192 to i64
  %1194 = getelementptr inbounds double, ptr %1191, i64 %1193
  %1195 = load double, ptr %1194, align 8, !tbaa !23
  %1196 = load ptr, ptr %55, align 8, !tbaa !5
  %1197 = load i32, ptr %84, align 4, !tbaa !9
  %1198 = sext i32 %1197 to i64
  %1199 = getelementptr inbounds double, ptr %1196, i64 %1198
  %1200 = load double, ptr %1199, align 8, !tbaa !23
  %1201 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1185, double noundef %1190, double noundef %1195, double noundef %1200)
  %1202 = fmul double 1.200000e+01, %1201
  %1203 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1180, double %1202)
  %1204 = load ptr, ptr %30, align 8, !tbaa !5
  %1205 = load i32, ptr %84, align 4, !tbaa !9
  %1206 = sext i32 %1205 to i64
  %1207 = getelementptr inbounds double, ptr %1204, i64 %1206
  store double %1203, ptr %1207, align 8, !tbaa !23
  %1208 = load ptr, ptr %48, align 8, !tbaa !5
  %1209 = load i32, ptr %84, align 4, !tbaa !9
  %1210 = sext i32 %1209 to i64
  %1211 = getelementptr inbounds double, ptr %1208, i64 %1210
  %1212 = load double, ptr %1211, align 8, !tbaa !23
  %1213 = load ptr, ptr %49, align 8, !tbaa !5
  %1214 = load i32, ptr %84, align 4, !tbaa !9
  %1215 = sext i32 %1214 to i64
  %1216 = getelementptr inbounds double, ptr %1213, i64 %1215
  %1217 = load double, ptr %1216, align 8, !tbaa !23
  %1218 = load ptr, ptr %58, align 8, !tbaa !5
  %1219 = load i32, ptr %84, align 4, !tbaa !9
  %1220 = sext i32 %1219 to i64
  %1221 = getelementptr inbounds double, ptr %1218, i64 %1220
  %1222 = load double, ptr %1221, align 8, !tbaa !23
  %1223 = load ptr, ptr %59, align 8, !tbaa !5
  %1224 = load i32, ptr %84, align 4, !tbaa !9
  %1225 = sext i32 %1224 to i64
  %1226 = getelementptr inbounds double, ptr %1223, i64 %1225
  %1227 = load double, ptr %1226, align 8, !tbaa !23
  %1228 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1212, double noundef %1217, double noundef %1222, double noundef %1227)
  %1229 = load ptr, ptr %52, align 8, !tbaa !5
  %1230 = load i32, ptr %84, align 4, !tbaa !9
  %1231 = sext i32 %1230 to i64
  %1232 = getelementptr inbounds double, ptr %1229, i64 %1231
  %1233 = load double, ptr %1232, align 8, !tbaa !23
  %1234 = load ptr, ptr %53, align 8, !tbaa !5
  %1235 = load i32, ptr %84, align 4, !tbaa !9
  %1236 = sext i32 %1235 to i64
  %1237 = getelementptr inbounds double, ptr %1234, i64 %1236
  %1238 = load double, ptr %1237, align 8, !tbaa !23
  %1239 = load ptr, ptr %54, align 8, !tbaa !5
  %1240 = load i32, ptr %84, align 4, !tbaa !9
  %1241 = sext i32 %1240 to i64
  %1242 = getelementptr inbounds double, ptr %1239, i64 %1241
  %1243 = load double, ptr %1242, align 8, !tbaa !23
  %1244 = load ptr, ptr %55, align 8, !tbaa !5
  %1245 = load i32, ptr %84, align 4, !tbaa !9
  %1246 = sext i32 %1245 to i64
  %1247 = getelementptr inbounds double, ptr %1244, i64 %1246
  %1248 = load double, ptr %1247, align 8, !tbaa !23
  %1249 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1233, double noundef %1238, double noundef %1243, double noundef %1248)
  %1250 = fmul double 1.200000e+01, %1249
  %1251 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1228, double %1250)
  %1252 = load ptr, ptr %32, align 8, !tbaa !5
  %1253 = load i32, ptr %84, align 4, !tbaa !9
  %1254 = sext i32 %1253 to i64
  %1255 = getelementptr inbounds double, ptr %1252, i64 %1254
  store double %1251, ptr %1255, align 8, !tbaa !23
  %1256 = load ptr, ptr %50, align 8, !tbaa !5
  %1257 = load i32, ptr %84, align 4, !tbaa !9
  %1258 = sext i32 %1257 to i64
  %1259 = getelementptr inbounds double, ptr %1256, i64 %1258
  %1260 = load double, ptr %1259, align 8, !tbaa !23
  %1261 = load ptr, ptr %51, align 8, !tbaa !5
  %1262 = load i32, ptr %84, align 4, !tbaa !9
  %1263 = sext i32 %1262 to i64
  %1264 = getelementptr inbounds double, ptr %1261, i64 %1263
  %1265 = load double, ptr %1264, align 8, !tbaa !23
  %1266 = load ptr, ptr %58, align 8, !tbaa !5
  %1267 = load i32, ptr %84, align 4, !tbaa !9
  %1268 = sext i32 %1267 to i64
  %1269 = getelementptr inbounds double, ptr %1266, i64 %1268
  %1270 = load double, ptr %1269, align 8, !tbaa !23
  %1271 = load ptr, ptr %59, align 8, !tbaa !5
  %1272 = load i32, ptr %84, align 4, !tbaa !9
  %1273 = sext i32 %1272 to i64
  %1274 = getelementptr inbounds double, ptr %1271, i64 %1273
  %1275 = load double, ptr %1274, align 8, !tbaa !23
  %1276 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1260, double noundef %1265, double noundef %1270, double noundef %1275)
  %1277 = load ptr, ptr %52, align 8, !tbaa !5
  %1278 = load i32, ptr %84, align 4, !tbaa !9
  %1279 = sext i32 %1278 to i64
  %1280 = getelementptr inbounds double, ptr %1277, i64 %1279
  %1281 = load double, ptr %1280, align 8, !tbaa !23
  %1282 = load ptr, ptr %53, align 8, !tbaa !5
  %1283 = load i32, ptr %84, align 4, !tbaa !9
  %1284 = sext i32 %1283 to i64
  %1285 = getelementptr inbounds double, ptr %1282, i64 %1284
  %1286 = load double, ptr %1285, align 8, !tbaa !23
  %1287 = load ptr, ptr %56, align 8, !tbaa !5
  %1288 = load i32, ptr %84, align 4, !tbaa !9
  %1289 = sext i32 %1288 to i64
  %1290 = getelementptr inbounds double, ptr %1287, i64 %1289
  %1291 = load double, ptr %1290, align 8, !tbaa !23
  %1292 = load ptr, ptr %57, align 8, !tbaa !5
  %1293 = load i32, ptr %84, align 4, !tbaa !9
  %1294 = sext i32 %1293 to i64
  %1295 = getelementptr inbounds double, ptr %1292, i64 %1294
  %1296 = load double, ptr %1295, align 8, !tbaa !23
  %1297 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1281, double noundef %1286, double noundef %1291, double noundef %1296)
  %1298 = fmul double 1.200000e+01, %1297
  %1299 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1276, double %1298)
  %1300 = load ptr, ptr %34, align 8, !tbaa !5
  %1301 = load i32, ptr %84, align 4, !tbaa !9
  %1302 = sext i32 %1301 to i64
  %1303 = getelementptr inbounds double, ptr %1300, i64 %1302
  store double %1299, ptr %1303, align 8, !tbaa !23
  %1304 = load ptr, ptr %48, align 8, !tbaa !5
  %1305 = load i32, ptr %84, align 4, !tbaa !9
  %1306 = sext i32 %1305 to i64
  %1307 = getelementptr inbounds double, ptr %1304, i64 %1306
  %1308 = load double, ptr %1307, align 8, !tbaa !23
  %1309 = load ptr, ptr %49, align 8, !tbaa !5
  %1310 = load i32, ptr %84, align 4, !tbaa !9
  %1311 = sext i32 %1310 to i64
  %1312 = getelementptr inbounds double, ptr %1309, i64 %1311
  %1313 = load double, ptr %1312, align 8, !tbaa !23
  %1314 = load ptr, ptr %54, align 8, !tbaa !5
  %1315 = load i32, ptr %84, align 4, !tbaa !9
  %1316 = sext i32 %1315 to i64
  %1317 = getelementptr inbounds double, ptr %1314, i64 %1316
  %1318 = load double, ptr %1317, align 8, !tbaa !23
  %1319 = load ptr, ptr %55, align 8, !tbaa !5
  %1320 = load i32, ptr %84, align 4, !tbaa !9
  %1321 = sext i32 %1320 to i64
  %1322 = getelementptr inbounds double, ptr %1319, i64 %1321
  %1323 = load double, ptr %1322, align 8, !tbaa !23
  %1324 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1308, double noundef %1313, double noundef %1318, double noundef %1323)
  %1325 = load ptr, ptr %48, align 8, !tbaa !5
  %1326 = load i32, ptr %84, align 4, !tbaa !9
  %1327 = sext i32 %1326 to i64
  %1328 = getelementptr inbounds double, ptr %1325, i64 %1327
  %1329 = load double, ptr %1328, align 8, !tbaa !23
  %1330 = load ptr, ptr %49, align 8, !tbaa !5
  %1331 = load i32, ptr %84, align 4, !tbaa !9
  %1332 = sext i32 %1331 to i64
  %1333 = getelementptr inbounds double, ptr %1330, i64 %1332
  %1334 = load double, ptr %1333, align 8, !tbaa !23
  %1335 = load ptr, ptr %54, align 8, !tbaa !5
  %1336 = load i32, ptr %84, align 4, !tbaa !9
  %1337 = sext i32 %1336 to i64
  %1338 = getelementptr inbounds double, ptr %1335, i64 %1337
  %1339 = load double, ptr %1338, align 8, !tbaa !23
  %1340 = load ptr, ptr %55, align 8, !tbaa !5
  %1341 = load i32, ptr %84, align 4, !tbaa !9
  %1342 = sext i32 %1341 to i64
  %1343 = getelementptr inbounds double, ptr %1340, i64 %1342
  %1344 = load double, ptr %1343, align 8, !tbaa !23
  %1345 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1329, double noundef %1334, double noundef %1339, double noundef %1344)
  %1346 = fmul double 1.200000e+01, %1345
  %1347 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1324, double %1346)
  %1348 = load double, ptr %88, align 8, !tbaa !23
  %1349 = fadd double %1347, %1348
  %1350 = load ptr, ptr %25, align 8, !tbaa !5
  %1351 = load i32, ptr %84, align 4, !tbaa !9
  %1352 = sext i32 %1351 to i64
  %1353 = getelementptr inbounds double, ptr %1350, i64 %1352
  store double %1349, ptr %1353, align 8, !tbaa !23
  %1354 = load ptr, ptr %50, align 8, !tbaa !5
  %1355 = load i32, ptr %84, align 4, !tbaa !9
  %1356 = sext i32 %1355 to i64
  %1357 = getelementptr inbounds double, ptr %1354, i64 %1356
  %1358 = load double, ptr %1357, align 8, !tbaa !23
  %1359 = load ptr, ptr %51, align 8, !tbaa !5
  %1360 = load i32, ptr %84, align 4, !tbaa !9
  %1361 = sext i32 %1360 to i64
  %1362 = getelementptr inbounds double, ptr %1359, i64 %1361
  %1363 = load double, ptr %1362, align 8, !tbaa !23
  %1364 = load ptr, ptr %56, align 8, !tbaa !5
  %1365 = load i32, ptr %84, align 4, !tbaa !9
  %1366 = sext i32 %1365 to i64
  %1367 = getelementptr inbounds double, ptr %1364, i64 %1366
  %1368 = load double, ptr %1367, align 8, !tbaa !23
  %1369 = load ptr, ptr %57, align 8, !tbaa !5
  %1370 = load i32, ptr %84, align 4, !tbaa !9
  %1371 = sext i32 %1370 to i64
  %1372 = getelementptr inbounds double, ptr %1369, i64 %1371
  %1373 = load double, ptr %1372, align 8, !tbaa !23
  %1374 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1358, double noundef %1363, double noundef %1368, double noundef %1373)
  %1375 = load ptr, ptr %50, align 8, !tbaa !5
  %1376 = load i32, ptr %84, align 4, !tbaa !9
  %1377 = sext i32 %1376 to i64
  %1378 = getelementptr inbounds double, ptr %1375, i64 %1377
  %1379 = load double, ptr %1378, align 8, !tbaa !23
  %1380 = load ptr, ptr %51, align 8, !tbaa !5
  %1381 = load i32, ptr %84, align 4, !tbaa !9
  %1382 = sext i32 %1381 to i64
  %1383 = getelementptr inbounds double, ptr %1380, i64 %1382
  %1384 = load double, ptr %1383, align 8, !tbaa !23
  %1385 = load ptr, ptr %56, align 8, !tbaa !5
  %1386 = load i32, ptr %84, align 4, !tbaa !9
  %1387 = sext i32 %1386 to i64
  %1388 = getelementptr inbounds double, ptr %1385, i64 %1387
  %1389 = load double, ptr %1388, align 8, !tbaa !23
  %1390 = load ptr, ptr %57, align 8, !tbaa !5
  %1391 = load i32, ptr %84, align 4, !tbaa !9
  %1392 = sext i32 %1391 to i64
  %1393 = getelementptr inbounds double, ptr %1390, i64 %1392
  %1394 = load double, ptr %1393, align 8, !tbaa !23
  %1395 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1379, double noundef %1384, double noundef %1389, double noundef %1394)
  %1396 = fmul double 1.200000e+01, %1395
  %1397 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1374, double %1396)
  %1398 = load double, ptr %88, align 8, !tbaa !23
  %1399 = fadd double %1397, %1398
  %1400 = load ptr, ptr %27, align 8, !tbaa !5
  %1401 = load i32, ptr %84, align 4, !tbaa !9
  %1402 = sext i32 %1401 to i64
  %1403 = getelementptr inbounds double, ptr %1400, i64 %1402
  store double %1399, ptr %1403, align 8, !tbaa !23
  %1404 = load ptr, ptr %52, align 8, !tbaa !5
  %1405 = load i32, ptr %84, align 4, !tbaa !9
  %1406 = sext i32 %1405 to i64
  %1407 = getelementptr inbounds double, ptr %1404, i64 %1406
  %1408 = load double, ptr %1407, align 8, !tbaa !23
  %1409 = load ptr, ptr %53, align 8, !tbaa !5
  %1410 = load i32, ptr %84, align 4, !tbaa !9
  %1411 = sext i32 %1410 to i64
  %1412 = getelementptr inbounds double, ptr %1409, i64 %1411
  %1413 = load double, ptr %1412, align 8, !tbaa !23
  %1414 = load ptr, ptr %58, align 8, !tbaa !5
  %1415 = load i32, ptr %84, align 4, !tbaa !9
  %1416 = sext i32 %1415 to i64
  %1417 = getelementptr inbounds double, ptr %1414, i64 %1416
  %1418 = load double, ptr %1417, align 8, !tbaa !23
  %1419 = load ptr, ptr %59, align 8, !tbaa !5
  %1420 = load i32, ptr %84, align 4, !tbaa !9
  %1421 = sext i32 %1420 to i64
  %1422 = getelementptr inbounds double, ptr %1419, i64 %1421
  %1423 = load double, ptr %1422, align 8, !tbaa !23
  %1424 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1408, double noundef %1413, double noundef %1418, double noundef %1423)
  %1425 = load ptr, ptr %52, align 8, !tbaa !5
  %1426 = load i32, ptr %84, align 4, !tbaa !9
  %1427 = sext i32 %1426 to i64
  %1428 = getelementptr inbounds double, ptr %1425, i64 %1427
  %1429 = load double, ptr %1428, align 8, !tbaa !23
  %1430 = load ptr, ptr %53, align 8, !tbaa !5
  %1431 = load i32, ptr %84, align 4, !tbaa !9
  %1432 = sext i32 %1431 to i64
  %1433 = getelementptr inbounds double, ptr %1430, i64 %1432
  %1434 = load double, ptr %1433, align 8, !tbaa !23
  %1435 = load ptr, ptr %58, align 8, !tbaa !5
  %1436 = load i32, ptr %84, align 4, !tbaa !9
  %1437 = sext i32 %1436 to i64
  %1438 = getelementptr inbounds double, ptr %1435, i64 %1437
  %1439 = load double, ptr %1438, align 8, !tbaa !23
  %1440 = load ptr, ptr %59, align 8, !tbaa !5
  %1441 = load i32, ptr %84, align 4, !tbaa !9
  %1442 = sext i32 %1441 to i64
  %1443 = getelementptr inbounds double, ptr %1440, i64 %1442
  %1444 = load double, ptr %1443, align 8, !tbaa !23
  %1445 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1429, double noundef %1434, double noundef %1439, double noundef %1444)
  %1446 = fmul double 1.200000e+01, %1445
  %1447 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1424, double %1446)
  %1448 = load double, ptr %88, align 8, !tbaa !23
  %1449 = fadd double %1447, %1448
  %1450 = load ptr, ptr %29, align 8, !tbaa !5
  %1451 = load i32, ptr %84, align 4, !tbaa !9
  %1452 = sext i32 %1451 to i64
  %1453 = getelementptr inbounds double, ptr %1450, i64 %1452
  store double %1449, ptr %1453, align 8, !tbaa !23
  %1454 = load ptr, ptr %48, align 8, !tbaa !5
  %1455 = load i32, ptr %84, align 4, !tbaa !9
  %1456 = sext i32 %1455 to i64
  %1457 = getelementptr inbounds double, ptr %1454, i64 %1456
  %1458 = load double, ptr %1457, align 8, !tbaa !23
  %1459 = load ptr, ptr %49, align 8, !tbaa !5
  %1460 = load i32, ptr %84, align 4, !tbaa !9
  %1461 = sext i32 %1460 to i64
  %1462 = getelementptr inbounds double, ptr %1459, i64 %1461
  %1463 = load double, ptr %1462, align 8, !tbaa !23
  %1464 = load ptr, ptr %56, align 8, !tbaa !5
  %1465 = load i32, ptr %84, align 4, !tbaa !9
  %1466 = sext i32 %1465 to i64
  %1467 = getelementptr inbounds double, ptr %1464, i64 %1466
  %1468 = load double, ptr %1467, align 8, !tbaa !23
  %1469 = load ptr, ptr %57, align 8, !tbaa !5
  %1470 = load i32, ptr %84, align 4, !tbaa !9
  %1471 = sext i32 %1470 to i64
  %1472 = getelementptr inbounds double, ptr %1469, i64 %1471
  %1473 = load double, ptr %1472, align 8, !tbaa !23
  %1474 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1458, double noundef %1463, double noundef %1468, double noundef %1473)
  %1475 = load ptr, ptr %50, align 8, !tbaa !5
  %1476 = load i32, ptr %84, align 4, !tbaa !9
  %1477 = sext i32 %1476 to i64
  %1478 = getelementptr inbounds double, ptr %1475, i64 %1477
  %1479 = load double, ptr %1478, align 8, !tbaa !23
  %1480 = load ptr, ptr %51, align 8, !tbaa !5
  %1481 = load i32, ptr %84, align 4, !tbaa !9
  %1482 = sext i32 %1481 to i64
  %1483 = getelementptr inbounds double, ptr %1480, i64 %1482
  %1484 = load double, ptr %1483, align 8, !tbaa !23
  %1485 = load ptr, ptr %54, align 8, !tbaa !5
  %1486 = load i32, ptr %84, align 4, !tbaa !9
  %1487 = sext i32 %1486 to i64
  %1488 = getelementptr inbounds double, ptr %1485, i64 %1487
  %1489 = load double, ptr %1488, align 8, !tbaa !23
  %1490 = load ptr, ptr %55, align 8, !tbaa !5
  %1491 = load i32, ptr %84, align 4, !tbaa !9
  %1492 = sext i32 %1491 to i64
  %1493 = getelementptr inbounds double, ptr %1490, i64 %1492
  %1494 = load double, ptr %1493, align 8, !tbaa !23
  %1495 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1479, double noundef %1484, double noundef %1489, double noundef %1494)
  %1496 = fmul double 1.200000e+01, %1495
  %1497 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1474, double %1496)
  %1498 = load ptr, ptr %31, align 8, !tbaa !5
  %1499 = load i32, ptr %84, align 4, !tbaa !9
  %1500 = sext i32 %1499 to i64
  %1501 = getelementptr inbounds double, ptr %1498, i64 %1500
  store double %1497, ptr %1501, align 8, !tbaa !23
  %1502 = load ptr, ptr %48, align 8, !tbaa !5
  %1503 = load i32, ptr %84, align 4, !tbaa !9
  %1504 = sext i32 %1503 to i64
  %1505 = getelementptr inbounds double, ptr %1502, i64 %1504
  %1506 = load double, ptr %1505, align 8, !tbaa !23
  %1507 = load ptr, ptr %49, align 8, !tbaa !5
  %1508 = load i32, ptr %84, align 4, !tbaa !9
  %1509 = sext i32 %1508 to i64
  %1510 = getelementptr inbounds double, ptr %1507, i64 %1509
  %1511 = load double, ptr %1510, align 8, !tbaa !23
  %1512 = load ptr, ptr %58, align 8, !tbaa !5
  %1513 = load i32, ptr %84, align 4, !tbaa !9
  %1514 = sext i32 %1513 to i64
  %1515 = getelementptr inbounds double, ptr %1512, i64 %1514
  %1516 = load double, ptr %1515, align 8, !tbaa !23
  %1517 = load ptr, ptr %59, align 8, !tbaa !5
  %1518 = load i32, ptr %84, align 4, !tbaa !9
  %1519 = sext i32 %1518 to i64
  %1520 = getelementptr inbounds double, ptr %1517, i64 %1519
  %1521 = load double, ptr %1520, align 8, !tbaa !23
  %1522 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1506, double noundef %1511, double noundef %1516, double noundef %1521)
  %1523 = load ptr, ptr %52, align 8, !tbaa !5
  %1524 = load i32, ptr %84, align 4, !tbaa !9
  %1525 = sext i32 %1524 to i64
  %1526 = getelementptr inbounds double, ptr %1523, i64 %1525
  %1527 = load double, ptr %1526, align 8, !tbaa !23
  %1528 = load ptr, ptr %53, align 8, !tbaa !5
  %1529 = load i32, ptr %84, align 4, !tbaa !9
  %1530 = sext i32 %1529 to i64
  %1531 = getelementptr inbounds double, ptr %1528, i64 %1530
  %1532 = load double, ptr %1531, align 8, !tbaa !23
  %1533 = load ptr, ptr %54, align 8, !tbaa !5
  %1534 = load i32, ptr %84, align 4, !tbaa !9
  %1535 = sext i32 %1534 to i64
  %1536 = getelementptr inbounds double, ptr %1533, i64 %1535
  %1537 = load double, ptr %1536, align 8, !tbaa !23
  %1538 = load ptr, ptr %55, align 8, !tbaa !5
  %1539 = load i32, ptr %84, align 4, !tbaa !9
  %1540 = sext i32 %1539 to i64
  %1541 = getelementptr inbounds double, ptr %1538, i64 %1540
  %1542 = load double, ptr %1541, align 8, !tbaa !23
  %1543 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1527, double noundef %1532, double noundef %1537, double noundef %1542)
  %1544 = fmul double 1.200000e+01, %1543
  %1545 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1522, double %1544)
  %1546 = load ptr, ptr %33, align 8, !tbaa !5
  %1547 = load i32, ptr %84, align 4, !tbaa !9
  %1548 = sext i32 %1547 to i64
  %1549 = getelementptr inbounds double, ptr %1546, i64 %1548
  store double %1545, ptr %1549, align 8, !tbaa !23
  %1550 = load ptr, ptr %50, align 8, !tbaa !5
  %1551 = load i32, ptr %84, align 4, !tbaa !9
  %1552 = sext i32 %1551 to i64
  %1553 = getelementptr inbounds double, ptr %1550, i64 %1552
  %1554 = load double, ptr %1553, align 8, !tbaa !23
  %1555 = load ptr, ptr %51, align 8, !tbaa !5
  %1556 = load i32, ptr %84, align 4, !tbaa !9
  %1557 = sext i32 %1556 to i64
  %1558 = getelementptr inbounds double, ptr %1555, i64 %1557
  %1559 = load double, ptr %1558, align 8, !tbaa !23
  %1560 = load ptr, ptr %58, align 8, !tbaa !5
  %1561 = load i32, ptr %84, align 4, !tbaa !9
  %1562 = sext i32 %1561 to i64
  %1563 = getelementptr inbounds double, ptr %1560, i64 %1562
  %1564 = load double, ptr %1563, align 8, !tbaa !23
  %1565 = load ptr, ptr %59, align 8, !tbaa !5
  %1566 = load i32, ptr %84, align 4, !tbaa !9
  %1567 = sext i32 %1566 to i64
  %1568 = getelementptr inbounds double, ptr %1565, i64 %1567
  %1569 = load double, ptr %1568, align 8, !tbaa !23
  %1570 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1554, double noundef %1559, double noundef %1564, double noundef %1569)
  %1571 = load ptr, ptr %52, align 8, !tbaa !5
  %1572 = load i32, ptr %84, align 4, !tbaa !9
  %1573 = sext i32 %1572 to i64
  %1574 = getelementptr inbounds double, ptr %1571, i64 %1573
  %1575 = load double, ptr %1574, align 8, !tbaa !23
  %1576 = load ptr, ptr %53, align 8, !tbaa !5
  %1577 = load i32, ptr %84, align 4, !tbaa !9
  %1578 = sext i32 %1577 to i64
  %1579 = getelementptr inbounds double, ptr %1576, i64 %1578
  %1580 = load double, ptr %1579, align 8, !tbaa !23
  %1581 = load ptr, ptr %56, align 8, !tbaa !5
  %1582 = load i32, ptr %84, align 4, !tbaa !9
  %1583 = sext i32 %1582 to i64
  %1584 = getelementptr inbounds double, ptr %1581, i64 %1583
  %1585 = load double, ptr %1584, align 8, !tbaa !23
  %1586 = load ptr, ptr %57, align 8, !tbaa !5
  %1587 = load i32, ptr %84, align 4, !tbaa !9
  %1588 = sext i32 %1587 to i64
  %1589 = getelementptr inbounds double, ptr %1586, i64 %1588
  %1590 = load double, ptr %1589, align 8, !tbaa !23
  %1591 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1575, double noundef %1580, double noundef %1585, double noundef %1590)
  %1592 = fmul double 1.200000e+01, %1591
  %1593 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %1570, double %1592)
  %1594 = load ptr, ptr %35, align 8, !tbaa !5
  %1595 = load i32, ptr %84, align 4, !tbaa !9
  %1596 = sext i32 %1595 to i64
  %1597 = getelementptr inbounds double, ptr %1594, i64 %1596
  store double %1593, ptr %1597, align 8, !tbaa !23
  %1598 = load ptr, ptr %60, align 8, !tbaa !5
  %1599 = load i32, ptr %84, align 4, !tbaa !9
  %1600 = sext i32 %1599 to i64
  %1601 = getelementptr inbounds double, ptr %1598, i64 %1600
  %1602 = load double, ptr %1601, align 8, !tbaa !23
  %1603 = load ptr, ptr %61, align 8, !tbaa !5
  %1604 = load i32, ptr %84, align 4, !tbaa !9
  %1605 = sext i32 %1604 to i64
  %1606 = getelementptr inbounds double, ptr %1603, i64 %1605
  %1607 = load double, ptr %1606, align 8, !tbaa !23
  %1608 = load ptr, ptr %54, align 8, !tbaa !5
  %1609 = load i32, ptr %84, align 4, !tbaa !9
  %1610 = sext i32 %1609 to i64
  %1611 = getelementptr inbounds double, ptr %1608, i64 %1610
  %1612 = load double, ptr %1611, align 8, !tbaa !23
  %1613 = load ptr, ptr %55, align 8, !tbaa !5
  %1614 = load i32, ptr %84, align 4, !tbaa !9
  %1615 = sext i32 %1614 to i64
  %1616 = getelementptr inbounds double, ptr %1613, i64 %1615
  %1617 = load double, ptr %1616, align 8, !tbaa !23
  %1618 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1602, double noundef %1607, double noundef %1612, double noundef %1617)
  %1619 = load ptr, ptr %66, align 8, !tbaa !5
  %1620 = load i32, ptr %84, align 4, !tbaa !9
  %1621 = sext i32 %1620 to i64
  %1622 = getelementptr inbounds double, ptr %1619, i64 %1621
  %1623 = load double, ptr %1622, align 8, !tbaa !23
  %1624 = load ptr, ptr %67, align 8, !tbaa !5
  %1625 = load i32, ptr %84, align 4, !tbaa !9
  %1626 = sext i32 %1625 to i64
  %1627 = getelementptr inbounds double, ptr %1624, i64 %1626
  %1628 = load double, ptr %1627, align 8, !tbaa !23
  %1629 = load ptr, ptr %56, align 8, !tbaa !5
  %1630 = load i32, ptr %84, align 4, !tbaa !9
  %1631 = sext i32 %1630 to i64
  %1632 = getelementptr inbounds double, ptr %1629, i64 %1631
  %1633 = load double, ptr %1632, align 8, !tbaa !23
  %1634 = load ptr, ptr %57, align 8, !tbaa !5
  %1635 = load i32, ptr %84, align 4, !tbaa !9
  %1636 = sext i32 %1635 to i64
  %1637 = getelementptr inbounds double, ptr %1634, i64 %1636
  %1638 = load double, ptr %1637, align 8, !tbaa !23
  %1639 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1623, double noundef %1628, double noundef %1633, double noundef %1638)
  %1640 = fadd double %1618, %1639
  %1641 = load ptr, ptr %68, align 8, !tbaa !5
  %1642 = load i32, ptr %84, align 4, !tbaa !9
  %1643 = sext i32 %1642 to i64
  %1644 = getelementptr inbounds double, ptr %1641, i64 %1643
  %1645 = load double, ptr %1644, align 8, !tbaa !23
  %1646 = load ptr, ptr %69, align 8, !tbaa !5
  %1647 = load i32, ptr %84, align 4, !tbaa !9
  %1648 = sext i32 %1647 to i64
  %1649 = getelementptr inbounds double, ptr %1646, i64 %1648
  %1650 = load double, ptr %1649, align 8, !tbaa !23
  %1651 = load ptr, ptr %58, align 8, !tbaa !5
  %1652 = load i32, ptr %84, align 4, !tbaa !9
  %1653 = sext i32 %1652 to i64
  %1654 = getelementptr inbounds double, ptr %1651, i64 %1653
  %1655 = load double, ptr %1654, align 8, !tbaa !23
  %1656 = load ptr, ptr %59, align 8, !tbaa !5
  %1657 = load i32, ptr %84, align 4, !tbaa !9
  %1658 = sext i32 %1657 to i64
  %1659 = getelementptr inbounds double, ptr %1656, i64 %1658
  %1660 = load double, ptr %1659, align 8, !tbaa !23
  %1661 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1645, double noundef %1650, double noundef %1655, double noundef %1660)
  %1662 = fadd double %1640, %1661
  %1663 = load ptr, ptr %72, align 8, !tbaa !5
  %1664 = load i32, ptr %84, align 4, !tbaa !9
  %1665 = sext i32 %1664 to i64
  %1666 = getelementptr inbounds double, ptr %1663, i64 %1665
  %1667 = load double, ptr %1666, align 8, !tbaa !23
  %1668 = load ptr, ptr %73, align 8, !tbaa !5
  %1669 = load i32, ptr %84, align 4, !tbaa !9
  %1670 = sext i32 %1669 to i64
  %1671 = getelementptr inbounds double, ptr %1668, i64 %1670
  %1672 = load double, ptr %1671, align 8, !tbaa !23
  %1673 = load ptr, ptr %48, align 8, !tbaa !5
  %1674 = load i32, ptr %84, align 4, !tbaa !9
  %1675 = sext i32 %1674 to i64
  %1676 = getelementptr inbounds double, ptr %1673, i64 %1675
  %1677 = load double, ptr %1676, align 8, !tbaa !23
  %1678 = load ptr, ptr %49, align 8, !tbaa !5
  %1679 = load i32, ptr %84, align 4, !tbaa !9
  %1680 = sext i32 %1679 to i64
  %1681 = getelementptr inbounds double, ptr %1678, i64 %1680
  %1682 = load double, ptr %1681, align 8, !tbaa !23
  %1683 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1667, double noundef %1672, double noundef %1677, double noundef %1682)
  %1684 = fadd double %1662, %1683
  %1685 = load ptr, ptr %78, align 8, !tbaa !5
  %1686 = load i32, ptr %84, align 4, !tbaa !9
  %1687 = sext i32 %1686 to i64
  %1688 = getelementptr inbounds double, ptr %1685, i64 %1687
  %1689 = load double, ptr %1688, align 8, !tbaa !23
  %1690 = load ptr, ptr %79, align 8, !tbaa !5
  %1691 = load i32, ptr %84, align 4, !tbaa !9
  %1692 = sext i32 %1691 to i64
  %1693 = getelementptr inbounds double, ptr %1690, i64 %1692
  %1694 = load double, ptr %1693, align 8, !tbaa !23
  %1695 = load ptr, ptr %50, align 8, !tbaa !5
  %1696 = load i32, ptr %84, align 4, !tbaa !9
  %1697 = sext i32 %1696 to i64
  %1698 = getelementptr inbounds double, ptr %1695, i64 %1697
  %1699 = load double, ptr %1698, align 8, !tbaa !23
  %1700 = load ptr, ptr %51, align 8, !tbaa !5
  %1701 = load i32, ptr %84, align 4, !tbaa !9
  %1702 = sext i32 %1701 to i64
  %1703 = getelementptr inbounds double, ptr %1700, i64 %1702
  %1704 = load double, ptr %1703, align 8, !tbaa !23
  %1705 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1689, double noundef %1694, double noundef %1699, double noundef %1704)
  %1706 = fadd double %1684, %1705
  %1707 = load ptr, ptr %80, align 8, !tbaa !5
  %1708 = load i32, ptr %84, align 4, !tbaa !9
  %1709 = sext i32 %1708 to i64
  %1710 = getelementptr inbounds double, ptr %1707, i64 %1709
  %1711 = load double, ptr %1710, align 8, !tbaa !23
  %1712 = load ptr, ptr %81, align 8, !tbaa !5
  %1713 = load i32, ptr %84, align 4, !tbaa !9
  %1714 = sext i32 %1713 to i64
  %1715 = getelementptr inbounds double, ptr %1712, i64 %1714
  %1716 = load double, ptr %1715, align 8, !tbaa !23
  %1717 = load ptr, ptr %52, align 8, !tbaa !5
  %1718 = load i32, ptr %84, align 4, !tbaa !9
  %1719 = sext i32 %1718 to i64
  %1720 = getelementptr inbounds double, ptr %1717, i64 %1719
  %1721 = load double, ptr %1720, align 8, !tbaa !23
  %1722 = load ptr, ptr %53, align 8, !tbaa !5
  %1723 = load i32, ptr %84, align 4, !tbaa !9
  %1724 = sext i32 %1723 to i64
  %1725 = getelementptr inbounds double, ptr %1722, i64 %1724
  %1726 = load double, ptr %1725, align 8, !tbaa !23
  %1727 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1711, double noundef %1716, double noundef %1721, double noundef %1726)
  %1728 = fadd double %1706, %1727
  %1729 = load ptr, ptr %36, align 8, !tbaa !5
  %1730 = load i32, ptr %84, align 4, !tbaa !9
  %1731 = sext i32 %1730 to i64
  %1732 = getelementptr inbounds double, ptr %1729, i64 %1731
  store double %1728, ptr %1732, align 8, !tbaa !23
  %1733 = load ptr, ptr %66, align 8, !tbaa !5
  %1734 = load i32, ptr %84, align 4, !tbaa !9
  %1735 = sext i32 %1734 to i64
  %1736 = getelementptr inbounds double, ptr %1733, i64 %1735
  %1737 = load double, ptr %1736, align 8, !tbaa !23
  %1738 = load ptr, ptr %67, align 8, !tbaa !5
  %1739 = load i32, ptr %84, align 4, !tbaa !9
  %1740 = sext i32 %1739 to i64
  %1741 = getelementptr inbounds double, ptr %1738, i64 %1740
  %1742 = load double, ptr %1741, align 8, !tbaa !23
  %1743 = load ptr, ptr %54, align 8, !tbaa !5
  %1744 = load i32, ptr %84, align 4, !tbaa !9
  %1745 = sext i32 %1744 to i64
  %1746 = getelementptr inbounds double, ptr %1743, i64 %1745
  %1747 = load double, ptr %1746, align 8, !tbaa !23
  %1748 = load ptr, ptr %55, align 8, !tbaa !5
  %1749 = load i32, ptr %84, align 4, !tbaa !9
  %1750 = sext i32 %1749 to i64
  %1751 = getelementptr inbounds double, ptr %1748, i64 %1750
  %1752 = load double, ptr %1751, align 8, !tbaa !23
  %1753 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1737, double noundef %1742, double noundef %1747, double noundef %1752)
  %1754 = load ptr, ptr %62, align 8, !tbaa !5
  %1755 = load i32, ptr %84, align 4, !tbaa !9
  %1756 = sext i32 %1755 to i64
  %1757 = getelementptr inbounds double, ptr %1754, i64 %1756
  %1758 = load double, ptr %1757, align 8, !tbaa !23
  %1759 = load ptr, ptr %63, align 8, !tbaa !5
  %1760 = load i32, ptr %84, align 4, !tbaa !9
  %1761 = sext i32 %1760 to i64
  %1762 = getelementptr inbounds double, ptr %1759, i64 %1761
  %1763 = load double, ptr %1762, align 8, !tbaa !23
  %1764 = load ptr, ptr %56, align 8, !tbaa !5
  %1765 = load i32, ptr %84, align 4, !tbaa !9
  %1766 = sext i32 %1765 to i64
  %1767 = getelementptr inbounds double, ptr %1764, i64 %1766
  %1768 = load double, ptr %1767, align 8, !tbaa !23
  %1769 = load ptr, ptr %57, align 8, !tbaa !5
  %1770 = load i32, ptr %84, align 4, !tbaa !9
  %1771 = sext i32 %1770 to i64
  %1772 = getelementptr inbounds double, ptr %1769, i64 %1771
  %1773 = load double, ptr %1772, align 8, !tbaa !23
  %1774 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1758, double noundef %1763, double noundef %1768, double noundef %1773)
  %1775 = fadd double %1753, %1774
  %1776 = load ptr, ptr %70, align 8, !tbaa !5
  %1777 = load i32, ptr %84, align 4, !tbaa !9
  %1778 = sext i32 %1777 to i64
  %1779 = getelementptr inbounds double, ptr %1776, i64 %1778
  %1780 = load double, ptr %1779, align 8, !tbaa !23
  %1781 = load ptr, ptr %71, align 8, !tbaa !5
  %1782 = load i32, ptr %84, align 4, !tbaa !9
  %1783 = sext i32 %1782 to i64
  %1784 = getelementptr inbounds double, ptr %1781, i64 %1783
  %1785 = load double, ptr %1784, align 8, !tbaa !23
  %1786 = load ptr, ptr %58, align 8, !tbaa !5
  %1787 = load i32, ptr %84, align 4, !tbaa !9
  %1788 = sext i32 %1787 to i64
  %1789 = getelementptr inbounds double, ptr %1786, i64 %1788
  %1790 = load double, ptr %1789, align 8, !tbaa !23
  %1791 = load ptr, ptr %59, align 8, !tbaa !5
  %1792 = load i32, ptr %84, align 4, !tbaa !9
  %1793 = sext i32 %1792 to i64
  %1794 = getelementptr inbounds double, ptr %1791, i64 %1793
  %1795 = load double, ptr %1794, align 8, !tbaa !23
  %1796 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1780, double noundef %1785, double noundef %1790, double noundef %1795)
  %1797 = fadd double %1775, %1796
  %1798 = load ptr, ptr %78, align 8, !tbaa !5
  %1799 = load i32, ptr %84, align 4, !tbaa !9
  %1800 = sext i32 %1799 to i64
  %1801 = getelementptr inbounds double, ptr %1798, i64 %1800
  %1802 = load double, ptr %1801, align 8, !tbaa !23
  %1803 = load ptr, ptr %79, align 8, !tbaa !5
  %1804 = load i32, ptr %84, align 4, !tbaa !9
  %1805 = sext i32 %1804 to i64
  %1806 = getelementptr inbounds double, ptr %1803, i64 %1805
  %1807 = load double, ptr %1806, align 8, !tbaa !23
  %1808 = load ptr, ptr %48, align 8, !tbaa !5
  %1809 = load i32, ptr %84, align 4, !tbaa !9
  %1810 = sext i32 %1809 to i64
  %1811 = getelementptr inbounds double, ptr %1808, i64 %1810
  %1812 = load double, ptr %1811, align 8, !tbaa !23
  %1813 = load ptr, ptr %49, align 8, !tbaa !5
  %1814 = load i32, ptr %84, align 4, !tbaa !9
  %1815 = sext i32 %1814 to i64
  %1816 = getelementptr inbounds double, ptr %1813, i64 %1815
  %1817 = load double, ptr %1816, align 8, !tbaa !23
  %1818 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1802, double noundef %1807, double noundef %1812, double noundef %1817)
  %1819 = fadd double %1797, %1818
  %1820 = load ptr, ptr %74, align 8, !tbaa !5
  %1821 = load i32, ptr %84, align 4, !tbaa !9
  %1822 = sext i32 %1821 to i64
  %1823 = getelementptr inbounds double, ptr %1820, i64 %1822
  %1824 = load double, ptr %1823, align 8, !tbaa !23
  %1825 = load ptr, ptr %75, align 8, !tbaa !5
  %1826 = load i32, ptr %84, align 4, !tbaa !9
  %1827 = sext i32 %1826 to i64
  %1828 = getelementptr inbounds double, ptr %1825, i64 %1827
  %1829 = load double, ptr %1828, align 8, !tbaa !23
  %1830 = load ptr, ptr %50, align 8, !tbaa !5
  %1831 = load i32, ptr %84, align 4, !tbaa !9
  %1832 = sext i32 %1831 to i64
  %1833 = getelementptr inbounds double, ptr %1830, i64 %1832
  %1834 = load double, ptr %1833, align 8, !tbaa !23
  %1835 = load ptr, ptr %51, align 8, !tbaa !5
  %1836 = load i32, ptr %84, align 4, !tbaa !9
  %1837 = sext i32 %1836 to i64
  %1838 = getelementptr inbounds double, ptr %1835, i64 %1837
  %1839 = load double, ptr %1838, align 8, !tbaa !23
  %1840 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1824, double noundef %1829, double noundef %1834, double noundef %1839)
  %1841 = fadd double %1819, %1840
  %1842 = load ptr, ptr %82, align 8, !tbaa !5
  %1843 = load i32, ptr %84, align 4, !tbaa !9
  %1844 = sext i32 %1843 to i64
  %1845 = getelementptr inbounds double, ptr %1842, i64 %1844
  %1846 = load double, ptr %1845, align 8, !tbaa !23
  %1847 = load ptr, ptr %83, align 8, !tbaa !5
  %1848 = load i32, ptr %84, align 4, !tbaa !9
  %1849 = sext i32 %1848 to i64
  %1850 = getelementptr inbounds double, ptr %1847, i64 %1849
  %1851 = load double, ptr %1850, align 8, !tbaa !23
  %1852 = load ptr, ptr %52, align 8, !tbaa !5
  %1853 = load i32, ptr %84, align 4, !tbaa !9
  %1854 = sext i32 %1853 to i64
  %1855 = getelementptr inbounds double, ptr %1852, i64 %1854
  %1856 = load double, ptr %1855, align 8, !tbaa !23
  %1857 = load ptr, ptr %53, align 8, !tbaa !5
  %1858 = load i32, ptr %84, align 4, !tbaa !9
  %1859 = sext i32 %1858 to i64
  %1860 = getelementptr inbounds double, ptr %1857, i64 %1859
  %1861 = load double, ptr %1860, align 8, !tbaa !23
  %1862 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1846, double noundef %1851, double noundef %1856, double noundef %1861)
  %1863 = fadd double %1841, %1862
  %1864 = load ptr, ptr %38, align 8, !tbaa !5
  %1865 = load i32, ptr %84, align 4, !tbaa !9
  %1866 = sext i32 %1865 to i64
  %1867 = getelementptr inbounds double, ptr %1864, i64 %1866
  store double %1863, ptr %1867, align 8, !tbaa !23
  %1868 = load ptr, ptr %68, align 8, !tbaa !5
  %1869 = load i32, ptr %84, align 4, !tbaa !9
  %1870 = sext i32 %1869 to i64
  %1871 = getelementptr inbounds double, ptr %1868, i64 %1870
  %1872 = load double, ptr %1871, align 8, !tbaa !23
  %1873 = load ptr, ptr %69, align 8, !tbaa !5
  %1874 = load i32, ptr %84, align 4, !tbaa !9
  %1875 = sext i32 %1874 to i64
  %1876 = getelementptr inbounds double, ptr %1873, i64 %1875
  %1877 = load double, ptr %1876, align 8, !tbaa !23
  %1878 = load ptr, ptr %54, align 8, !tbaa !5
  %1879 = load i32, ptr %84, align 4, !tbaa !9
  %1880 = sext i32 %1879 to i64
  %1881 = getelementptr inbounds double, ptr %1878, i64 %1880
  %1882 = load double, ptr %1881, align 8, !tbaa !23
  %1883 = load ptr, ptr %55, align 8, !tbaa !5
  %1884 = load i32, ptr %84, align 4, !tbaa !9
  %1885 = sext i32 %1884 to i64
  %1886 = getelementptr inbounds double, ptr %1883, i64 %1885
  %1887 = load double, ptr %1886, align 8, !tbaa !23
  %1888 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1872, double noundef %1877, double noundef %1882, double noundef %1887)
  %1889 = load ptr, ptr %70, align 8, !tbaa !5
  %1890 = load i32, ptr %84, align 4, !tbaa !9
  %1891 = sext i32 %1890 to i64
  %1892 = getelementptr inbounds double, ptr %1889, i64 %1891
  %1893 = load double, ptr %1892, align 8, !tbaa !23
  %1894 = load ptr, ptr %71, align 8, !tbaa !5
  %1895 = load i32, ptr %84, align 4, !tbaa !9
  %1896 = sext i32 %1895 to i64
  %1897 = getelementptr inbounds double, ptr %1894, i64 %1896
  %1898 = load double, ptr %1897, align 8, !tbaa !23
  %1899 = load ptr, ptr %56, align 8, !tbaa !5
  %1900 = load i32, ptr %84, align 4, !tbaa !9
  %1901 = sext i32 %1900 to i64
  %1902 = getelementptr inbounds double, ptr %1899, i64 %1901
  %1903 = load double, ptr %1902, align 8, !tbaa !23
  %1904 = load ptr, ptr %57, align 8, !tbaa !5
  %1905 = load i32, ptr %84, align 4, !tbaa !9
  %1906 = sext i32 %1905 to i64
  %1907 = getelementptr inbounds double, ptr %1904, i64 %1906
  %1908 = load double, ptr %1907, align 8, !tbaa !23
  %1909 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1893, double noundef %1898, double noundef %1903, double noundef %1908)
  %1910 = fadd double %1888, %1909
  %1911 = load ptr, ptr %64, align 8, !tbaa !5
  %1912 = load i32, ptr %84, align 4, !tbaa !9
  %1913 = sext i32 %1912 to i64
  %1914 = getelementptr inbounds double, ptr %1911, i64 %1913
  %1915 = load double, ptr %1914, align 8, !tbaa !23
  %1916 = load ptr, ptr %65, align 8, !tbaa !5
  %1917 = load i32, ptr %84, align 4, !tbaa !9
  %1918 = sext i32 %1917 to i64
  %1919 = getelementptr inbounds double, ptr %1916, i64 %1918
  %1920 = load double, ptr %1919, align 8, !tbaa !23
  %1921 = load ptr, ptr %58, align 8, !tbaa !5
  %1922 = load i32, ptr %84, align 4, !tbaa !9
  %1923 = sext i32 %1922 to i64
  %1924 = getelementptr inbounds double, ptr %1921, i64 %1923
  %1925 = load double, ptr %1924, align 8, !tbaa !23
  %1926 = load ptr, ptr %59, align 8, !tbaa !5
  %1927 = load i32, ptr %84, align 4, !tbaa !9
  %1928 = sext i32 %1927 to i64
  %1929 = getelementptr inbounds double, ptr %1926, i64 %1928
  %1930 = load double, ptr %1929, align 8, !tbaa !23
  %1931 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1915, double noundef %1920, double noundef %1925, double noundef %1930)
  %1932 = fadd double %1910, %1931
  %1933 = load ptr, ptr %80, align 8, !tbaa !5
  %1934 = load i32, ptr %84, align 4, !tbaa !9
  %1935 = sext i32 %1934 to i64
  %1936 = getelementptr inbounds double, ptr %1933, i64 %1935
  %1937 = load double, ptr %1936, align 8, !tbaa !23
  %1938 = load ptr, ptr %81, align 8, !tbaa !5
  %1939 = load i32, ptr %84, align 4, !tbaa !9
  %1940 = sext i32 %1939 to i64
  %1941 = getelementptr inbounds double, ptr %1938, i64 %1940
  %1942 = load double, ptr %1941, align 8, !tbaa !23
  %1943 = load ptr, ptr %48, align 8, !tbaa !5
  %1944 = load i32, ptr %84, align 4, !tbaa !9
  %1945 = sext i32 %1944 to i64
  %1946 = getelementptr inbounds double, ptr %1943, i64 %1945
  %1947 = load double, ptr %1946, align 8, !tbaa !23
  %1948 = load ptr, ptr %49, align 8, !tbaa !5
  %1949 = load i32, ptr %84, align 4, !tbaa !9
  %1950 = sext i32 %1949 to i64
  %1951 = getelementptr inbounds double, ptr %1948, i64 %1950
  %1952 = load double, ptr %1951, align 8, !tbaa !23
  %1953 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1937, double noundef %1942, double noundef %1947, double noundef %1952)
  %1954 = fadd double %1932, %1953
  %1955 = load ptr, ptr %82, align 8, !tbaa !5
  %1956 = load i32, ptr %84, align 4, !tbaa !9
  %1957 = sext i32 %1956 to i64
  %1958 = getelementptr inbounds double, ptr %1955, i64 %1957
  %1959 = load double, ptr %1958, align 8, !tbaa !23
  %1960 = load ptr, ptr %83, align 8, !tbaa !5
  %1961 = load i32, ptr %84, align 4, !tbaa !9
  %1962 = sext i32 %1961 to i64
  %1963 = getelementptr inbounds double, ptr %1960, i64 %1962
  %1964 = load double, ptr %1963, align 8, !tbaa !23
  %1965 = load ptr, ptr %50, align 8, !tbaa !5
  %1966 = load i32, ptr %84, align 4, !tbaa !9
  %1967 = sext i32 %1966 to i64
  %1968 = getelementptr inbounds double, ptr %1965, i64 %1967
  %1969 = load double, ptr %1968, align 8, !tbaa !23
  %1970 = load ptr, ptr %51, align 8, !tbaa !5
  %1971 = load i32, ptr %84, align 4, !tbaa !9
  %1972 = sext i32 %1971 to i64
  %1973 = getelementptr inbounds double, ptr %1970, i64 %1972
  %1974 = load double, ptr %1973, align 8, !tbaa !23
  %1975 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1959, double noundef %1964, double noundef %1969, double noundef %1974)
  %1976 = fadd double %1954, %1975
  %1977 = load ptr, ptr %76, align 8, !tbaa !5
  %1978 = load i32, ptr %84, align 4, !tbaa !9
  %1979 = sext i32 %1978 to i64
  %1980 = getelementptr inbounds double, ptr %1977, i64 %1979
  %1981 = load double, ptr %1980, align 8, !tbaa !23
  %1982 = load ptr, ptr %77, align 8, !tbaa !5
  %1983 = load i32, ptr %84, align 4, !tbaa !9
  %1984 = sext i32 %1983 to i64
  %1985 = getelementptr inbounds double, ptr %1982, i64 %1984
  %1986 = load double, ptr %1985, align 8, !tbaa !23
  %1987 = load ptr, ptr %52, align 8, !tbaa !5
  %1988 = load i32, ptr %84, align 4, !tbaa !9
  %1989 = sext i32 %1988 to i64
  %1990 = getelementptr inbounds double, ptr %1987, i64 %1989
  %1991 = load double, ptr %1990, align 8, !tbaa !23
  %1992 = load ptr, ptr %53, align 8, !tbaa !5
  %1993 = load i32, ptr %84, align 4, !tbaa !9
  %1994 = sext i32 %1993 to i64
  %1995 = getelementptr inbounds double, ptr %1992, i64 %1994
  %1996 = load double, ptr %1995, align 8, !tbaa !23
  %1997 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %1981, double noundef %1986, double noundef %1991, double noundef %1996)
  %1998 = fadd double %1976, %1997
  %1999 = load ptr, ptr %40, align 8, !tbaa !5
  %2000 = load i32, ptr %84, align 4, !tbaa !9
  %2001 = sext i32 %2000 to i64
  %2002 = getelementptr inbounds double, ptr %1999, i64 %2001
  store double %1998, ptr %2002, align 8, !tbaa !23
  %2003 = load ptr, ptr %60, align 8, !tbaa !5
  %2004 = load i32, ptr %84, align 4, !tbaa !9
  %2005 = sext i32 %2004 to i64
  %2006 = getelementptr inbounds double, ptr %2003, i64 %2005
  %2007 = load double, ptr %2006, align 8, !tbaa !23
  %2008 = load ptr, ptr %61, align 8, !tbaa !5
  %2009 = load i32, ptr %84, align 4, !tbaa !9
  %2010 = sext i32 %2009 to i64
  %2011 = getelementptr inbounds double, ptr %2008, i64 %2010
  %2012 = load double, ptr %2011, align 8, !tbaa !23
  %2013 = load ptr, ptr %54, align 8, !tbaa !5
  %2014 = load i32, ptr %84, align 4, !tbaa !9
  %2015 = sext i32 %2014 to i64
  %2016 = getelementptr inbounds double, ptr %2013, i64 %2015
  %2017 = load double, ptr %2016, align 8, !tbaa !23
  %2018 = load ptr, ptr %55, align 8, !tbaa !5
  %2019 = load i32, ptr %84, align 4, !tbaa !9
  %2020 = sext i32 %2019 to i64
  %2021 = getelementptr inbounds double, ptr %2018, i64 %2020
  %2022 = load double, ptr %2021, align 8, !tbaa !23
  %2023 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2007, double noundef %2012, double noundef %2017, double noundef %2022)
  %2024 = load ptr, ptr %66, align 8, !tbaa !5
  %2025 = load i32, ptr %84, align 4, !tbaa !9
  %2026 = sext i32 %2025 to i64
  %2027 = getelementptr inbounds double, ptr %2024, i64 %2026
  %2028 = load double, ptr %2027, align 8, !tbaa !23
  %2029 = load ptr, ptr %67, align 8, !tbaa !5
  %2030 = load i32, ptr %84, align 4, !tbaa !9
  %2031 = sext i32 %2030 to i64
  %2032 = getelementptr inbounds double, ptr %2029, i64 %2031
  %2033 = load double, ptr %2032, align 8, !tbaa !23
  %2034 = load ptr, ptr %56, align 8, !tbaa !5
  %2035 = load i32, ptr %84, align 4, !tbaa !9
  %2036 = sext i32 %2035 to i64
  %2037 = getelementptr inbounds double, ptr %2034, i64 %2036
  %2038 = load double, ptr %2037, align 8, !tbaa !23
  %2039 = load ptr, ptr %57, align 8, !tbaa !5
  %2040 = load i32, ptr %84, align 4, !tbaa !9
  %2041 = sext i32 %2040 to i64
  %2042 = getelementptr inbounds double, ptr %2039, i64 %2041
  %2043 = load double, ptr %2042, align 8, !tbaa !23
  %2044 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2028, double noundef %2033, double noundef %2038, double noundef %2043)
  %2045 = fadd double %2023, %2044
  %2046 = load ptr, ptr %68, align 8, !tbaa !5
  %2047 = load i32, ptr %84, align 4, !tbaa !9
  %2048 = sext i32 %2047 to i64
  %2049 = getelementptr inbounds double, ptr %2046, i64 %2048
  %2050 = load double, ptr %2049, align 8, !tbaa !23
  %2051 = load ptr, ptr %69, align 8, !tbaa !5
  %2052 = load i32, ptr %84, align 4, !tbaa !9
  %2053 = sext i32 %2052 to i64
  %2054 = getelementptr inbounds double, ptr %2051, i64 %2053
  %2055 = load double, ptr %2054, align 8, !tbaa !23
  %2056 = load ptr, ptr %58, align 8, !tbaa !5
  %2057 = load i32, ptr %84, align 4, !tbaa !9
  %2058 = sext i32 %2057 to i64
  %2059 = getelementptr inbounds double, ptr %2056, i64 %2058
  %2060 = load double, ptr %2059, align 8, !tbaa !23
  %2061 = load ptr, ptr %59, align 8, !tbaa !5
  %2062 = load i32, ptr %84, align 4, !tbaa !9
  %2063 = sext i32 %2062 to i64
  %2064 = getelementptr inbounds double, ptr %2061, i64 %2063
  %2065 = load double, ptr %2064, align 8, !tbaa !23
  %2066 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2050, double noundef %2055, double noundef %2060, double noundef %2065)
  %2067 = fadd double %2045, %2066
  %2068 = load ptr, ptr %72, align 8, !tbaa !5
  %2069 = load i32, ptr %84, align 4, !tbaa !9
  %2070 = sext i32 %2069 to i64
  %2071 = getelementptr inbounds double, ptr %2068, i64 %2070
  %2072 = load double, ptr %2071, align 8, !tbaa !23
  %2073 = load ptr, ptr %73, align 8, !tbaa !5
  %2074 = load i32, ptr %84, align 4, !tbaa !9
  %2075 = sext i32 %2074 to i64
  %2076 = getelementptr inbounds double, ptr %2073, i64 %2075
  %2077 = load double, ptr %2076, align 8, !tbaa !23
  %2078 = load ptr, ptr %48, align 8, !tbaa !5
  %2079 = load i32, ptr %84, align 4, !tbaa !9
  %2080 = sext i32 %2079 to i64
  %2081 = getelementptr inbounds double, ptr %2078, i64 %2080
  %2082 = load double, ptr %2081, align 8, !tbaa !23
  %2083 = load ptr, ptr %49, align 8, !tbaa !5
  %2084 = load i32, ptr %84, align 4, !tbaa !9
  %2085 = sext i32 %2084 to i64
  %2086 = getelementptr inbounds double, ptr %2083, i64 %2085
  %2087 = load double, ptr %2086, align 8, !tbaa !23
  %2088 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2072, double noundef %2077, double noundef %2082, double noundef %2087)
  %2089 = fadd double %2067, %2088
  %2090 = load ptr, ptr %78, align 8, !tbaa !5
  %2091 = load i32, ptr %84, align 4, !tbaa !9
  %2092 = sext i32 %2091 to i64
  %2093 = getelementptr inbounds double, ptr %2090, i64 %2092
  %2094 = load double, ptr %2093, align 8, !tbaa !23
  %2095 = load ptr, ptr %79, align 8, !tbaa !5
  %2096 = load i32, ptr %84, align 4, !tbaa !9
  %2097 = sext i32 %2096 to i64
  %2098 = getelementptr inbounds double, ptr %2095, i64 %2097
  %2099 = load double, ptr %2098, align 8, !tbaa !23
  %2100 = load ptr, ptr %50, align 8, !tbaa !5
  %2101 = load i32, ptr %84, align 4, !tbaa !9
  %2102 = sext i32 %2101 to i64
  %2103 = getelementptr inbounds double, ptr %2100, i64 %2102
  %2104 = load double, ptr %2103, align 8, !tbaa !23
  %2105 = load ptr, ptr %51, align 8, !tbaa !5
  %2106 = load i32, ptr %84, align 4, !tbaa !9
  %2107 = sext i32 %2106 to i64
  %2108 = getelementptr inbounds double, ptr %2105, i64 %2107
  %2109 = load double, ptr %2108, align 8, !tbaa !23
  %2110 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2094, double noundef %2099, double noundef %2104, double noundef %2109)
  %2111 = fadd double %2089, %2110
  %2112 = load ptr, ptr %80, align 8, !tbaa !5
  %2113 = load i32, ptr %84, align 4, !tbaa !9
  %2114 = sext i32 %2113 to i64
  %2115 = getelementptr inbounds double, ptr %2112, i64 %2114
  %2116 = load double, ptr %2115, align 8, !tbaa !23
  %2117 = load ptr, ptr %81, align 8, !tbaa !5
  %2118 = load i32, ptr %84, align 4, !tbaa !9
  %2119 = sext i32 %2118 to i64
  %2120 = getelementptr inbounds double, ptr %2117, i64 %2119
  %2121 = load double, ptr %2120, align 8, !tbaa !23
  %2122 = load ptr, ptr %52, align 8, !tbaa !5
  %2123 = load i32, ptr %84, align 4, !tbaa !9
  %2124 = sext i32 %2123 to i64
  %2125 = getelementptr inbounds double, ptr %2122, i64 %2124
  %2126 = load double, ptr %2125, align 8, !tbaa !23
  %2127 = load ptr, ptr %53, align 8, !tbaa !5
  %2128 = load i32, ptr %84, align 4, !tbaa !9
  %2129 = sext i32 %2128 to i64
  %2130 = getelementptr inbounds double, ptr %2127, i64 %2129
  %2131 = load double, ptr %2130, align 8, !tbaa !23
  %2132 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2116, double noundef %2121, double noundef %2126, double noundef %2131)
  %2133 = fadd double %2111, %2132
  %2134 = load ptr, ptr %37, align 8, !tbaa !5
  %2135 = load i32, ptr %84, align 4, !tbaa !9
  %2136 = sext i32 %2135 to i64
  %2137 = getelementptr inbounds double, ptr %2134, i64 %2136
  store double %2133, ptr %2137, align 8, !tbaa !23
  %2138 = load ptr, ptr %66, align 8, !tbaa !5
  %2139 = load i32, ptr %84, align 4, !tbaa !9
  %2140 = sext i32 %2139 to i64
  %2141 = getelementptr inbounds double, ptr %2138, i64 %2140
  %2142 = load double, ptr %2141, align 8, !tbaa !23
  %2143 = load ptr, ptr %67, align 8, !tbaa !5
  %2144 = load i32, ptr %84, align 4, !tbaa !9
  %2145 = sext i32 %2144 to i64
  %2146 = getelementptr inbounds double, ptr %2143, i64 %2145
  %2147 = load double, ptr %2146, align 8, !tbaa !23
  %2148 = load ptr, ptr %54, align 8, !tbaa !5
  %2149 = load i32, ptr %84, align 4, !tbaa !9
  %2150 = sext i32 %2149 to i64
  %2151 = getelementptr inbounds double, ptr %2148, i64 %2150
  %2152 = load double, ptr %2151, align 8, !tbaa !23
  %2153 = load ptr, ptr %55, align 8, !tbaa !5
  %2154 = load i32, ptr %84, align 4, !tbaa !9
  %2155 = sext i32 %2154 to i64
  %2156 = getelementptr inbounds double, ptr %2153, i64 %2155
  %2157 = load double, ptr %2156, align 8, !tbaa !23
  %2158 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2142, double noundef %2147, double noundef %2152, double noundef %2157)
  %2159 = load ptr, ptr %62, align 8, !tbaa !5
  %2160 = load i32, ptr %84, align 4, !tbaa !9
  %2161 = sext i32 %2160 to i64
  %2162 = getelementptr inbounds double, ptr %2159, i64 %2161
  %2163 = load double, ptr %2162, align 8, !tbaa !23
  %2164 = load ptr, ptr %63, align 8, !tbaa !5
  %2165 = load i32, ptr %84, align 4, !tbaa !9
  %2166 = sext i32 %2165 to i64
  %2167 = getelementptr inbounds double, ptr %2164, i64 %2166
  %2168 = load double, ptr %2167, align 8, !tbaa !23
  %2169 = load ptr, ptr %56, align 8, !tbaa !5
  %2170 = load i32, ptr %84, align 4, !tbaa !9
  %2171 = sext i32 %2170 to i64
  %2172 = getelementptr inbounds double, ptr %2169, i64 %2171
  %2173 = load double, ptr %2172, align 8, !tbaa !23
  %2174 = load ptr, ptr %57, align 8, !tbaa !5
  %2175 = load i32, ptr %84, align 4, !tbaa !9
  %2176 = sext i32 %2175 to i64
  %2177 = getelementptr inbounds double, ptr %2174, i64 %2176
  %2178 = load double, ptr %2177, align 8, !tbaa !23
  %2179 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2163, double noundef %2168, double noundef %2173, double noundef %2178)
  %2180 = fadd double %2158, %2179
  %2181 = load ptr, ptr %70, align 8, !tbaa !5
  %2182 = load i32, ptr %84, align 4, !tbaa !9
  %2183 = sext i32 %2182 to i64
  %2184 = getelementptr inbounds double, ptr %2181, i64 %2183
  %2185 = load double, ptr %2184, align 8, !tbaa !23
  %2186 = load ptr, ptr %71, align 8, !tbaa !5
  %2187 = load i32, ptr %84, align 4, !tbaa !9
  %2188 = sext i32 %2187 to i64
  %2189 = getelementptr inbounds double, ptr %2186, i64 %2188
  %2190 = load double, ptr %2189, align 8, !tbaa !23
  %2191 = load ptr, ptr %58, align 8, !tbaa !5
  %2192 = load i32, ptr %84, align 4, !tbaa !9
  %2193 = sext i32 %2192 to i64
  %2194 = getelementptr inbounds double, ptr %2191, i64 %2193
  %2195 = load double, ptr %2194, align 8, !tbaa !23
  %2196 = load ptr, ptr %59, align 8, !tbaa !5
  %2197 = load i32, ptr %84, align 4, !tbaa !9
  %2198 = sext i32 %2197 to i64
  %2199 = getelementptr inbounds double, ptr %2196, i64 %2198
  %2200 = load double, ptr %2199, align 8, !tbaa !23
  %2201 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2185, double noundef %2190, double noundef %2195, double noundef %2200)
  %2202 = fadd double %2180, %2201
  %2203 = load ptr, ptr %78, align 8, !tbaa !5
  %2204 = load i32, ptr %84, align 4, !tbaa !9
  %2205 = sext i32 %2204 to i64
  %2206 = getelementptr inbounds double, ptr %2203, i64 %2205
  %2207 = load double, ptr %2206, align 8, !tbaa !23
  %2208 = load ptr, ptr %79, align 8, !tbaa !5
  %2209 = load i32, ptr %84, align 4, !tbaa !9
  %2210 = sext i32 %2209 to i64
  %2211 = getelementptr inbounds double, ptr %2208, i64 %2210
  %2212 = load double, ptr %2211, align 8, !tbaa !23
  %2213 = load ptr, ptr %48, align 8, !tbaa !5
  %2214 = load i32, ptr %84, align 4, !tbaa !9
  %2215 = sext i32 %2214 to i64
  %2216 = getelementptr inbounds double, ptr %2213, i64 %2215
  %2217 = load double, ptr %2216, align 8, !tbaa !23
  %2218 = load ptr, ptr %49, align 8, !tbaa !5
  %2219 = load i32, ptr %84, align 4, !tbaa !9
  %2220 = sext i32 %2219 to i64
  %2221 = getelementptr inbounds double, ptr %2218, i64 %2220
  %2222 = load double, ptr %2221, align 8, !tbaa !23
  %2223 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2207, double noundef %2212, double noundef %2217, double noundef %2222)
  %2224 = fadd double %2202, %2223
  %2225 = load ptr, ptr %74, align 8, !tbaa !5
  %2226 = load i32, ptr %84, align 4, !tbaa !9
  %2227 = sext i32 %2226 to i64
  %2228 = getelementptr inbounds double, ptr %2225, i64 %2227
  %2229 = load double, ptr %2228, align 8, !tbaa !23
  %2230 = load ptr, ptr %75, align 8, !tbaa !5
  %2231 = load i32, ptr %84, align 4, !tbaa !9
  %2232 = sext i32 %2231 to i64
  %2233 = getelementptr inbounds double, ptr %2230, i64 %2232
  %2234 = load double, ptr %2233, align 8, !tbaa !23
  %2235 = load ptr, ptr %50, align 8, !tbaa !5
  %2236 = load i32, ptr %84, align 4, !tbaa !9
  %2237 = sext i32 %2236 to i64
  %2238 = getelementptr inbounds double, ptr %2235, i64 %2237
  %2239 = load double, ptr %2238, align 8, !tbaa !23
  %2240 = load ptr, ptr %51, align 8, !tbaa !5
  %2241 = load i32, ptr %84, align 4, !tbaa !9
  %2242 = sext i32 %2241 to i64
  %2243 = getelementptr inbounds double, ptr %2240, i64 %2242
  %2244 = load double, ptr %2243, align 8, !tbaa !23
  %2245 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2229, double noundef %2234, double noundef %2239, double noundef %2244)
  %2246 = fadd double %2224, %2245
  %2247 = load ptr, ptr %82, align 8, !tbaa !5
  %2248 = load i32, ptr %84, align 4, !tbaa !9
  %2249 = sext i32 %2248 to i64
  %2250 = getelementptr inbounds double, ptr %2247, i64 %2249
  %2251 = load double, ptr %2250, align 8, !tbaa !23
  %2252 = load ptr, ptr %83, align 8, !tbaa !5
  %2253 = load i32, ptr %84, align 4, !tbaa !9
  %2254 = sext i32 %2253 to i64
  %2255 = getelementptr inbounds double, ptr %2252, i64 %2254
  %2256 = load double, ptr %2255, align 8, !tbaa !23
  %2257 = load ptr, ptr %52, align 8, !tbaa !5
  %2258 = load i32, ptr %84, align 4, !tbaa !9
  %2259 = sext i32 %2258 to i64
  %2260 = getelementptr inbounds double, ptr %2257, i64 %2259
  %2261 = load double, ptr %2260, align 8, !tbaa !23
  %2262 = load ptr, ptr %53, align 8, !tbaa !5
  %2263 = load i32, ptr %84, align 4, !tbaa !9
  %2264 = sext i32 %2263 to i64
  %2265 = getelementptr inbounds double, ptr %2262, i64 %2264
  %2266 = load double, ptr %2265, align 8, !tbaa !23
  %2267 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2251, double noundef %2256, double noundef %2261, double noundef %2266)
  %2268 = fadd double %2246, %2267
  %2269 = load ptr, ptr %39, align 8, !tbaa !5
  %2270 = load i32, ptr %84, align 4, !tbaa !9
  %2271 = sext i32 %2270 to i64
  %2272 = getelementptr inbounds double, ptr %2269, i64 %2271
  store double %2268, ptr %2272, align 8, !tbaa !23
  %2273 = load ptr, ptr %68, align 8, !tbaa !5
  %2274 = load i32, ptr %84, align 4, !tbaa !9
  %2275 = sext i32 %2274 to i64
  %2276 = getelementptr inbounds double, ptr %2273, i64 %2275
  %2277 = load double, ptr %2276, align 8, !tbaa !23
  %2278 = load ptr, ptr %69, align 8, !tbaa !5
  %2279 = load i32, ptr %84, align 4, !tbaa !9
  %2280 = sext i32 %2279 to i64
  %2281 = getelementptr inbounds double, ptr %2278, i64 %2280
  %2282 = load double, ptr %2281, align 8, !tbaa !23
  %2283 = load ptr, ptr %54, align 8, !tbaa !5
  %2284 = load i32, ptr %84, align 4, !tbaa !9
  %2285 = sext i32 %2284 to i64
  %2286 = getelementptr inbounds double, ptr %2283, i64 %2285
  %2287 = load double, ptr %2286, align 8, !tbaa !23
  %2288 = load ptr, ptr %55, align 8, !tbaa !5
  %2289 = load i32, ptr %84, align 4, !tbaa !9
  %2290 = sext i32 %2289 to i64
  %2291 = getelementptr inbounds double, ptr %2288, i64 %2290
  %2292 = load double, ptr %2291, align 8, !tbaa !23
  %2293 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2277, double noundef %2282, double noundef %2287, double noundef %2292)
  %2294 = load ptr, ptr %70, align 8, !tbaa !5
  %2295 = load i32, ptr %84, align 4, !tbaa !9
  %2296 = sext i32 %2295 to i64
  %2297 = getelementptr inbounds double, ptr %2294, i64 %2296
  %2298 = load double, ptr %2297, align 8, !tbaa !23
  %2299 = load ptr, ptr %71, align 8, !tbaa !5
  %2300 = load i32, ptr %84, align 4, !tbaa !9
  %2301 = sext i32 %2300 to i64
  %2302 = getelementptr inbounds double, ptr %2299, i64 %2301
  %2303 = load double, ptr %2302, align 8, !tbaa !23
  %2304 = load ptr, ptr %56, align 8, !tbaa !5
  %2305 = load i32, ptr %84, align 4, !tbaa !9
  %2306 = sext i32 %2305 to i64
  %2307 = getelementptr inbounds double, ptr %2304, i64 %2306
  %2308 = load double, ptr %2307, align 8, !tbaa !23
  %2309 = load ptr, ptr %57, align 8, !tbaa !5
  %2310 = load i32, ptr %84, align 4, !tbaa !9
  %2311 = sext i32 %2310 to i64
  %2312 = getelementptr inbounds double, ptr %2309, i64 %2311
  %2313 = load double, ptr %2312, align 8, !tbaa !23
  %2314 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2298, double noundef %2303, double noundef %2308, double noundef %2313)
  %2315 = fadd double %2293, %2314
  %2316 = load ptr, ptr %64, align 8, !tbaa !5
  %2317 = load i32, ptr %84, align 4, !tbaa !9
  %2318 = sext i32 %2317 to i64
  %2319 = getelementptr inbounds double, ptr %2316, i64 %2318
  %2320 = load double, ptr %2319, align 8, !tbaa !23
  %2321 = load ptr, ptr %65, align 8, !tbaa !5
  %2322 = load i32, ptr %84, align 4, !tbaa !9
  %2323 = sext i32 %2322 to i64
  %2324 = getelementptr inbounds double, ptr %2321, i64 %2323
  %2325 = load double, ptr %2324, align 8, !tbaa !23
  %2326 = load ptr, ptr %58, align 8, !tbaa !5
  %2327 = load i32, ptr %84, align 4, !tbaa !9
  %2328 = sext i32 %2327 to i64
  %2329 = getelementptr inbounds double, ptr %2326, i64 %2328
  %2330 = load double, ptr %2329, align 8, !tbaa !23
  %2331 = load ptr, ptr %59, align 8, !tbaa !5
  %2332 = load i32, ptr %84, align 4, !tbaa !9
  %2333 = sext i32 %2332 to i64
  %2334 = getelementptr inbounds double, ptr %2331, i64 %2333
  %2335 = load double, ptr %2334, align 8, !tbaa !23
  %2336 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2320, double noundef %2325, double noundef %2330, double noundef %2335)
  %2337 = fadd double %2315, %2336
  %2338 = load ptr, ptr %80, align 8, !tbaa !5
  %2339 = load i32, ptr %84, align 4, !tbaa !9
  %2340 = sext i32 %2339 to i64
  %2341 = getelementptr inbounds double, ptr %2338, i64 %2340
  %2342 = load double, ptr %2341, align 8, !tbaa !23
  %2343 = load ptr, ptr %81, align 8, !tbaa !5
  %2344 = load i32, ptr %84, align 4, !tbaa !9
  %2345 = sext i32 %2344 to i64
  %2346 = getelementptr inbounds double, ptr %2343, i64 %2345
  %2347 = load double, ptr %2346, align 8, !tbaa !23
  %2348 = load ptr, ptr %48, align 8, !tbaa !5
  %2349 = load i32, ptr %84, align 4, !tbaa !9
  %2350 = sext i32 %2349 to i64
  %2351 = getelementptr inbounds double, ptr %2348, i64 %2350
  %2352 = load double, ptr %2351, align 8, !tbaa !23
  %2353 = load ptr, ptr %49, align 8, !tbaa !5
  %2354 = load i32, ptr %84, align 4, !tbaa !9
  %2355 = sext i32 %2354 to i64
  %2356 = getelementptr inbounds double, ptr %2353, i64 %2355
  %2357 = load double, ptr %2356, align 8, !tbaa !23
  %2358 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2342, double noundef %2347, double noundef %2352, double noundef %2357)
  %2359 = fadd double %2337, %2358
  %2360 = load ptr, ptr %82, align 8, !tbaa !5
  %2361 = load i32, ptr %84, align 4, !tbaa !9
  %2362 = sext i32 %2361 to i64
  %2363 = getelementptr inbounds double, ptr %2360, i64 %2362
  %2364 = load double, ptr %2363, align 8, !tbaa !23
  %2365 = load ptr, ptr %83, align 8, !tbaa !5
  %2366 = load i32, ptr %84, align 4, !tbaa !9
  %2367 = sext i32 %2366 to i64
  %2368 = getelementptr inbounds double, ptr %2365, i64 %2367
  %2369 = load double, ptr %2368, align 8, !tbaa !23
  %2370 = load ptr, ptr %50, align 8, !tbaa !5
  %2371 = load i32, ptr %84, align 4, !tbaa !9
  %2372 = sext i32 %2371 to i64
  %2373 = getelementptr inbounds double, ptr %2370, i64 %2372
  %2374 = load double, ptr %2373, align 8, !tbaa !23
  %2375 = load ptr, ptr %51, align 8, !tbaa !5
  %2376 = load i32, ptr %84, align 4, !tbaa !9
  %2377 = sext i32 %2376 to i64
  %2378 = getelementptr inbounds double, ptr %2375, i64 %2377
  %2379 = load double, ptr %2378, align 8, !tbaa !23
  %2380 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2364, double noundef %2369, double noundef %2374, double noundef %2379)
  %2381 = fadd double %2359, %2380
  %2382 = load ptr, ptr %76, align 8, !tbaa !5
  %2383 = load i32, ptr %84, align 4, !tbaa !9
  %2384 = sext i32 %2383 to i64
  %2385 = getelementptr inbounds double, ptr %2382, i64 %2384
  %2386 = load double, ptr %2385, align 8, !tbaa !23
  %2387 = load ptr, ptr %77, align 8, !tbaa !5
  %2388 = load i32, ptr %84, align 4, !tbaa !9
  %2389 = sext i32 %2388 to i64
  %2390 = getelementptr inbounds double, ptr %2387, i64 %2389
  %2391 = load double, ptr %2390, align 8, !tbaa !23
  %2392 = load ptr, ptr %52, align 8, !tbaa !5
  %2393 = load i32, ptr %84, align 4, !tbaa !9
  %2394 = sext i32 %2393 to i64
  %2395 = getelementptr inbounds double, ptr %2392, i64 %2394
  %2396 = load double, ptr %2395, align 8, !tbaa !23
  %2397 = load ptr, ptr %53, align 8, !tbaa !5
  %2398 = load i32, ptr %84, align 4, !tbaa !9
  %2399 = sext i32 %2398 to i64
  %2400 = getelementptr inbounds double, ptr %2397, i64 %2399
  %2401 = load double, ptr %2400, align 8, !tbaa !23
  %2402 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2386, double noundef %2391, double noundef %2396, double noundef %2401)
  %2403 = fadd double %2381, %2402
  %2404 = load ptr, ptr %41, align 8, !tbaa !5
  %2405 = load i32, ptr %84, align 4, !tbaa !9
  %2406 = sext i32 %2405 to i64
  %2407 = getelementptr inbounds double, ptr %2404, i64 %2406
  store double %2403, ptr %2407, align 8, !tbaa !23
  %2408 = load ptr, ptr %12, align 8, !tbaa !5
  %2409 = load i32, ptr %84, align 4, !tbaa !9
  %2410 = sext i32 %2409 to i64
  %2411 = getelementptr inbounds double, ptr %2408, i64 %2410
  %2412 = load double, ptr %2411, align 8, !tbaa !23
  %2413 = load ptr, ptr %13, align 8, !tbaa !5
  %2414 = load i32, ptr %84, align 4, !tbaa !9
  %2415 = sext i32 %2414 to i64
  %2416 = getelementptr inbounds double, ptr %2413, i64 %2415
  %2417 = load double, ptr %2416, align 8, !tbaa !23
  %2418 = load ptr, ptr %54, align 8, !tbaa !5
  %2419 = load i32, ptr %84, align 4, !tbaa !9
  %2420 = sext i32 %2419 to i64
  %2421 = getelementptr inbounds double, ptr %2418, i64 %2420
  %2422 = load double, ptr %2421, align 8, !tbaa !23
  %2423 = load ptr, ptr %55, align 8, !tbaa !5
  %2424 = load i32, ptr %84, align 4, !tbaa !9
  %2425 = sext i32 %2424 to i64
  %2426 = getelementptr inbounds double, ptr %2423, i64 %2425
  %2427 = load double, ptr %2426, align 8, !tbaa !23
  %2428 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2412, double noundef %2417, double noundef %2422, double noundef %2427)
  %2429 = load ptr, ptr %18, align 8, !tbaa !5
  %2430 = load i32, ptr %84, align 4, !tbaa !9
  %2431 = sext i32 %2430 to i64
  %2432 = getelementptr inbounds double, ptr %2429, i64 %2431
  %2433 = load double, ptr %2432, align 8, !tbaa !23
  %2434 = load ptr, ptr %19, align 8, !tbaa !5
  %2435 = load i32, ptr %84, align 4, !tbaa !9
  %2436 = sext i32 %2435 to i64
  %2437 = getelementptr inbounds double, ptr %2434, i64 %2436
  %2438 = load double, ptr %2437, align 8, !tbaa !23
  %2439 = load ptr, ptr %56, align 8, !tbaa !5
  %2440 = load i32, ptr %84, align 4, !tbaa !9
  %2441 = sext i32 %2440 to i64
  %2442 = getelementptr inbounds double, ptr %2439, i64 %2441
  %2443 = load double, ptr %2442, align 8, !tbaa !23
  %2444 = load ptr, ptr %57, align 8, !tbaa !5
  %2445 = load i32, ptr %84, align 4, !tbaa !9
  %2446 = sext i32 %2445 to i64
  %2447 = getelementptr inbounds double, ptr %2444, i64 %2446
  %2448 = load double, ptr %2447, align 8, !tbaa !23
  %2449 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2433, double noundef %2438, double noundef %2443, double noundef %2448)
  %2450 = fmul double 0x3FD5555555555555, %2449
  %2451 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2428, double %2450)
  %2452 = load ptr, ptr %20, align 8, !tbaa !5
  %2453 = load i32, ptr %84, align 4, !tbaa !9
  %2454 = sext i32 %2453 to i64
  %2455 = getelementptr inbounds double, ptr %2452, i64 %2454
  %2456 = load double, ptr %2455, align 8, !tbaa !23
  %2457 = load ptr, ptr %21, align 8, !tbaa !5
  %2458 = load i32, ptr %84, align 4, !tbaa !9
  %2459 = sext i32 %2458 to i64
  %2460 = getelementptr inbounds double, ptr %2457, i64 %2459
  %2461 = load double, ptr %2460, align 8, !tbaa !23
  %2462 = load ptr, ptr %58, align 8, !tbaa !5
  %2463 = load i32, ptr %84, align 4, !tbaa !9
  %2464 = sext i32 %2463 to i64
  %2465 = getelementptr inbounds double, ptr %2462, i64 %2464
  %2466 = load double, ptr %2465, align 8, !tbaa !23
  %2467 = load ptr, ptr %59, align 8, !tbaa !5
  %2468 = load i32, ptr %84, align 4, !tbaa !9
  %2469 = sext i32 %2468 to i64
  %2470 = getelementptr inbounds double, ptr %2467, i64 %2469
  %2471 = load double, ptr %2470, align 8, !tbaa !23
  %2472 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2456, double noundef %2461, double noundef %2466, double noundef %2471)
  %2473 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2472, double %2451)
  %2474 = load ptr, ptr %24, align 8, !tbaa !5
  %2475 = load i32, ptr %84, align 4, !tbaa !9
  %2476 = sext i32 %2475 to i64
  %2477 = getelementptr inbounds double, ptr %2474, i64 %2476
  %2478 = load double, ptr %2477, align 8, !tbaa !23
  %2479 = load ptr, ptr %25, align 8, !tbaa !5
  %2480 = load i32, ptr %84, align 4, !tbaa !9
  %2481 = sext i32 %2480 to i64
  %2482 = getelementptr inbounds double, ptr %2479, i64 %2481
  %2483 = load double, ptr %2482, align 8, !tbaa !23
  %2484 = load ptr, ptr %48, align 8, !tbaa !5
  %2485 = load i32, ptr %84, align 4, !tbaa !9
  %2486 = sext i32 %2485 to i64
  %2487 = getelementptr inbounds double, ptr %2484, i64 %2486
  %2488 = load double, ptr %2487, align 8, !tbaa !23
  %2489 = load ptr, ptr %49, align 8, !tbaa !5
  %2490 = load i32, ptr %84, align 4, !tbaa !9
  %2491 = sext i32 %2490 to i64
  %2492 = getelementptr inbounds double, ptr %2489, i64 %2491
  %2493 = load double, ptr %2492, align 8, !tbaa !23
  %2494 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2478, double noundef %2483, double noundef %2488, double noundef %2493)
  %2495 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2494, double %2473)
  %2496 = load ptr, ptr %30, align 8, !tbaa !5
  %2497 = load i32, ptr %84, align 4, !tbaa !9
  %2498 = sext i32 %2497 to i64
  %2499 = getelementptr inbounds double, ptr %2496, i64 %2498
  %2500 = load double, ptr %2499, align 8, !tbaa !23
  %2501 = load ptr, ptr %31, align 8, !tbaa !5
  %2502 = load i32, ptr %84, align 4, !tbaa !9
  %2503 = sext i32 %2502 to i64
  %2504 = getelementptr inbounds double, ptr %2501, i64 %2503
  %2505 = load double, ptr %2504, align 8, !tbaa !23
  %2506 = load ptr, ptr %50, align 8, !tbaa !5
  %2507 = load i32, ptr %84, align 4, !tbaa !9
  %2508 = sext i32 %2507 to i64
  %2509 = getelementptr inbounds double, ptr %2506, i64 %2508
  %2510 = load double, ptr %2509, align 8, !tbaa !23
  %2511 = load ptr, ptr %51, align 8, !tbaa !5
  %2512 = load i32, ptr %84, align 4, !tbaa !9
  %2513 = sext i32 %2512 to i64
  %2514 = getelementptr inbounds double, ptr %2511, i64 %2513
  %2515 = load double, ptr %2514, align 8, !tbaa !23
  %2516 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2500, double noundef %2505, double noundef %2510, double noundef %2515)
  %2517 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2516, double %2495)
  %2518 = load ptr, ptr %32, align 8, !tbaa !5
  %2519 = load i32, ptr %84, align 4, !tbaa !9
  %2520 = sext i32 %2519 to i64
  %2521 = getelementptr inbounds double, ptr %2518, i64 %2520
  %2522 = load double, ptr %2521, align 8, !tbaa !23
  %2523 = load ptr, ptr %33, align 8, !tbaa !5
  %2524 = load i32, ptr %84, align 4, !tbaa !9
  %2525 = sext i32 %2524 to i64
  %2526 = getelementptr inbounds double, ptr %2523, i64 %2525
  %2527 = load double, ptr %2526, align 8, !tbaa !23
  %2528 = load ptr, ptr %52, align 8, !tbaa !5
  %2529 = load i32, ptr %84, align 4, !tbaa !9
  %2530 = sext i32 %2529 to i64
  %2531 = getelementptr inbounds double, ptr %2528, i64 %2530
  %2532 = load double, ptr %2531, align 8, !tbaa !23
  %2533 = load ptr, ptr %53, align 8, !tbaa !5
  %2534 = load i32, ptr %84, align 4, !tbaa !9
  %2535 = sext i32 %2534 to i64
  %2536 = getelementptr inbounds double, ptr %2533, i64 %2535
  %2537 = load double, ptr %2536, align 8, !tbaa !23
  %2538 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2522, double noundef %2527, double noundef %2532, double noundef %2537)
  %2539 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2538, double %2517)
  %2540 = load ptr, ptr %42, align 8, !tbaa !5
  %2541 = load i32, ptr %84, align 4, !tbaa !9
  %2542 = sext i32 %2541 to i64
  %2543 = getelementptr inbounds double, ptr %2540, i64 %2542
  store double %2539, ptr %2543, align 8, !tbaa !23
  %2544 = load ptr, ptr %18, align 8, !tbaa !5
  %2545 = load i32, ptr %84, align 4, !tbaa !9
  %2546 = sext i32 %2545 to i64
  %2547 = getelementptr inbounds double, ptr %2544, i64 %2546
  %2548 = load double, ptr %2547, align 8, !tbaa !23
  %2549 = load ptr, ptr %19, align 8, !tbaa !5
  %2550 = load i32, ptr %84, align 4, !tbaa !9
  %2551 = sext i32 %2550 to i64
  %2552 = getelementptr inbounds double, ptr %2549, i64 %2551
  %2553 = load double, ptr %2552, align 8, !tbaa !23
  %2554 = load ptr, ptr %54, align 8, !tbaa !5
  %2555 = load i32, ptr %84, align 4, !tbaa !9
  %2556 = sext i32 %2555 to i64
  %2557 = getelementptr inbounds double, ptr %2554, i64 %2556
  %2558 = load double, ptr %2557, align 8, !tbaa !23
  %2559 = load ptr, ptr %55, align 8, !tbaa !5
  %2560 = load i32, ptr %84, align 4, !tbaa !9
  %2561 = sext i32 %2560 to i64
  %2562 = getelementptr inbounds double, ptr %2559, i64 %2561
  %2563 = load double, ptr %2562, align 8, !tbaa !23
  %2564 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2548, double noundef %2553, double noundef %2558, double noundef %2563)
  %2565 = load ptr, ptr %14, align 8, !tbaa !5
  %2566 = load i32, ptr %84, align 4, !tbaa !9
  %2567 = sext i32 %2566 to i64
  %2568 = getelementptr inbounds double, ptr %2565, i64 %2567
  %2569 = load double, ptr %2568, align 8, !tbaa !23
  %2570 = load ptr, ptr %15, align 8, !tbaa !5
  %2571 = load i32, ptr %84, align 4, !tbaa !9
  %2572 = sext i32 %2571 to i64
  %2573 = getelementptr inbounds double, ptr %2570, i64 %2572
  %2574 = load double, ptr %2573, align 8, !tbaa !23
  %2575 = load ptr, ptr %56, align 8, !tbaa !5
  %2576 = load i32, ptr %84, align 4, !tbaa !9
  %2577 = sext i32 %2576 to i64
  %2578 = getelementptr inbounds double, ptr %2575, i64 %2577
  %2579 = load double, ptr %2578, align 8, !tbaa !23
  %2580 = load ptr, ptr %57, align 8, !tbaa !5
  %2581 = load i32, ptr %84, align 4, !tbaa !9
  %2582 = sext i32 %2581 to i64
  %2583 = getelementptr inbounds double, ptr %2580, i64 %2582
  %2584 = load double, ptr %2583, align 8, !tbaa !23
  %2585 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2569, double noundef %2574, double noundef %2579, double noundef %2584)
  %2586 = fmul double 0x3FD5555555555555, %2585
  %2587 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2564, double %2586)
  %2588 = load ptr, ptr %22, align 8, !tbaa !5
  %2589 = load i32, ptr %84, align 4, !tbaa !9
  %2590 = sext i32 %2589 to i64
  %2591 = getelementptr inbounds double, ptr %2588, i64 %2590
  %2592 = load double, ptr %2591, align 8, !tbaa !23
  %2593 = load ptr, ptr %23, align 8, !tbaa !5
  %2594 = load i32, ptr %84, align 4, !tbaa !9
  %2595 = sext i32 %2594 to i64
  %2596 = getelementptr inbounds double, ptr %2593, i64 %2595
  %2597 = load double, ptr %2596, align 8, !tbaa !23
  %2598 = load ptr, ptr %58, align 8, !tbaa !5
  %2599 = load i32, ptr %84, align 4, !tbaa !9
  %2600 = sext i32 %2599 to i64
  %2601 = getelementptr inbounds double, ptr %2598, i64 %2600
  %2602 = load double, ptr %2601, align 8, !tbaa !23
  %2603 = load ptr, ptr %59, align 8, !tbaa !5
  %2604 = load i32, ptr %84, align 4, !tbaa !9
  %2605 = sext i32 %2604 to i64
  %2606 = getelementptr inbounds double, ptr %2603, i64 %2605
  %2607 = load double, ptr %2606, align 8, !tbaa !23
  %2608 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2592, double noundef %2597, double noundef %2602, double noundef %2607)
  %2609 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2608, double %2587)
  %2610 = load ptr, ptr %30, align 8, !tbaa !5
  %2611 = load i32, ptr %84, align 4, !tbaa !9
  %2612 = sext i32 %2611 to i64
  %2613 = getelementptr inbounds double, ptr %2610, i64 %2612
  %2614 = load double, ptr %2613, align 8, !tbaa !23
  %2615 = load ptr, ptr %31, align 8, !tbaa !5
  %2616 = load i32, ptr %84, align 4, !tbaa !9
  %2617 = sext i32 %2616 to i64
  %2618 = getelementptr inbounds double, ptr %2615, i64 %2617
  %2619 = load double, ptr %2618, align 8, !tbaa !23
  %2620 = load ptr, ptr %48, align 8, !tbaa !5
  %2621 = load i32, ptr %84, align 4, !tbaa !9
  %2622 = sext i32 %2621 to i64
  %2623 = getelementptr inbounds double, ptr %2620, i64 %2622
  %2624 = load double, ptr %2623, align 8, !tbaa !23
  %2625 = load ptr, ptr %49, align 8, !tbaa !5
  %2626 = load i32, ptr %84, align 4, !tbaa !9
  %2627 = sext i32 %2626 to i64
  %2628 = getelementptr inbounds double, ptr %2625, i64 %2627
  %2629 = load double, ptr %2628, align 8, !tbaa !23
  %2630 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2614, double noundef %2619, double noundef %2624, double noundef %2629)
  %2631 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2630, double %2609)
  %2632 = load ptr, ptr %26, align 8, !tbaa !5
  %2633 = load i32, ptr %84, align 4, !tbaa !9
  %2634 = sext i32 %2633 to i64
  %2635 = getelementptr inbounds double, ptr %2632, i64 %2634
  %2636 = load double, ptr %2635, align 8, !tbaa !23
  %2637 = load ptr, ptr %27, align 8, !tbaa !5
  %2638 = load i32, ptr %84, align 4, !tbaa !9
  %2639 = sext i32 %2638 to i64
  %2640 = getelementptr inbounds double, ptr %2637, i64 %2639
  %2641 = load double, ptr %2640, align 8, !tbaa !23
  %2642 = load ptr, ptr %50, align 8, !tbaa !5
  %2643 = load i32, ptr %84, align 4, !tbaa !9
  %2644 = sext i32 %2643 to i64
  %2645 = getelementptr inbounds double, ptr %2642, i64 %2644
  %2646 = load double, ptr %2645, align 8, !tbaa !23
  %2647 = load ptr, ptr %51, align 8, !tbaa !5
  %2648 = load i32, ptr %84, align 4, !tbaa !9
  %2649 = sext i32 %2648 to i64
  %2650 = getelementptr inbounds double, ptr %2647, i64 %2649
  %2651 = load double, ptr %2650, align 8, !tbaa !23
  %2652 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2636, double noundef %2641, double noundef %2646, double noundef %2651)
  %2653 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2652, double %2631)
  %2654 = load ptr, ptr %34, align 8, !tbaa !5
  %2655 = load i32, ptr %84, align 4, !tbaa !9
  %2656 = sext i32 %2655 to i64
  %2657 = getelementptr inbounds double, ptr %2654, i64 %2656
  %2658 = load double, ptr %2657, align 8, !tbaa !23
  %2659 = load ptr, ptr %35, align 8, !tbaa !5
  %2660 = load i32, ptr %84, align 4, !tbaa !9
  %2661 = sext i32 %2660 to i64
  %2662 = getelementptr inbounds double, ptr %2659, i64 %2661
  %2663 = load double, ptr %2662, align 8, !tbaa !23
  %2664 = load ptr, ptr %52, align 8, !tbaa !5
  %2665 = load i32, ptr %84, align 4, !tbaa !9
  %2666 = sext i32 %2665 to i64
  %2667 = getelementptr inbounds double, ptr %2664, i64 %2666
  %2668 = load double, ptr %2667, align 8, !tbaa !23
  %2669 = load ptr, ptr %53, align 8, !tbaa !5
  %2670 = load i32, ptr %84, align 4, !tbaa !9
  %2671 = sext i32 %2670 to i64
  %2672 = getelementptr inbounds double, ptr %2669, i64 %2671
  %2673 = load double, ptr %2672, align 8, !tbaa !23
  %2674 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2658, double noundef %2663, double noundef %2668, double noundef %2673)
  %2675 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2674, double %2653)
  %2676 = load ptr, ptr %44, align 8, !tbaa !5
  %2677 = load i32, ptr %84, align 4, !tbaa !9
  %2678 = sext i32 %2677 to i64
  %2679 = getelementptr inbounds double, ptr %2676, i64 %2678
  store double %2675, ptr %2679, align 8, !tbaa !23
  %2680 = load ptr, ptr %20, align 8, !tbaa !5
  %2681 = load i32, ptr %84, align 4, !tbaa !9
  %2682 = sext i32 %2681 to i64
  %2683 = getelementptr inbounds double, ptr %2680, i64 %2682
  %2684 = load double, ptr %2683, align 8, !tbaa !23
  %2685 = load ptr, ptr %21, align 8, !tbaa !5
  %2686 = load i32, ptr %84, align 4, !tbaa !9
  %2687 = sext i32 %2686 to i64
  %2688 = getelementptr inbounds double, ptr %2685, i64 %2687
  %2689 = load double, ptr %2688, align 8, !tbaa !23
  %2690 = load ptr, ptr %54, align 8, !tbaa !5
  %2691 = load i32, ptr %84, align 4, !tbaa !9
  %2692 = sext i32 %2691 to i64
  %2693 = getelementptr inbounds double, ptr %2690, i64 %2692
  %2694 = load double, ptr %2693, align 8, !tbaa !23
  %2695 = load ptr, ptr %55, align 8, !tbaa !5
  %2696 = load i32, ptr %84, align 4, !tbaa !9
  %2697 = sext i32 %2696 to i64
  %2698 = getelementptr inbounds double, ptr %2695, i64 %2697
  %2699 = load double, ptr %2698, align 8, !tbaa !23
  %2700 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2684, double noundef %2689, double noundef %2694, double noundef %2699)
  %2701 = load ptr, ptr %22, align 8, !tbaa !5
  %2702 = load i32, ptr %84, align 4, !tbaa !9
  %2703 = sext i32 %2702 to i64
  %2704 = getelementptr inbounds double, ptr %2701, i64 %2703
  %2705 = load double, ptr %2704, align 8, !tbaa !23
  %2706 = load ptr, ptr %23, align 8, !tbaa !5
  %2707 = load i32, ptr %84, align 4, !tbaa !9
  %2708 = sext i32 %2707 to i64
  %2709 = getelementptr inbounds double, ptr %2706, i64 %2708
  %2710 = load double, ptr %2709, align 8, !tbaa !23
  %2711 = load ptr, ptr %56, align 8, !tbaa !5
  %2712 = load i32, ptr %84, align 4, !tbaa !9
  %2713 = sext i32 %2712 to i64
  %2714 = getelementptr inbounds double, ptr %2711, i64 %2713
  %2715 = load double, ptr %2714, align 8, !tbaa !23
  %2716 = load ptr, ptr %57, align 8, !tbaa !5
  %2717 = load i32, ptr %84, align 4, !tbaa !9
  %2718 = sext i32 %2717 to i64
  %2719 = getelementptr inbounds double, ptr %2716, i64 %2718
  %2720 = load double, ptr %2719, align 8, !tbaa !23
  %2721 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2705, double noundef %2710, double noundef %2715, double noundef %2720)
  %2722 = fmul double 0x3FD5555555555555, %2721
  %2723 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2700, double %2722)
  %2724 = load ptr, ptr %16, align 8, !tbaa !5
  %2725 = load i32, ptr %84, align 4, !tbaa !9
  %2726 = sext i32 %2725 to i64
  %2727 = getelementptr inbounds double, ptr %2724, i64 %2726
  %2728 = load double, ptr %2727, align 8, !tbaa !23
  %2729 = load ptr, ptr %17, align 8, !tbaa !5
  %2730 = load i32, ptr %84, align 4, !tbaa !9
  %2731 = sext i32 %2730 to i64
  %2732 = getelementptr inbounds double, ptr %2729, i64 %2731
  %2733 = load double, ptr %2732, align 8, !tbaa !23
  %2734 = load ptr, ptr %58, align 8, !tbaa !5
  %2735 = load i32, ptr %84, align 4, !tbaa !9
  %2736 = sext i32 %2735 to i64
  %2737 = getelementptr inbounds double, ptr %2734, i64 %2736
  %2738 = load double, ptr %2737, align 8, !tbaa !23
  %2739 = load ptr, ptr %59, align 8, !tbaa !5
  %2740 = load i32, ptr %84, align 4, !tbaa !9
  %2741 = sext i32 %2740 to i64
  %2742 = getelementptr inbounds double, ptr %2739, i64 %2741
  %2743 = load double, ptr %2742, align 8, !tbaa !23
  %2744 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2728, double noundef %2733, double noundef %2738, double noundef %2743)
  %2745 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2744, double %2723)
  %2746 = load ptr, ptr %32, align 8, !tbaa !5
  %2747 = load i32, ptr %84, align 4, !tbaa !9
  %2748 = sext i32 %2747 to i64
  %2749 = getelementptr inbounds double, ptr %2746, i64 %2748
  %2750 = load double, ptr %2749, align 8, !tbaa !23
  %2751 = load ptr, ptr %33, align 8, !tbaa !5
  %2752 = load i32, ptr %84, align 4, !tbaa !9
  %2753 = sext i32 %2752 to i64
  %2754 = getelementptr inbounds double, ptr %2751, i64 %2753
  %2755 = load double, ptr %2754, align 8, !tbaa !23
  %2756 = load ptr, ptr %48, align 8, !tbaa !5
  %2757 = load i32, ptr %84, align 4, !tbaa !9
  %2758 = sext i32 %2757 to i64
  %2759 = getelementptr inbounds double, ptr %2756, i64 %2758
  %2760 = load double, ptr %2759, align 8, !tbaa !23
  %2761 = load ptr, ptr %49, align 8, !tbaa !5
  %2762 = load i32, ptr %84, align 4, !tbaa !9
  %2763 = sext i32 %2762 to i64
  %2764 = getelementptr inbounds double, ptr %2761, i64 %2763
  %2765 = load double, ptr %2764, align 8, !tbaa !23
  %2766 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2750, double noundef %2755, double noundef %2760, double noundef %2765)
  %2767 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2766, double %2745)
  %2768 = load ptr, ptr %34, align 8, !tbaa !5
  %2769 = load i32, ptr %84, align 4, !tbaa !9
  %2770 = sext i32 %2769 to i64
  %2771 = getelementptr inbounds double, ptr %2768, i64 %2770
  %2772 = load double, ptr %2771, align 8, !tbaa !23
  %2773 = load ptr, ptr %35, align 8, !tbaa !5
  %2774 = load i32, ptr %84, align 4, !tbaa !9
  %2775 = sext i32 %2774 to i64
  %2776 = getelementptr inbounds double, ptr %2773, i64 %2775
  %2777 = load double, ptr %2776, align 8, !tbaa !23
  %2778 = load ptr, ptr %50, align 8, !tbaa !5
  %2779 = load i32, ptr %84, align 4, !tbaa !9
  %2780 = sext i32 %2779 to i64
  %2781 = getelementptr inbounds double, ptr %2778, i64 %2780
  %2782 = load double, ptr %2781, align 8, !tbaa !23
  %2783 = load ptr, ptr %51, align 8, !tbaa !5
  %2784 = load i32, ptr %84, align 4, !tbaa !9
  %2785 = sext i32 %2784 to i64
  %2786 = getelementptr inbounds double, ptr %2783, i64 %2785
  %2787 = load double, ptr %2786, align 8, !tbaa !23
  %2788 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2772, double noundef %2777, double noundef %2782, double noundef %2787)
  %2789 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2788, double %2767)
  %2790 = load ptr, ptr %28, align 8, !tbaa !5
  %2791 = load i32, ptr %84, align 4, !tbaa !9
  %2792 = sext i32 %2791 to i64
  %2793 = getelementptr inbounds double, ptr %2790, i64 %2792
  %2794 = load double, ptr %2793, align 8, !tbaa !23
  %2795 = load ptr, ptr %29, align 8, !tbaa !5
  %2796 = load i32, ptr %84, align 4, !tbaa !9
  %2797 = sext i32 %2796 to i64
  %2798 = getelementptr inbounds double, ptr %2795, i64 %2797
  %2799 = load double, ptr %2798, align 8, !tbaa !23
  %2800 = load ptr, ptr %52, align 8, !tbaa !5
  %2801 = load i32, ptr %84, align 4, !tbaa !9
  %2802 = sext i32 %2801 to i64
  %2803 = getelementptr inbounds double, ptr %2800, i64 %2802
  %2804 = load double, ptr %2803, align 8, !tbaa !23
  %2805 = load ptr, ptr %53, align 8, !tbaa !5
  %2806 = load i32, ptr %84, align 4, !tbaa !9
  %2807 = sext i32 %2806 to i64
  %2808 = getelementptr inbounds double, ptr %2805, i64 %2807
  %2809 = load double, ptr %2808, align 8, !tbaa !23
  %2810 = call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2794, double noundef %2799, double noundef %2804, double noundef %2809)
  %2811 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2810, double %2789)
  %2812 = load ptr, ptr %46, align 8, !tbaa !5
  %2813 = load i32, ptr %84, align 4, !tbaa !9
  %2814 = sext i32 %2813 to i64
  %2815 = getelementptr inbounds double, ptr %2812, i64 %2814
  store double %2811, ptr %2815, align 8, !tbaa !23
  %2816 = load ptr, ptr %12, align 8, !tbaa !5
  %2817 = load i32, ptr %84, align 4, !tbaa !9
  %2818 = sext i32 %2817 to i64
  %2819 = getelementptr inbounds double, ptr %2816, i64 %2818
  %2820 = load double, ptr %2819, align 8, !tbaa !23
  %2821 = load ptr, ptr %13, align 8, !tbaa !5
  %2822 = load i32, ptr %84, align 4, !tbaa !9
  %2823 = sext i32 %2822 to i64
  %2824 = getelementptr inbounds double, ptr %2821, i64 %2823
  %2825 = load double, ptr %2824, align 8, !tbaa !23
  %2826 = load ptr, ptr %54, align 8, !tbaa !5
  %2827 = load i32, ptr %84, align 4, !tbaa !9
  %2828 = sext i32 %2827 to i64
  %2829 = getelementptr inbounds double, ptr %2826, i64 %2828
  %2830 = load double, ptr %2829, align 8, !tbaa !23
  %2831 = load ptr, ptr %55, align 8, !tbaa !5
  %2832 = load i32, ptr %84, align 4, !tbaa !9
  %2833 = sext i32 %2832 to i64
  %2834 = getelementptr inbounds double, ptr %2831, i64 %2833
  %2835 = load double, ptr %2834, align 8, !tbaa !23
  %2836 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2820, double noundef %2825, double noundef %2830, double noundef %2835)
  %2837 = load ptr, ptr %18, align 8, !tbaa !5
  %2838 = load i32, ptr %84, align 4, !tbaa !9
  %2839 = sext i32 %2838 to i64
  %2840 = getelementptr inbounds double, ptr %2837, i64 %2839
  %2841 = load double, ptr %2840, align 8, !tbaa !23
  %2842 = load ptr, ptr %19, align 8, !tbaa !5
  %2843 = load i32, ptr %84, align 4, !tbaa !9
  %2844 = sext i32 %2843 to i64
  %2845 = getelementptr inbounds double, ptr %2842, i64 %2844
  %2846 = load double, ptr %2845, align 8, !tbaa !23
  %2847 = load ptr, ptr %56, align 8, !tbaa !5
  %2848 = load i32, ptr %84, align 4, !tbaa !9
  %2849 = sext i32 %2848 to i64
  %2850 = getelementptr inbounds double, ptr %2847, i64 %2849
  %2851 = load double, ptr %2850, align 8, !tbaa !23
  %2852 = load ptr, ptr %57, align 8, !tbaa !5
  %2853 = load i32, ptr %84, align 4, !tbaa !9
  %2854 = sext i32 %2853 to i64
  %2855 = getelementptr inbounds double, ptr %2852, i64 %2854
  %2856 = load double, ptr %2855, align 8, !tbaa !23
  %2857 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2841, double noundef %2846, double noundef %2851, double noundef %2856)
  %2858 = fmul double 0x3FD5555555555555, %2857
  %2859 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2836, double %2858)
  %2860 = load ptr, ptr %20, align 8, !tbaa !5
  %2861 = load i32, ptr %84, align 4, !tbaa !9
  %2862 = sext i32 %2861 to i64
  %2863 = getelementptr inbounds double, ptr %2860, i64 %2862
  %2864 = load double, ptr %2863, align 8, !tbaa !23
  %2865 = load ptr, ptr %21, align 8, !tbaa !5
  %2866 = load i32, ptr %84, align 4, !tbaa !9
  %2867 = sext i32 %2866 to i64
  %2868 = getelementptr inbounds double, ptr %2865, i64 %2867
  %2869 = load double, ptr %2868, align 8, !tbaa !23
  %2870 = load ptr, ptr %58, align 8, !tbaa !5
  %2871 = load i32, ptr %84, align 4, !tbaa !9
  %2872 = sext i32 %2871 to i64
  %2873 = getelementptr inbounds double, ptr %2870, i64 %2872
  %2874 = load double, ptr %2873, align 8, !tbaa !23
  %2875 = load ptr, ptr %59, align 8, !tbaa !5
  %2876 = load i32, ptr %84, align 4, !tbaa !9
  %2877 = sext i32 %2876 to i64
  %2878 = getelementptr inbounds double, ptr %2875, i64 %2877
  %2879 = load double, ptr %2878, align 8, !tbaa !23
  %2880 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2864, double noundef %2869, double noundef %2874, double noundef %2879)
  %2881 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2880, double %2859)
  %2882 = load ptr, ptr %24, align 8, !tbaa !5
  %2883 = load i32, ptr %84, align 4, !tbaa !9
  %2884 = sext i32 %2883 to i64
  %2885 = getelementptr inbounds double, ptr %2882, i64 %2884
  %2886 = load double, ptr %2885, align 8, !tbaa !23
  %2887 = load ptr, ptr %25, align 8, !tbaa !5
  %2888 = load i32, ptr %84, align 4, !tbaa !9
  %2889 = sext i32 %2888 to i64
  %2890 = getelementptr inbounds double, ptr %2887, i64 %2889
  %2891 = load double, ptr %2890, align 8, !tbaa !23
  %2892 = load ptr, ptr %48, align 8, !tbaa !5
  %2893 = load i32, ptr %84, align 4, !tbaa !9
  %2894 = sext i32 %2893 to i64
  %2895 = getelementptr inbounds double, ptr %2892, i64 %2894
  %2896 = load double, ptr %2895, align 8, !tbaa !23
  %2897 = load ptr, ptr %49, align 8, !tbaa !5
  %2898 = load i32, ptr %84, align 4, !tbaa !9
  %2899 = sext i32 %2898 to i64
  %2900 = getelementptr inbounds double, ptr %2897, i64 %2899
  %2901 = load double, ptr %2900, align 8, !tbaa !23
  %2902 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2886, double noundef %2891, double noundef %2896, double noundef %2901)
  %2903 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2902, double %2881)
  %2904 = load ptr, ptr %30, align 8, !tbaa !5
  %2905 = load i32, ptr %84, align 4, !tbaa !9
  %2906 = sext i32 %2905 to i64
  %2907 = getelementptr inbounds double, ptr %2904, i64 %2906
  %2908 = load double, ptr %2907, align 8, !tbaa !23
  %2909 = load ptr, ptr %31, align 8, !tbaa !5
  %2910 = load i32, ptr %84, align 4, !tbaa !9
  %2911 = sext i32 %2910 to i64
  %2912 = getelementptr inbounds double, ptr %2909, i64 %2911
  %2913 = load double, ptr %2912, align 8, !tbaa !23
  %2914 = load ptr, ptr %50, align 8, !tbaa !5
  %2915 = load i32, ptr %84, align 4, !tbaa !9
  %2916 = sext i32 %2915 to i64
  %2917 = getelementptr inbounds double, ptr %2914, i64 %2916
  %2918 = load double, ptr %2917, align 8, !tbaa !23
  %2919 = load ptr, ptr %51, align 8, !tbaa !5
  %2920 = load i32, ptr %84, align 4, !tbaa !9
  %2921 = sext i32 %2920 to i64
  %2922 = getelementptr inbounds double, ptr %2919, i64 %2921
  %2923 = load double, ptr %2922, align 8, !tbaa !23
  %2924 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2908, double noundef %2913, double noundef %2918, double noundef %2923)
  %2925 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2924, double %2903)
  %2926 = load ptr, ptr %32, align 8, !tbaa !5
  %2927 = load i32, ptr %84, align 4, !tbaa !9
  %2928 = sext i32 %2927 to i64
  %2929 = getelementptr inbounds double, ptr %2926, i64 %2928
  %2930 = load double, ptr %2929, align 8, !tbaa !23
  %2931 = load ptr, ptr %33, align 8, !tbaa !5
  %2932 = load i32, ptr %84, align 4, !tbaa !9
  %2933 = sext i32 %2932 to i64
  %2934 = getelementptr inbounds double, ptr %2931, i64 %2933
  %2935 = load double, ptr %2934, align 8, !tbaa !23
  %2936 = load ptr, ptr %52, align 8, !tbaa !5
  %2937 = load i32, ptr %84, align 4, !tbaa !9
  %2938 = sext i32 %2937 to i64
  %2939 = getelementptr inbounds double, ptr %2936, i64 %2938
  %2940 = load double, ptr %2939, align 8, !tbaa !23
  %2941 = load ptr, ptr %53, align 8, !tbaa !5
  %2942 = load i32, ptr %84, align 4, !tbaa !9
  %2943 = sext i32 %2942 to i64
  %2944 = getelementptr inbounds double, ptr %2941, i64 %2943
  %2945 = load double, ptr %2944, align 8, !tbaa !23
  %2946 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2930, double noundef %2935, double noundef %2940, double noundef %2945)
  %2947 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2946, double %2925)
  %2948 = load ptr, ptr %43, align 8, !tbaa !5
  %2949 = load i32, ptr %84, align 4, !tbaa !9
  %2950 = sext i32 %2949 to i64
  %2951 = getelementptr inbounds double, ptr %2948, i64 %2950
  store double %2947, ptr %2951, align 8, !tbaa !23
  %2952 = load ptr, ptr %18, align 8, !tbaa !5
  %2953 = load i32, ptr %84, align 4, !tbaa !9
  %2954 = sext i32 %2953 to i64
  %2955 = getelementptr inbounds double, ptr %2952, i64 %2954
  %2956 = load double, ptr %2955, align 8, !tbaa !23
  %2957 = load ptr, ptr %19, align 8, !tbaa !5
  %2958 = load i32, ptr %84, align 4, !tbaa !9
  %2959 = sext i32 %2958 to i64
  %2960 = getelementptr inbounds double, ptr %2957, i64 %2959
  %2961 = load double, ptr %2960, align 8, !tbaa !23
  %2962 = load ptr, ptr %54, align 8, !tbaa !5
  %2963 = load i32, ptr %84, align 4, !tbaa !9
  %2964 = sext i32 %2963 to i64
  %2965 = getelementptr inbounds double, ptr %2962, i64 %2964
  %2966 = load double, ptr %2965, align 8, !tbaa !23
  %2967 = load ptr, ptr %55, align 8, !tbaa !5
  %2968 = load i32, ptr %84, align 4, !tbaa !9
  %2969 = sext i32 %2968 to i64
  %2970 = getelementptr inbounds double, ptr %2967, i64 %2969
  %2971 = load double, ptr %2970, align 8, !tbaa !23
  %2972 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2956, double noundef %2961, double noundef %2966, double noundef %2971)
  %2973 = load ptr, ptr %14, align 8, !tbaa !5
  %2974 = load i32, ptr %84, align 4, !tbaa !9
  %2975 = sext i32 %2974 to i64
  %2976 = getelementptr inbounds double, ptr %2973, i64 %2975
  %2977 = load double, ptr %2976, align 8, !tbaa !23
  %2978 = load ptr, ptr %15, align 8, !tbaa !5
  %2979 = load i32, ptr %84, align 4, !tbaa !9
  %2980 = sext i32 %2979 to i64
  %2981 = getelementptr inbounds double, ptr %2978, i64 %2980
  %2982 = load double, ptr %2981, align 8, !tbaa !23
  %2983 = load ptr, ptr %56, align 8, !tbaa !5
  %2984 = load i32, ptr %84, align 4, !tbaa !9
  %2985 = sext i32 %2984 to i64
  %2986 = getelementptr inbounds double, ptr %2983, i64 %2985
  %2987 = load double, ptr %2986, align 8, !tbaa !23
  %2988 = load ptr, ptr %57, align 8, !tbaa !5
  %2989 = load i32, ptr %84, align 4, !tbaa !9
  %2990 = sext i32 %2989 to i64
  %2991 = getelementptr inbounds double, ptr %2988, i64 %2990
  %2992 = load double, ptr %2991, align 8, !tbaa !23
  %2993 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %2977, double noundef %2982, double noundef %2987, double noundef %2992)
  %2994 = fmul double 0x3FD5555555555555, %2993
  %2995 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %2972, double %2994)
  %2996 = load ptr, ptr %22, align 8, !tbaa !5
  %2997 = load i32, ptr %84, align 4, !tbaa !9
  %2998 = sext i32 %2997 to i64
  %2999 = getelementptr inbounds double, ptr %2996, i64 %2998
  %3000 = load double, ptr %2999, align 8, !tbaa !23
  %3001 = load ptr, ptr %23, align 8, !tbaa !5
  %3002 = load i32, ptr %84, align 4, !tbaa !9
  %3003 = sext i32 %3002 to i64
  %3004 = getelementptr inbounds double, ptr %3001, i64 %3003
  %3005 = load double, ptr %3004, align 8, !tbaa !23
  %3006 = load ptr, ptr %58, align 8, !tbaa !5
  %3007 = load i32, ptr %84, align 4, !tbaa !9
  %3008 = sext i32 %3007 to i64
  %3009 = getelementptr inbounds double, ptr %3006, i64 %3008
  %3010 = load double, ptr %3009, align 8, !tbaa !23
  %3011 = load ptr, ptr %59, align 8, !tbaa !5
  %3012 = load i32, ptr %84, align 4, !tbaa !9
  %3013 = sext i32 %3012 to i64
  %3014 = getelementptr inbounds double, ptr %3011, i64 %3013
  %3015 = load double, ptr %3014, align 8, !tbaa !23
  %3016 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3000, double noundef %3005, double noundef %3010, double noundef %3015)
  %3017 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3016, double %2995)
  %3018 = load ptr, ptr %30, align 8, !tbaa !5
  %3019 = load i32, ptr %84, align 4, !tbaa !9
  %3020 = sext i32 %3019 to i64
  %3021 = getelementptr inbounds double, ptr %3018, i64 %3020
  %3022 = load double, ptr %3021, align 8, !tbaa !23
  %3023 = load ptr, ptr %31, align 8, !tbaa !5
  %3024 = load i32, ptr %84, align 4, !tbaa !9
  %3025 = sext i32 %3024 to i64
  %3026 = getelementptr inbounds double, ptr %3023, i64 %3025
  %3027 = load double, ptr %3026, align 8, !tbaa !23
  %3028 = load ptr, ptr %48, align 8, !tbaa !5
  %3029 = load i32, ptr %84, align 4, !tbaa !9
  %3030 = sext i32 %3029 to i64
  %3031 = getelementptr inbounds double, ptr %3028, i64 %3030
  %3032 = load double, ptr %3031, align 8, !tbaa !23
  %3033 = load ptr, ptr %49, align 8, !tbaa !5
  %3034 = load i32, ptr %84, align 4, !tbaa !9
  %3035 = sext i32 %3034 to i64
  %3036 = getelementptr inbounds double, ptr %3033, i64 %3035
  %3037 = load double, ptr %3036, align 8, !tbaa !23
  %3038 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3022, double noundef %3027, double noundef %3032, double noundef %3037)
  %3039 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3038, double %3017)
  %3040 = load ptr, ptr %26, align 8, !tbaa !5
  %3041 = load i32, ptr %84, align 4, !tbaa !9
  %3042 = sext i32 %3041 to i64
  %3043 = getelementptr inbounds double, ptr %3040, i64 %3042
  %3044 = load double, ptr %3043, align 8, !tbaa !23
  %3045 = load ptr, ptr %27, align 8, !tbaa !5
  %3046 = load i32, ptr %84, align 4, !tbaa !9
  %3047 = sext i32 %3046 to i64
  %3048 = getelementptr inbounds double, ptr %3045, i64 %3047
  %3049 = load double, ptr %3048, align 8, !tbaa !23
  %3050 = load ptr, ptr %50, align 8, !tbaa !5
  %3051 = load i32, ptr %84, align 4, !tbaa !9
  %3052 = sext i32 %3051 to i64
  %3053 = getelementptr inbounds double, ptr %3050, i64 %3052
  %3054 = load double, ptr %3053, align 8, !tbaa !23
  %3055 = load ptr, ptr %51, align 8, !tbaa !5
  %3056 = load i32, ptr %84, align 4, !tbaa !9
  %3057 = sext i32 %3056 to i64
  %3058 = getelementptr inbounds double, ptr %3055, i64 %3057
  %3059 = load double, ptr %3058, align 8, !tbaa !23
  %3060 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3044, double noundef %3049, double noundef %3054, double noundef %3059)
  %3061 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3060, double %3039)
  %3062 = load ptr, ptr %34, align 8, !tbaa !5
  %3063 = load i32, ptr %84, align 4, !tbaa !9
  %3064 = sext i32 %3063 to i64
  %3065 = getelementptr inbounds double, ptr %3062, i64 %3064
  %3066 = load double, ptr %3065, align 8, !tbaa !23
  %3067 = load ptr, ptr %35, align 8, !tbaa !5
  %3068 = load i32, ptr %84, align 4, !tbaa !9
  %3069 = sext i32 %3068 to i64
  %3070 = getelementptr inbounds double, ptr %3067, i64 %3069
  %3071 = load double, ptr %3070, align 8, !tbaa !23
  %3072 = load ptr, ptr %52, align 8, !tbaa !5
  %3073 = load i32, ptr %84, align 4, !tbaa !9
  %3074 = sext i32 %3073 to i64
  %3075 = getelementptr inbounds double, ptr %3072, i64 %3074
  %3076 = load double, ptr %3075, align 8, !tbaa !23
  %3077 = load ptr, ptr %53, align 8, !tbaa !5
  %3078 = load i32, ptr %84, align 4, !tbaa !9
  %3079 = sext i32 %3078 to i64
  %3080 = getelementptr inbounds double, ptr %3077, i64 %3079
  %3081 = load double, ptr %3080, align 8, !tbaa !23
  %3082 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3066, double noundef %3071, double noundef %3076, double noundef %3081)
  %3083 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3082, double %3061)
  %3084 = load ptr, ptr %45, align 8, !tbaa !5
  %3085 = load i32, ptr %84, align 4, !tbaa !9
  %3086 = sext i32 %3085 to i64
  %3087 = getelementptr inbounds double, ptr %3084, i64 %3086
  store double %3083, ptr %3087, align 8, !tbaa !23
  %3088 = load ptr, ptr %20, align 8, !tbaa !5
  %3089 = load i32, ptr %84, align 4, !tbaa !9
  %3090 = sext i32 %3089 to i64
  %3091 = getelementptr inbounds double, ptr %3088, i64 %3090
  %3092 = load double, ptr %3091, align 8, !tbaa !23
  %3093 = load ptr, ptr %21, align 8, !tbaa !5
  %3094 = load i32, ptr %84, align 4, !tbaa !9
  %3095 = sext i32 %3094 to i64
  %3096 = getelementptr inbounds double, ptr %3093, i64 %3095
  %3097 = load double, ptr %3096, align 8, !tbaa !23
  %3098 = load ptr, ptr %54, align 8, !tbaa !5
  %3099 = load i32, ptr %84, align 4, !tbaa !9
  %3100 = sext i32 %3099 to i64
  %3101 = getelementptr inbounds double, ptr %3098, i64 %3100
  %3102 = load double, ptr %3101, align 8, !tbaa !23
  %3103 = load ptr, ptr %55, align 8, !tbaa !5
  %3104 = load i32, ptr %84, align 4, !tbaa !9
  %3105 = sext i32 %3104 to i64
  %3106 = getelementptr inbounds double, ptr %3103, i64 %3105
  %3107 = load double, ptr %3106, align 8, !tbaa !23
  %3108 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3092, double noundef %3097, double noundef %3102, double noundef %3107)
  %3109 = load ptr, ptr %22, align 8, !tbaa !5
  %3110 = load i32, ptr %84, align 4, !tbaa !9
  %3111 = sext i32 %3110 to i64
  %3112 = getelementptr inbounds double, ptr %3109, i64 %3111
  %3113 = load double, ptr %3112, align 8, !tbaa !23
  %3114 = load ptr, ptr %23, align 8, !tbaa !5
  %3115 = load i32, ptr %84, align 4, !tbaa !9
  %3116 = sext i32 %3115 to i64
  %3117 = getelementptr inbounds double, ptr %3114, i64 %3116
  %3118 = load double, ptr %3117, align 8, !tbaa !23
  %3119 = load ptr, ptr %56, align 8, !tbaa !5
  %3120 = load i32, ptr %84, align 4, !tbaa !9
  %3121 = sext i32 %3120 to i64
  %3122 = getelementptr inbounds double, ptr %3119, i64 %3121
  %3123 = load double, ptr %3122, align 8, !tbaa !23
  %3124 = load ptr, ptr %57, align 8, !tbaa !5
  %3125 = load i32, ptr %84, align 4, !tbaa !9
  %3126 = sext i32 %3125 to i64
  %3127 = getelementptr inbounds double, ptr %3124, i64 %3126
  %3128 = load double, ptr %3127, align 8, !tbaa !23
  %3129 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3113, double noundef %3118, double noundef %3123, double noundef %3128)
  %3130 = fmul double 0x3FD5555555555555, %3129
  %3131 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3108, double %3130)
  %3132 = load ptr, ptr %16, align 8, !tbaa !5
  %3133 = load i32, ptr %84, align 4, !tbaa !9
  %3134 = sext i32 %3133 to i64
  %3135 = getelementptr inbounds double, ptr %3132, i64 %3134
  %3136 = load double, ptr %3135, align 8, !tbaa !23
  %3137 = load ptr, ptr %17, align 8, !tbaa !5
  %3138 = load i32, ptr %84, align 4, !tbaa !9
  %3139 = sext i32 %3138 to i64
  %3140 = getelementptr inbounds double, ptr %3137, i64 %3139
  %3141 = load double, ptr %3140, align 8, !tbaa !23
  %3142 = load ptr, ptr %58, align 8, !tbaa !5
  %3143 = load i32, ptr %84, align 4, !tbaa !9
  %3144 = sext i32 %3143 to i64
  %3145 = getelementptr inbounds double, ptr %3142, i64 %3144
  %3146 = load double, ptr %3145, align 8, !tbaa !23
  %3147 = load ptr, ptr %59, align 8, !tbaa !5
  %3148 = load i32, ptr %84, align 4, !tbaa !9
  %3149 = sext i32 %3148 to i64
  %3150 = getelementptr inbounds double, ptr %3147, i64 %3149
  %3151 = load double, ptr %3150, align 8, !tbaa !23
  %3152 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3136, double noundef %3141, double noundef %3146, double noundef %3151)
  %3153 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3152, double %3131)
  %3154 = load ptr, ptr %32, align 8, !tbaa !5
  %3155 = load i32, ptr %84, align 4, !tbaa !9
  %3156 = sext i32 %3155 to i64
  %3157 = getelementptr inbounds double, ptr %3154, i64 %3156
  %3158 = load double, ptr %3157, align 8, !tbaa !23
  %3159 = load ptr, ptr %33, align 8, !tbaa !5
  %3160 = load i32, ptr %84, align 4, !tbaa !9
  %3161 = sext i32 %3160 to i64
  %3162 = getelementptr inbounds double, ptr %3159, i64 %3161
  %3163 = load double, ptr %3162, align 8, !tbaa !23
  %3164 = load ptr, ptr %48, align 8, !tbaa !5
  %3165 = load i32, ptr %84, align 4, !tbaa !9
  %3166 = sext i32 %3165 to i64
  %3167 = getelementptr inbounds double, ptr %3164, i64 %3166
  %3168 = load double, ptr %3167, align 8, !tbaa !23
  %3169 = load ptr, ptr %49, align 8, !tbaa !5
  %3170 = load i32, ptr %84, align 4, !tbaa !9
  %3171 = sext i32 %3170 to i64
  %3172 = getelementptr inbounds double, ptr %3169, i64 %3171
  %3173 = load double, ptr %3172, align 8, !tbaa !23
  %3174 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3158, double noundef %3163, double noundef %3168, double noundef %3173)
  %3175 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3174, double %3153)
  %3176 = load ptr, ptr %34, align 8, !tbaa !5
  %3177 = load i32, ptr %84, align 4, !tbaa !9
  %3178 = sext i32 %3177 to i64
  %3179 = getelementptr inbounds double, ptr %3176, i64 %3178
  %3180 = load double, ptr %3179, align 8, !tbaa !23
  %3181 = load ptr, ptr %35, align 8, !tbaa !5
  %3182 = load i32, ptr %84, align 4, !tbaa !9
  %3183 = sext i32 %3182 to i64
  %3184 = getelementptr inbounds double, ptr %3181, i64 %3183
  %3185 = load double, ptr %3184, align 8, !tbaa !23
  %3186 = load ptr, ptr %50, align 8, !tbaa !5
  %3187 = load i32, ptr %84, align 4, !tbaa !9
  %3188 = sext i32 %3187 to i64
  %3189 = getelementptr inbounds double, ptr %3186, i64 %3188
  %3190 = load double, ptr %3189, align 8, !tbaa !23
  %3191 = load ptr, ptr %51, align 8, !tbaa !5
  %3192 = load i32, ptr %84, align 4, !tbaa !9
  %3193 = sext i32 %3192 to i64
  %3194 = getelementptr inbounds double, ptr %3191, i64 %3193
  %3195 = load double, ptr %3194, align 8, !tbaa !23
  %3196 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3180, double noundef %3185, double noundef %3190, double noundef %3195)
  %3197 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3196, double %3175)
  %3198 = load ptr, ptr %28, align 8, !tbaa !5
  %3199 = load i32, ptr %84, align 4, !tbaa !9
  %3200 = sext i32 %3199 to i64
  %3201 = getelementptr inbounds double, ptr %3198, i64 %3200
  %3202 = load double, ptr %3201, align 8, !tbaa !23
  %3203 = load ptr, ptr %29, align 8, !tbaa !5
  %3204 = load i32, ptr %84, align 4, !tbaa !9
  %3205 = sext i32 %3204 to i64
  %3206 = getelementptr inbounds double, ptr %3203, i64 %3205
  %3207 = load double, ptr %3206, align 8, !tbaa !23
  %3208 = load ptr, ptr %52, align 8, !tbaa !5
  %3209 = load i32, ptr %84, align 4, !tbaa !9
  %3210 = sext i32 %3209 to i64
  %3211 = getelementptr inbounds double, ptr %3208, i64 %3210
  %3212 = load double, ptr %3211, align 8, !tbaa !23
  %3213 = load ptr, ptr %53, align 8, !tbaa !5
  %3214 = load i32, ptr %84, align 4, !tbaa !9
  %3215 = sext i32 %3214 to i64
  %3216 = getelementptr inbounds double, ptr %3213, i64 %3215
  %3217 = load double, ptr %3216, align 8, !tbaa !23
  %3218 = call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %89, double noundef %3202, double noundef %3207, double noundef %3212, double noundef %3217)
  %3219 = call double @llvm.fmuladd.f64(double 0x3FD5555555555555, double %3218, double %3197)
  %3220 = load ptr, ptr %47, align 8, !tbaa !5
  %3221 = load i32, ptr %84, align 4, !tbaa !9
  %3222 = sext i32 %3221 to i64
  %3223 = getelementptr inbounds double, ptr %3220, i64 %3222
  store double %3219, ptr %3223, align 8, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #5
  br label %3224

3224:                                             ; preds = %427
  %3225 = load i32, ptr %84, align 4, !tbaa !9
  %3226 = add nsw i32 %3225, 1
  store i32 %3226, ptr %84, align 4, !tbaa !9
  br label %422, !llvm.loop !25

3227:                                             ; preds = %426
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #5
  br label %3228

3228:                                             ; preds = %3227
  %3229 = load i32, ptr %10, align 4, !tbaa !9
  %3230 = add nsw i32 %3229, 1
  store i32 %3230, ptr %10, align 4, !tbaa !9
  br label %96, !llvm.loop !27

3231:                                             ; preds = %101
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #5
  br label %3232

3232:                                             ; preds = %3231, %93
  ret void
}

declare noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112), i32 noundef) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112), double noundef, double noundef, double noundef, double noundef) #3 align 2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112), double noundef, double noundef, double noundef, double noundef) #3 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 = { "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 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 #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { 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, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"_ZTS17CDensityGridCubic", !13, i64 0, !10, i64 4, !14, i64 8}
!13 = !{!"_ZTS7dengrid", !7, i64 0}
!14 = !{!"_ZTS18CDensityGridData2D", !15, i64 0, !19, i64 24, !19, i64 48, !19, i64 72, !10, i64 96}
!15 = !{!"_ZTSSt6vectorIdSaIdEE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!19 = !{!"_ZTSSt6vectorIiSaIiEE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!23 = !{!24, !24, i64 0}
!24 = !{!"double", !7, i64 0}
!25 = distinct !{!25, !26}
!26 = !{!"llvm.loop.mustprogress"}
!27 = distinct !{!27, !26}


; 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"

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK17CDensityGridCubic21getNumberOfGridPointsEv(ptr noundef nonnull align 8 dereferenceable(112)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112), i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112), i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112), i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN17CDensityGridCubic21DensityProdForLDA_TPAERK12CDensityGridS2_i(ptr noundef nonnull align 8 dereferenceable(112) %0, ptr noundef nonnull align 8 dereferenceable(112) %1, ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %3) local_unnamed_addr #0 align 2 {
  %5 = load i32, ptr %0, align 8, !tbaa !5
  %.not = icmp eq i32 %5, 0
  br i1 %.not, label %6, label %.loopexit

6:                                                ; preds = %4
  %7 = tail call noundef i32 @_ZNK17CDensityGridCubic21getNumberOfGridPointsEv(ptr noundef nonnull align 8 dereferenceable(112) %0)
  %8 = sdiv i32 %3, 30
  %9 = icmp sgt i32 %3, 29
  br i1 %9, label %.lr.ph1162, label %.loopexit

.lr.ph1162:                                       ; preds = %6
  %10 = icmp sgt i32 %7, 0
  %wide.trip.count = zext nneg i32 %7 to i64
  br label %11

11:                                               ; preds = %.lr.ph1162, %._crit_edge
  %.01160 = phi i32 [ 0, %.lr.ph1162 ], [ %126, %._crit_edge ]
  %12 = mul nuw nsw i32 %.01160, 24
  %13 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %12)
  %14 = or disjoint i32 %12, 1
  %15 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %14)
  %16 = or disjoint i32 %12, 2
  %17 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %16)
  %18 = or disjoint i32 %12, 3
  %19 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %18)
  %20 = or disjoint i32 %12, 4
  %21 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %20)
  %22 = or disjoint i32 %12, 5
  %23 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %22)
  %24 = or disjoint i32 %12, 6
  %25 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %24)
  %26 = or disjoint i32 %12, 7
  %27 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %26)
  %28 = add nuw nsw i32 %12, 8
  %29 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %28)
  %30 = add nuw nsw i32 %12, 9
  %31 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %30)
  %32 = add nuw nsw i32 %12, 10
  %33 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %32)
  %34 = add nuw nsw i32 %12, 11
  %35 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %34)
  %36 = add nuw nsw i32 %12, 12
  %37 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %36)
  %38 = add nuw nsw i32 %12, 13
  %39 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %38)
  %40 = add nuw nsw i32 %12, 14
  %41 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %40)
  %42 = add nuw nsw i32 %12, 15
  %43 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %42)
  %44 = add nuw nsw i32 %12, 16
  %45 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %44)
  %46 = add nuw nsw i32 %12, 17
  %47 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %46)
  %48 = add nuw nsw i32 %12, 18
  %49 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %48)
  %50 = add nuw nsw i32 %12, 19
  %51 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %50)
  %52 = add nuw nsw i32 %12, 20
  %53 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %52)
  %54 = add nuw nsw i32 %12, 21
  %55 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %54)
  %56 = add nuw nsw i32 %12, 22
  %57 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %56)
  %58 = add nuw nsw i32 %12, 23
  %59 = tail call noundef ptr @_ZN17CDensityGridCubic4gam2Ei(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %58)
  %60 = mul nuw nsw i32 %.01160, 6
  %61 = tail call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %60)
  %62 = or disjoint i32 %60, 1
  %63 = tail call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %62)
  %64 = add nuw nsw i32 %60, 2
  %65 = tail call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %64)
  %66 = add nuw nsw i32 %60, 3
  %67 = tail call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %66)
  %68 = add nuw nsw i32 %60, 4
  %69 = tail call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %68)
  %70 = add nuw nsw i32 %60, 5
  %71 = tail call noundef ptr @_ZN17CDensityGridCubic3gamEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %70)
  %72 = tail call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %60)
  %73 = tail call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %62)
  %74 = tail call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %64)
  %75 = tail call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %66)
  %76 = tail call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %68)
  %77 = tail call noundef ptr @_ZN17CDensityGridCubic2piEi(ptr noundef nonnull align 8 dereferenceable(112) %0, i32 noundef %70)
  %78 = mul nuw nsw i32 %.01160, 12
  %79 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %78)
  %80 = or disjoint i32 %78, 1
  %81 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %80)
  %82 = or disjoint i32 %78, 2
  %83 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %82)
  %84 = or disjoint i32 %78, 3
  %85 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %84)
  %86 = add nuw nsw i32 %78, 4
  %87 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %86)
  %88 = add nuw nsw i32 %78, 5
  %89 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %88)
  %90 = add nuw nsw i32 %78, 6
  %91 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %90)
  %92 = add nuw nsw i32 %78, 7
  %93 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %92)
  %94 = add nuw nsw i32 %78, 8
  %95 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %94)
  %96 = add nuw nsw i32 %78, 9
  %97 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %96)
  %98 = add nuw nsw i32 %78, 10
  %99 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %98)
  %100 = add nuw nsw i32 %78, 11
  %101 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %1, i32 noundef %100)
  %102 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %12)
  %103 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %14)
  %104 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %16)
  %105 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %18)
  %106 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %20)
  %107 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %22)
  %108 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %24)
  %109 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %26)
  %110 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %28)
  %111 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %30)
  %112 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %32)
  %113 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %34)
  %114 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %36)
  %115 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %38)
  %116 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %40)
  %117 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %42)
  %118 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %44)
  %119 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %46)
  %120 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %48)
  %121 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %50)
  %122 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %52)
  %123 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %54)
  %124 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %56)
  %125 = tail call noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112) %2, i32 noundef %58)
  br i1 %10, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %.lr.ph, %11
  %126 = add nuw nsw i32 %.01160, 1
  %exitcond1164.not = icmp eq i32 %126, %8
  br i1 %exitcond1164.not, label %.loopexit, label %11, !llvm.loop !21

.lr.ph:                                           ; preds = %11, %.lr.ph
  %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %11 ]
  %127 = getelementptr inbounds double, ptr %79, i64 %indvars.iv
  %128 = load double, ptr %127, align 8, !tbaa !23
  %129 = getelementptr inbounds double, ptr %81, i64 %indvars.iv
  %130 = load double, ptr %129, align 8, !tbaa !23
  %131 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %128, double noundef %130, double noundef %128, double noundef %130)
  %132 = getelementptr inbounds double, ptr %83, i64 %indvars.iv
  %133 = load double, ptr %132, align 8, !tbaa !23
  %134 = getelementptr inbounds double, ptr %85, i64 %indvars.iv
  %135 = load double, ptr %134, align 8, !tbaa !23
  %136 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %133, double noundef %135, double noundef %133, double noundef %135)
  %137 = fmul double %136, 6.000000e+00
  %138 = tail call double @llvm.fmuladd.f64(double %131, double 6.000000e+00, double %137)
  %139 = getelementptr inbounds double, ptr %87, i64 %indvars.iv
  %140 = load double, ptr %139, align 8, !tbaa !23
  %141 = getelementptr inbounds double, ptr %89, i64 %indvars.iv
  %142 = load double, ptr %141, align 8, !tbaa !23
  %143 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %140, double noundef %142, double noundef %140, double noundef %142)
  %144 = tail call double @llvm.fmuladd.f64(double %143, double 6.000000e+00, double %138)
  %145 = load double, ptr %127, align 8, !tbaa !23
  %146 = load double, ptr %129, align 8, !tbaa !23
  %147 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %145, double noundef %146, double noundef %145, double noundef %146)
  %148 = load double, ptr %132, align 8, !tbaa !23
  %149 = load double, ptr %134, align 8, !tbaa !23
  %150 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %148, double noundef %149, double noundef %148, double noundef %149)
  %151 = fmul double %150, 6.000000e+00
  %152 = tail call double @llvm.fmuladd.f64(double %147, double 6.000000e+00, double %151)
  %153 = load double, ptr %139, align 8, !tbaa !23
  %154 = load double, ptr %141, align 8, !tbaa !23
  %155 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %153, double noundef %154, double noundef %153, double noundef %154)
  %156 = tail call double @llvm.fmuladd.f64(double %155, double 6.000000e+00, double %152)
  %157 = load double, ptr %127, align 8, !tbaa !23
  %158 = load double, ptr %129, align 8, !tbaa !23
  %159 = getelementptr inbounds double, ptr %91, i64 %indvars.iv
  %160 = load double, ptr %159, align 8, !tbaa !23
  %161 = getelementptr inbounds double, ptr %93, i64 %indvars.iv
  %162 = load double, ptr %161, align 8, !tbaa !23
  %163 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %157, double noundef %158, double noundef %160, double noundef %162)
  %164 = load double, ptr %132, align 8, !tbaa !23
  %165 = load double, ptr %134, align 8, !tbaa !23
  %166 = getelementptr inbounds double, ptr %95, i64 %indvars.iv
  %167 = load double, ptr %166, align 8, !tbaa !23
  %168 = getelementptr inbounds double, ptr %97, i64 %indvars.iv
  %169 = load double, ptr %168, align 8, !tbaa !23
  %170 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %164, double noundef %165, double noundef %167, double noundef %169)
  %171 = fmul double %170, 1.200000e+01
  %172 = tail call double @llvm.fmuladd.f64(double %163, double 1.200000e+01, double %171)
  %173 = load double, ptr %139, align 8, !tbaa !23
  %174 = load double, ptr %141, align 8, !tbaa !23
  %175 = getelementptr inbounds double, ptr %99, i64 %indvars.iv
  %176 = load double, ptr %175, align 8, !tbaa !23
  %177 = getelementptr inbounds double, ptr %101, i64 %indvars.iv
  %178 = load double, ptr %177, align 8, !tbaa !23
  %179 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %173, double noundef %174, double noundef %176, double noundef %178)
  %180 = load double, ptr %127, align 8, !tbaa !23
  %181 = load double, ptr %129, align 8, !tbaa !23
  %182 = load double, ptr %159, align 8, !tbaa !23
  %183 = load double, ptr %161, align 8, !tbaa !23
  %184 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %180, double noundef %181, double noundef %182, double noundef %183)
  %185 = load double, ptr %132, align 8, !tbaa !23
  %186 = load double, ptr %134, align 8, !tbaa !23
  %187 = load double, ptr %166, align 8, !tbaa !23
  %188 = load double, ptr %168, align 8, !tbaa !23
  %189 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %185, double noundef %186, double noundef %187, double noundef %188)
  %190 = fmul double %189, 1.200000e+01
  %191 = tail call double @llvm.fmuladd.f64(double %184, double 1.200000e+01, double %190)
  %192 = load double, ptr %139, align 8, !tbaa !23
  %193 = load double, ptr %141, align 8, !tbaa !23
  %194 = load double, ptr %175, align 8, !tbaa !23
  %195 = load double, ptr %177, align 8, !tbaa !23
  %196 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %192, double noundef %193, double noundef %194, double noundef %195)
  %197 = load double, ptr %127, align 8, !tbaa !23
  %198 = load double, ptr %129, align 8, !tbaa !23
  %199 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %197, double noundef %198, double noundef %197, double noundef %198)
  %200 = tail call double @llvm.fmuladd.f64(double %199, double 1.200000e+01, double %144)
  %201 = getelementptr inbounds double, ptr %13, i64 %indvars.iv
  store double %200, ptr %201, align 8, !tbaa !23
  %202 = load double, ptr %132, align 8, !tbaa !23
  %203 = load double, ptr %134, align 8, !tbaa !23
  %204 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %202, double noundef %203, double noundef %202, double noundef %203)
  %205 = tail call double @llvm.fmuladd.f64(double %204, double 1.200000e+01, double %144)
  %206 = getelementptr inbounds double, ptr %17, i64 %indvars.iv
  store double %205, ptr %206, align 8, !tbaa !23
  %207 = load double, ptr %139, align 8, !tbaa !23
  %208 = load double, ptr %141, align 8, !tbaa !23
  %209 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %207, double noundef %208, double noundef %207, double noundef %208)
  %210 = tail call double @llvm.fmuladd.f64(double %209, double 1.200000e+01, double %144)
  %211 = getelementptr inbounds double, ptr %21, i64 %indvars.iv
  store double %210, ptr %211, align 8, !tbaa !23
  %212 = load double, ptr %127, align 8, !tbaa !23
  %213 = load double, ptr %129, align 8, !tbaa !23
  %214 = load double, ptr %132, align 8, !tbaa !23
  %215 = load double, ptr %134, align 8, !tbaa !23
  %216 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %212, double noundef %213, double noundef %214, double noundef %215)
  %217 = fmul double %216, 1.200000e+01
  %218 = getelementptr inbounds double, ptr %25, i64 %indvars.iv
  store double %217, ptr %218, align 8, !tbaa !23
  %219 = load double, ptr %127, align 8, !tbaa !23
  %220 = load double, ptr %129, align 8, !tbaa !23
  %221 = load double, ptr %139, align 8, !tbaa !23
  %222 = load double, ptr %141, align 8, !tbaa !23
  %223 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %219, double noundef %220, double noundef %221, double noundef %222)
  %224 = fmul double %223, 1.200000e+01
  %225 = getelementptr inbounds double, ptr %29, i64 %indvars.iv
  store double %224, ptr %225, align 8, !tbaa !23
  %226 = load double, ptr %132, align 8, !tbaa !23
  %227 = load double, ptr %134, align 8, !tbaa !23
  %228 = load double, ptr %139, align 8, !tbaa !23
  %229 = load double, ptr %141, align 8, !tbaa !23
  %230 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %226, double noundef %227, double noundef %228, double noundef %229)
  %231 = fmul double %230, 1.200000e+01
  %232 = getelementptr inbounds double, ptr %33, i64 %indvars.iv
  store double %231, ptr %232, align 8, !tbaa !23
  %233 = load double, ptr %127, align 8, !tbaa !23
  %234 = load double, ptr %129, align 8, !tbaa !23
  %235 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %233, double noundef %234, double noundef %233, double noundef %234)
  %236 = tail call double @llvm.fmuladd.f64(double %235, double 1.200000e+01, double %156)
  %237 = getelementptr inbounds double, ptr %15, i64 %indvars.iv
  store double %236, ptr %237, align 8, !tbaa !23
  %238 = load double, ptr %132, align 8, !tbaa !23
  %239 = load double, ptr %134, align 8, !tbaa !23
  %240 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %238, double noundef %239, double noundef %238, double noundef %239)
  %241 = tail call double @llvm.fmuladd.f64(double %240, double 1.200000e+01, double %156)
  %242 = getelementptr inbounds double, ptr %19, i64 %indvars.iv
  store double %241, ptr %242, align 8, !tbaa !23
  %243 = load double, ptr %139, align 8, !tbaa !23
  %244 = load double, ptr %141, align 8, !tbaa !23
  %245 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %243, double noundef %244, double noundef %243, double noundef %244)
  %246 = tail call double @llvm.fmuladd.f64(double %245, double 1.200000e+01, double %156)
  %247 = getelementptr inbounds double, ptr %23, i64 %indvars.iv
  store double %246, ptr %247, align 8, !tbaa !23
  %248 = load double, ptr %127, align 8, !tbaa !23
  %249 = load double, ptr %129, align 8, !tbaa !23
  %250 = load double, ptr %132, align 8, !tbaa !23
  %251 = load double, ptr %134, align 8, !tbaa !23
  %252 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %248, double noundef %249, double noundef %250, double noundef %251)
  %253 = fmul double %252, 1.200000e+01
  %254 = getelementptr inbounds double, ptr %27, i64 %indvars.iv
  store double %253, ptr %254, align 8, !tbaa !23
  %255 = load double, ptr %127, align 8, !tbaa !23
  %256 = load double, ptr %129, align 8, !tbaa !23
  %257 = load double, ptr %139, align 8, !tbaa !23
  %258 = load double, ptr %141, align 8, !tbaa !23
  %259 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %255, double noundef %256, double noundef %257, double noundef %258)
  %260 = fmul double %259, 1.200000e+01
  %261 = getelementptr inbounds double, ptr %31, i64 %indvars.iv
  store double %260, ptr %261, align 8, !tbaa !23
  %262 = load double, ptr %132, align 8, !tbaa !23
  %263 = load double, ptr %134, align 8, !tbaa !23
  %264 = load double, ptr %139, align 8, !tbaa !23
  %265 = load double, ptr %141, align 8, !tbaa !23
  %266 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %262, double noundef %263, double noundef %264, double noundef %265)
  %267 = fmul double %266, 1.200000e+01
  %268 = getelementptr inbounds double, ptr %35, i64 %indvars.iv
  store double %267, ptr %268, align 8, !tbaa !23
  %269 = load double, ptr %127, align 8, !tbaa !23
  %270 = load double, ptr %129, align 8, !tbaa !23
  %271 = load double, ptr %159, align 8, !tbaa !23
  %272 = load double, ptr %161, align 8, !tbaa !23
  %273 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %269, double noundef %270, double noundef %271, double noundef %272)
  %274 = load double, ptr %127, align 8, !tbaa !23
  %275 = load double, ptr %129, align 8, !tbaa !23
  %276 = load double, ptr %159, align 8, !tbaa !23
  %277 = load double, ptr %161, align 8, !tbaa !23
  %278 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %274, double noundef %275, double noundef %276, double noundef %277)
  %279 = fmul double %278, 1.200000e+01
  %280 = insertelement <2 x double> poison, double %179, i64 0
  %281 = insertelement <2 x double> %280, double %273, i64 1
  %282 = insertelement <2 x double> poison, double %172, i64 0
  %283 = insertelement <2 x double> %282, double %279, i64 1
  %284 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %281, <2 x double> <double 1.200000e+01, double 1.200000e+01>, <2 x double> %283)
  %285 = extractelement <2 x double> %284, i64 0
  %shift = shufflevector <2 x double> %284, <2 x double> poison, <2 x i32> <i32 1, i32 poison>
  %286 = fadd <2 x double> %284, %shift
  %287 = extractelement <2 x double> %286, i64 0
  %288 = getelementptr inbounds double, ptr %37, i64 %indvars.iv
  store double %287, ptr %288, align 8, !tbaa !23
  %289 = load double, ptr %132, align 8, !tbaa !23
  %290 = load double, ptr %134, align 8, !tbaa !23
  %291 = load double, ptr %166, align 8, !tbaa !23
  %292 = load double, ptr %168, align 8, !tbaa !23
  %293 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %289, double noundef %290, double noundef %291, double noundef %292)
  %294 = load double, ptr %132, align 8, !tbaa !23
  %295 = load double, ptr %134, align 8, !tbaa !23
  %296 = load double, ptr %166, align 8, !tbaa !23
  %297 = load double, ptr %168, align 8, !tbaa !23
  %298 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %294, double noundef %295, double noundef %296, double noundef %297)
  %299 = fmul double %298, 1.200000e+01
  %300 = tail call double @llvm.fmuladd.f64(double %293, double 1.200000e+01, double %299)
  %301 = fadd double %285, %300
  %302 = getelementptr inbounds double, ptr %41, i64 %indvars.iv
  store double %301, ptr %302, align 8, !tbaa !23
  %303 = load double, ptr %139, align 8, !tbaa !23
  %304 = load double, ptr %141, align 8, !tbaa !23
  %305 = load double, ptr %175, align 8, !tbaa !23
  %306 = load double, ptr %177, align 8, !tbaa !23
  %307 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %303, double noundef %304, double noundef %305, double noundef %306)
  %308 = load double, ptr %139, align 8, !tbaa !23
  %309 = load double, ptr %141, align 8, !tbaa !23
  %310 = load double, ptr %175, align 8, !tbaa !23
  %311 = load double, ptr %177, align 8, !tbaa !23
  %312 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %308, double noundef %309, double noundef %310, double noundef %311)
  %313 = fmul double %312, 1.200000e+01
  %314 = tail call double @llvm.fmuladd.f64(double %307, double 1.200000e+01, double %313)
  %315 = fadd double %285, %314
  %316 = getelementptr inbounds double, ptr %45, i64 %indvars.iv
  store double %315, ptr %316, align 8, !tbaa !23
  %317 = load double, ptr %127, align 8, !tbaa !23
  %318 = load double, ptr %129, align 8, !tbaa !23
  %319 = load double, ptr %166, align 8, !tbaa !23
  %320 = load double, ptr %168, align 8, !tbaa !23
  %321 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %317, double noundef %318, double noundef %319, double noundef %320)
  %322 = load double, ptr %132, align 8, !tbaa !23
  %323 = load double, ptr %134, align 8, !tbaa !23
  %324 = load double, ptr %159, align 8, !tbaa !23
  %325 = load double, ptr %161, align 8, !tbaa !23
  %326 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %322, double noundef %323, double noundef %324, double noundef %325)
  %327 = fmul double %326, 1.200000e+01
  %328 = tail call double @llvm.fmuladd.f64(double %321, double 1.200000e+01, double %327)
  %329 = getelementptr inbounds double, ptr %49, i64 %indvars.iv
  store double %328, ptr %329, align 8, !tbaa !23
  %330 = load double, ptr %127, align 8, !tbaa !23
  %331 = load double, ptr %129, align 8, !tbaa !23
  %332 = load double, ptr %175, align 8, !tbaa !23
  %333 = load double, ptr %177, align 8, !tbaa !23
  %334 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %330, double noundef %331, double noundef %332, double noundef %333)
  %335 = load double, ptr %139, align 8, !tbaa !23
  %336 = load double, ptr %141, align 8, !tbaa !23
  %337 = load double, ptr %159, align 8, !tbaa !23
  %338 = load double, ptr %161, align 8, !tbaa !23
  %339 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %335, double noundef %336, double noundef %337, double noundef %338)
  %340 = fmul double %339, 1.200000e+01
  %341 = tail call double @llvm.fmuladd.f64(double %334, double 1.200000e+01, double %340)
  %342 = getelementptr inbounds double, ptr %53, i64 %indvars.iv
  store double %341, ptr %342, align 8, !tbaa !23
  %343 = load double, ptr %132, align 8, !tbaa !23
  %344 = load double, ptr %134, align 8, !tbaa !23
  %345 = load double, ptr %175, align 8, !tbaa !23
  %346 = load double, ptr %177, align 8, !tbaa !23
  %347 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %343, double noundef %344, double noundef %345, double noundef %346)
  %348 = load double, ptr %139, align 8, !tbaa !23
  %349 = load double, ptr %141, align 8, !tbaa !23
  %350 = load double, ptr %166, align 8, !tbaa !23
  %351 = load double, ptr %168, align 8, !tbaa !23
  %352 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %348, double noundef %349, double noundef %350, double noundef %351)
  %353 = fmul double %352, 1.200000e+01
  %354 = tail call double @llvm.fmuladd.f64(double %347, double 1.200000e+01, double %353)
  %355 = getelementptr inbounds double, ptr %57, i64 %indvars.iv
  store double %354, ptr %355, align 8, !tbaa !23
  %356 = load double, ptr %127, align 8, !tbaa !23
  %357 = load double, ptr %129, align 8, !tbaa !23
  %358 = load double, ptr %159, align 8, !tbaa !23
  %359 = load double, ptr %161, align 8, !tbaa !23
  %360 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %356, double noundef %357, double noundef %358, double noundef %359)
  %361 = load double, ptr %127, align 8, !tbaa !23
  %362 = load double, ptr %129, align 8, !tbaa !23
  %363 = load double, ptr %159, align 8, !tbaa !23
  %364 = load double, ptr %161, align 8, !tbaa !23
  %365 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %361, double noundef %362, double noundef %363, double noundef %364)
  %366 = fmul double %365, 1.200000e+01
  %367 = insertelement <2 x double> poison, double %196, i64 0
  %368 = insertelement <2 x double> %367, double %360, i64 1
  %369 = insertelement <2 x double> poison, double %191, i64 0
  %370 = insertelement <2 x double> %369, double %366, i64 1
  %371 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %368, <2 x double> <double 1.200000e+01, double 1.200000e+01>, <2 x double> %370)
  %372 = extractelement <2 x double> %371, i64 0
  %shift1165 = shufflevector <2 x double> %371, <2 x double> poison, <2 x i32> <i32 1, i32 poison>
  %373 = fadd <2 x double> %371, %shift1165
  %374 = extractelement <2 x double> %373, i64 0
  %375 = getelementptr inbounds double, ptr %39, i64 %indvars.iv
  store double %374, ptr %375, align 8, !tbaa !23
  %376 = load double, ptr %132, align 8, !tbaa !23
  %377 = load double, ptr %134, align 8, !tbaa !23
  %378 = load double, ptr %166, align 8, !tbaa !23
  %379 = load double, ptr %168, align 8, !tbaa !23
  %380 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %376, double noundef %377, double noundef %378, double noundef %379)
  %381 = load double, ptr %132, align 8, !tbaa !23
  %382 = load double, ptr %134, align 8, !tbaa !23
  %383 = load double, ptr %166, align 8, !tbaa !23
  %384 = load double, ptr %168, align 8, !tbaa !23
  %385 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %381, double noundef %382, double noundef %383, double noundef %384)
  %386 = fmul double %385, 1.200000e+01
  %387 = tail call double @llvm.fmuladd.f64(double %380, double 1.200000e+01, double %386)
  %388 = fadd double %372, %387
  %389 = getelementptr inbounds double, ptr %43, i64 %indvars.iv
  store double %388, ptr %389, align 8, !tbaa !23
  %390 = load double, ptr %139, align 8, !tbaa !23
  %391 = load double, ptr %141, align 8, !tbaa !23
  %392 = load double, ptr %175, align 8, !tbaa !23
  %393 = load double, ptr %177, align 8, !tbaa !23
  %394 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %390, double noundef %391, double noundef %392, double noundef %393)
  %395 = load double, ptr %139, align 8, !tbaa !23
  %396 = load double, ptr %141, align 8, !tbaa !23
  %397 = load double, ptr %175, align 8, !tbaa !23
  %398 = load double, ptr %177, align 8, !tbaa !23
  %399 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %395, double noundef %396, double noundef %397, double noundef %398)
  %400 = fmul double %399, 1.200000e+01
  %401 = tail call double @llvm.fmuladd.f64(double %394, double 1.200000e+01, double %400)
  %402 = fadd double %372, %401
  %403 = getelementptr inbounds double, ptr %47, i64 %indvars.iv
  store double %402, ptr %403, align 8, !tbaa !23
  %404 = load double, ptr %127, align 8, !tbaa !23
  %405 = load double, ptr %129, align 8, !tbaa !23
  %406 = load double, ptr %166, align 8, !tbaa !23
  %407 = load double, ptr %168, align 8, !tbaa !23
  %408 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %404, double noundef %405, double noundef %406, double noundef %407)
  %409 = load double, ptr %132, align 8, !tbaa !23
  %410 = load double, ptr %134, align 8, !tbaa !23
  %411 = load double, ptr %159, align 8, !tbaa !23
  %412 = load double, ptr %161, align 8, !tbaa !23
  %413 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %409, double noundef %410, double noundef %411, double noundef %412)
  %414 = fmul double %413, 1.200000e+01
  %415 = tail call double @llvm.fmuladd.f64(double %408, double 1.200000e+01, double %414)
  %416 = getelementptr inbounds double, ptr %51, i64 %indvars.iv
  store double %415, ptr %416, align 8, !tbaa !23
  %417 = load double, ptr %127, align 8, !tbaa !23
  %418 = load double, ptr %129, align 8, !tbaa !23
  %419 = load double, ptr %175, align 8, !tbaa !23
  %420 = load double, ptr %177, align 8, !tbaa !23
  %421 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %417, double noundef %418, double noundef %419, double noundef %420)
  %422 = load double, ptr %139, align 8, !tbaa !23
  %423 = load double, ptr %141, align 8, !tbaa !23
  %424 = load double, ptr %159, align 8, !tbaa !23
  %425 = load double, ptr %161, align 8, !tbaa !23
  %426 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %422, double noundef %423, double noundef %424, double noundef %425)
  %427 = fmul double %426, 1.200000e+01
  %428 = tail call double @llvm.fmuladd.f64(double %421, double 1.200000e+01, double %427)
  %429 = getelementptr inbounds double, ptr %55, i64 %indvars.iv
  store double %428, ptr %429, align 8, !tbaa !23
  %430 = load double, ptr %132, align 8, !tbaa !23
  %431 = load double, ptr %134, align 8, !tbaa !23
  %432 = load double, ptr %175, align 8, !tbaa !23
  %433 = load double, ptr %177, align 8, !tbaa !23
  %434 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %430, double noundef %431, double noundef %432, double noundef %433)
  %435 = load double, ptr %139, align 8, !tbaa !23
  %436 = load double, ptr %141, align 8, !tbaa !23
  %437 = load double, ptr %166, align 8, !tbaa !23
  %438 = load double, ptr %168, align 8, !tbaa !23
  %439 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %435, double noundef %436, double noundef %437, double noundef %438)
  %440 = fmul double %439, 1.200000e+01
  %441 = tail call double @llvm.fmuladd.f64(double %434, double 1.200000e+01, double %440)
  %442 = getelementptr inbounds double, ptr %59, i64 %indvars.iv
  store double %441, ptr %442, align 8, !tbaa !23
  %443 = getelementptr inbounds double, ptr %102, i64 %indvars.iv
  %444 = load double, ptr %443, align 8, !tbaa !23
  %445 = getelementptr inbounds double, ptr %103, i64 %indvars.iv
  %446 = load double, ptr %445, align 8, !tbaa !23
  %447 = load double, ptr %159, align 8, !tbaa !23
  %448 = load double, ptr %161, align 8, !tbaa !23
  %449 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %444, double noundef %446, double noundef %447, double noundef %448)
  %450 = getelementptr inbounds double, ptr %108, i64 %indvars.iv
  %451 = load double, ptr %450, align 8, !tbaa !23
  %452 = getelementptr inbounds double, ptr %109, i64 %indvars.iv
  %453 = load double, ptr %452, align 8, !tbaa !23
  %454 = load double, ptr %166, align 8, !tbaa !23
  %455 = load double, ptr %168, align 8, !tbaa !23
  %456 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %451, double noundef %453, double noundef %454, double noundef %455)
  %457 = fadd double %449, %456
  %458 = getelementptr inbounds double, ptr %110, i64 %indvars.iv
  %459 = load double, ptr %458, align 8, !tbaa !23
  %460 = getelementptr inbounds double, ptr %111, i64 %indvars.iv
  %461 = load double, ptr %460, align 8, !tbaa !23
  %462 = load double, ptr %175, align 8, !tbaa !23
  %463 = load double, ptr %177, align 8, !tbaa !23
  %464 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %459, double noundef %461, double noundef %462, double noundef %463)
  %465 = fadd double %457, %464
  %466 = getelementptr inbounds double, ptr %114, i64 %indvars.iv
  %467 = load double, ptr %466, align 8, !tbaa !23
  %468 = getelementptr inbounds double, ptr %115, i64 %indvars.iv
  %469 = load double, ptr %468, align 8, !tbaa !23
  %470 = load double, ptr %127, align 8, !tbaa !23
  %471 = load double, ptr %129, align 8, !tbaa !23
  %472 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %467, double noundef %469, double noundef %470, double noundef %471)
  %473 = fadd double %465, %472
  %474 = getelementptr inbounds double, ptr %120, i64 %indvars.iv
  %475 = load double, ptr %474, align 8, !tbaa !23
  %476 = getelementptr inbounds double, ptr %121, i64 %indvars.iv
  %477 = load double, ptr %476, align 8, !tbaa !23
  %478 = load double, ptr %132, align 8, !tbaa !23
  %479 = load double, ptr %134, align 8, !tbaa !23
  %480 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %475, double noundef %477, double noundef %478, double noundef %479)
  %481 = fadd double %473, %480
  %482 = getelementptr inbounds double, ptr %122, i64 %indvars.iv
  %483 = load double, ptr %482, align 8, !tbaa !23
  %484 = getelementptr inbounds double, ptr %123, i64 %indvars.iv
  %485 = load double, ptr %484, align 8, !tbaa !23
  %486 = load double, ptr %139, align 8, !tbaa !23
  %487 = load double, ptr %141, align 8, !tbaa !23
  %488 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %483, double noundef %485, double noundef %486, double noundef %487)
  %489 = fadd double %481, %488
  %490 = getelementptr inbounds double, ptr %61, i64 %indvars.iv
  store double %489, ptr %490, align 8, !tbaa !23
  %491 = load double, ptr %450, align 8, !tbaa !23
  %492 = load double, ptr %452, align 8, !tbaa !23
  %493 = load double, ptr %159, align 8, !tbaa !23
  %494 = load double, ptr %161, align 8, !tbaa !23
  %495 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %491, double noundef %492, double noundef %493, double noundef %494)
  %496 = getelementptr inbounds double, ptr %104, i64 %indvars.iv
  %497 = load double, ptr %496, align 8, !tbaa !23
  %498 = getelementptr inbounds double, ptr %105, i64 %indvars.iv
  %499 = load double, ptr %498, align 8, !tbaa !23
  %500 = load double, ptr %166, align 8, !tbaa !23
  %501 = load double, ptr %168, align 8, !tbaa !23
  %502 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %497, double noundef %499, double noundef %500, double noundef %501)
  %503 = fadd double %495, %502
  %504 = getelementptr inbounds double, ptr %112, i64 %indvars.iv
  %505 = load double, ptr %504, align 8, !tbaa !23
  %506 = getelementptr inbounds double, ptr %113, i64 %indvars.iv
  %507 = load double, ptr %506, align 8, !tbaa !23
  %508 = load double, ptr %175, align 8, !tbaa !23
  %509 = load double, ptr %177, align 8, !tbaa !23
  %510 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %505, double noundef %507, double noundef %508, double noundef %509)
  %511 = fadd double %503, %510
  %512 = load double, ptr %474, align 8, !tbaa !23
  %513 = load double, ptr %476, align 8, !tbaa !23
  %514 = load double, ptr %127, align 8, !tbaa !23
  %515 = load double, ptr %129, align 8, !tbaa !23
  %516 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %512, double noundef %513, double noundef %514, double noundef %515)
  %517 = fadd double %511, %516
  %518 = getelementptr inbounds double, ptr %116, i64 %indvars.iv
  %519 = load double, ptr %518, align 8, !tbaa !23
  %520 = getelementptr inbounds double, ptr %117, i64 %indvars.iv
  %521 = load double, ptr %520, align 8, !tbaa !23
  %522 = load double, ptr %132, align 8, !tbaa !23
  %523 = load double, ptr %134, align 8, !tbaa !23
  %524 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %519, double noundef %521, double noundef %522, double noundef %523)
  %525 = fadd double %517, %524
  %526 = getelementptr inbounds double, ptr %124, i64 %indvars.iv
  %527 = load double, ptr %526, align 8, !tbaa !23
  %528 = getelementptr inbounds double, ptr %125, i64 %indvars.iv
  %529 = load double, ptr %528, align 8, !tbaa !23
  %530 = load double, ptr %139, align 8, !tbaa !23
  %531 = load double, ptr %141, align 8, !tbaa !23
  %532 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %527, double noundef %529, double noundef %530, double noundef %531)
  %533 = fadd double %525, %532
  %534 = getelementptr inbounds double, ptr %65, i64 %indvars.iv
  store double %533, ptr %534, align 8, !tbaa !23
  %535 = load double, ptr %458, align 8, !tbaa !23
  %536 = load double, ptr %460, align 8, !tbaa !23
  %537 = load double, ptr %159, align 8, !tbaa !23
  %538 = load double, ptr %161, align 8, !tbaa !23
  %539 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %535, double noundef %536, double noundef %537, double noundef %538)
  %540 = load double, ptr %504, align 8, !tbaa !23
  %541 = load double, ptr %506, align 8, !tbaa !23
  %542 = load double, ptr %166, align 8, !tbaa !23
  %543 = load double, ptr %168, align 8, !tbaa !23
  %544 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %540, double noundef %541, double noundef %542, double noundef %543)
  %545 = fadd double %539, %544
  %546 = getelementptr inbounds double, ptr %106, i64 %indvars.iv
  %547 = load double, ptr %546, align 8, !tbaa !23
  %548 = getelementptr inbounds double, ptr %107, i64 %indvars.iv
  %549 = load double, ptr %548, align 8, !tbaa !23
  %550 = load double, ptr %175, align 8, !tbaa !23
  %551 = load double, ptr %177, align 8, !tbaa !23
  %552 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %547, double noundef %549, double noundef %550, double noundef %551)
  %553 = fadd double %545, %552
  %554 = load double, ptr %482, align 8, !tbaa !23
  %555 = load double, ptr %484, align 8, !tbaa !23
  %556 = load double, ptr %127, align 8, !tbaa !23
  %557 = load double, ptr %129, align 8, !tbaa !23
  %558 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %554, double noundef %555, double noundef %556, double noundef %557)
  %559 = fadd double %553, %558
  %560 = load double, ptr %526, align 8, !tbaa !23
  %561 = load double, ptr %528, align 8, !tbaa !23
  %562 = load double, ptr %132, align 8, !tbaa !23
  %563 = load double, ptr %134, align 8, !tbaa !23
  %564 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %560, double noundef %561, double noundef %562, double noundef %563)
  %565 = fadd double %559, %564
  %566 = getelementptr inbounds double, ptr %118, i64 %indvars.iv
  %567 = load double, ptr %566, align 8, !tbaa !23
  %568 = getelementptr inbounds double, ptr %119, i64 %indvars.iv
  %569 = load double, ptr %568, align 8, !tbaa !23
  %570 = load double, ptr %139, align 8, !tbaa !23
  %571 = load double, ptr %141, align 8, !tbaa !23
  %572 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %567, double noundef %569, double noundef %570, double noundef %571)
  %573 = fadd double %565, %572
  %574 = getelementptr inbounds double, ptr %69, i64 %indvars.iv
  store double %573, ptr %574, align 8, !tbaa !23
  %575 = load double, ptr %443, align 8, !tbaa !23
  %576 = load double, ptr %445, align 8, !tbaa !23
  %577 = load double, ptr %159, align 8, !tbaa !23
  %578 = load double, ptr %161, align 8, !tbaa !23
  %579 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %575, double noundef %576, double noundef %577, double noundef %578)
  %580 = load double, ptr %450, align 8, !tbaa !23
  %581 = load double, ptr %452, align 8, !tbaa !23
  %582 = load double, ptr %166, align 8, !tbaa !23
  %583 = load double, ptr %168, align 8, !tbaa !23
  %584 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %580, double noundef %581, double noundef %582, double noundef %583)
  %585 = fadd double %579, %584
  %586 = load double, ptr %458, align 8, !tbaa !23
  %587 = load double, ptr %460, align 8, !tbaa !23
  %588 = load double, ptr %175, align 8, !tbaa !23
  %589 = load double, ptr %177, align 8, !tbaa !23
  %590 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %586, double noundef %587, double noundef %588, double noundef %589)
  %591 = fadd double %585, %590
  %592 = load double, ptr %466, align 8, !tbaa !23
  %593 = load double, ptr %468, align 8, !tbaa !23
  %594 = load double, ptr %127, align 8, !tbaa !23
  %595 = load double, ptr %129, align 8, !tbaa !23
  %596 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %592, double noundef %593, double noundef %594, double noundef %595)
  %597 = fadd double %591, %596
  %598 = load double, ptr %474, align 8, !tbaa !23
  %599 = load double, ptr %476, align 8, !tbaa !23
  %600 = load double, ptr %132, align 8, !tbaa !23
  %601 = load double, ptr %134, align 8, !tbaa !23
  %602 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %598, double noundef %599, double noundef %600, double noundef %601)
  %603 = fadd double %597, %602
  %604 = load double, ptr %482, align 8, !tbaa !23
  %605 = load double, ptr %484, align 8, !tbaa !23
  %606 = load double, ptr %139, align 8, !tbaa !23
  %607 = load double, ptr %141, align 8, !tbaa !23
  %608 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %604, double noundef %605, double noundef %606, double noundef %607)
  %609 = fadd double %603, %608
  %610 = getelementptr inbounds double, ptr %63, i64 %indvars.iv
  store double %609, ptr %610, align 8, !tbaa !23
  %611 = load double, ptr %450, align 8, !tbaa !23
  %612 = load double, ptr %452, align 8, !tbaa !23
  %613 = load double, ptr %159, align 8, !tbaa !23
  %614 = load double, ptr %161, align 8, !tbaa !23
  %615 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %611, double noundef %612, double noundef %613, double noundef %614)
  %616 = load double, ptr %496, align 8, !tbaa !23
  %617 = load double, ptr %498, align 8, !tbaa !23
  %618 = load double, ptr %166, align 8, !tbaa !23
  %619 = load double, ptr %168, align 8, !tbaa !23
  %620 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %616, double noundef %617, double noundef %618, double noundef %619)
  %621 = fadd double %615, %620
  %622 = load double, ptr %504, align 8, !tbaa !23
  %623 = load double, ptr %506, align 8, !tbaa !23
  %624 = load double, ptr %175, align 8, !tbaa !23
  %625 = load double, ptr %177, align 8, !tbaa !23
  %626 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %622, double noundef %623, double noundef %624, double noundef %625)
  %627 = fadd double %621, %626
  %628 = load double, ptr %474, align 8, !tbaa !23
  %629 = load double, ptr %476, align 8, !tbaa !23
  %630 = load double, ptr %127, align 8, !tbaa !23
  %631 = load double, ptr %129, align 8, !tbaa !23
  %632 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %628, double noundef %629, double noundef %630, double noundef %631)
  %633 = fadd double %627, %632
  %634 = load double, ptr %518, align 8, !tbaa !23
  %635 = load double, ptr %520, align 8, !tbaa !23
  %636 = load double, ptr %132, align 8, !tbaa !23
  %637 = load double, ptr %134, align 8, !tbaa !23
  %638 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %634, double noundef %635, double noundef %636, double noundef %637)
  %639 = fadd double %633, %638
  %640 = load double, ptr %526, align 8, !tbaa !23
  %641 = load double, ptr %528, align 8, !tbaa !23
  %642 = load double, ptr %139, align 8, !tbaa !23
  %643 = load double, ptr %141, align 8, !tbaa !23
  %644 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %640, double noundef %641, double noundef %642, double noundef %643)
  %645 = fadd double %639, %644
  %646 = getelementptr inbounds double, ptr %67, i64 %indvars.iv
  store double %645, ptr %646, align 8, !tbaa !23
  %647 = load double, ptr %458, align 8, !tbaa !23
  %648 = load double, ptr %460, align 8, !tbaa !23
  %649 = load double, ptr %159, align 8, !tbaa !23
  %650 = load double, ptr %161, align 8, !tbaa !23
  %651 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %647, double noundef %648, double noundef %649, double noundef %650)
  %652 = load double, ptr %504, align 8, !tbaa !23
  %653 = load double, ptr %506, align 8, !tbaa !23
  %654 = load double, ptr %166, align 8, !tbaa !23
  %655 = load double, ptr %168, align 8, !tbaa !23
  %656 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %652, double noundef %653, double noundef %654, double noundef %655)
  %657 = fadd double %651, %656
  %658 = load double, ptr %546, align 8, !tbaa !23
  %659 = load double, ptr %548, align 8, !tbaa !23
  %660 = load double, ptr %175, align 8, !tbaa !23
  %661 = load double, ptr %177, align 8, !tbaa !23
  %662 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %658, double noundef %659, double noundef %660, double noundef %661)
  %663 = fadd double %657, %662
  %664 = load double, ptr %482, align 8, !tbaa !23
  %665 = load double, ptr %484, align 8, !tbaa !23
  %666 = load double, ptr %127, align 8, !tbaa !23
  %667 = load double, ptr %129, align 8, !tbaa !23
  %668 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %664, double noundef %665, double noundef %666, double noundef %667)
  %669 = fadd double %663, %668
  %670 = load double, ptr %526, align 8, !tbaa !23
  %671 = load double, ptr %528, align 8, !tbaa !23
  %672 = load double, ptr %132, align 8, !tbaa !23
  %673 = load double, ptr %134, align 8, !tbaa !23
  %674 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %670, double noundef %671, double noundef %672, double noundef %673)
  %675 = fadd double %669, %674
  %676 = load double, ptr %566, align 8, !tbaa !23
  %677 = load double, ptr %568, align 8, !tbaa !23
  %678 = load double, ptr %139, align 8, !tbaa !23
  %679 = load double, ptr %141, align 8, !tbaa !23
  %680 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %676, double noundef %677, double noundef %678, double noundef %679)
  %681 = fadd double %675, %680
  %682 = getelementptr inbounds double, ptr %71, i64 %indvars.iv
  store double %681, ptr %682, align 8, !tbaa !23
  %683 = load double, ptr %201, align 8, !tbaa !23
  %684 = load double, ptr %237, align 8, !tbaa !23
  %685 = load double, ptr %159, align 8, !tbaa !23
  %686 = load double, ptr %161, align 8, !tbaa !23
  %687 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %683, double noundef %684, double noundef %685, double noundef %686)
  %688 = load double, ptr %218, align 8, !tbaa !23
  %689 = load double, ptr %254, align 8, !tbaa !23
  %690 = load double, ptr %166, align 8, !tbaa !23
  %691 = load double, ptr %168, align 8, !tbaa !23
  %692 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %688, double noundef %689, double noundef %690, double noundef %691)
  %693 = fmul double %692, 0x3FD5555555555555
  %694 = tail call double @llvm.fmuladd.f64(double %687, double 0x3FD5555555555555, double %693)
  %695 = load double, ptr %225, align 8, !tbaa !23
  %696 = load double, ptr %261, align 8, !tbaa !23
  %697 = load double, ptr %175, align 8, !tbaa !23
  %698 = load double, ptr %177, align 8, !tbaa !23
  %699 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %695, double noundef %696, double noundef %697, double noundef %698)
  %700 = tail call double @llvm.fmuladd.f64(double %699, double 0x3FD5555555555555, double %694)
  %701 = load double, ptr %288, align 8, !tbaa !23
  %702 = load double, ptr %375, align 8, !tbaa !23
  %703 = load double, ptr %127, align 8, !tbaa !23
  %704 = load double, ptr %129, align 8, !tbaa !23
  %705 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %701, double noundef %702, double noundef %703, double noundef %704)
  %706 = tail call double @llvm.fmuladd.f64(double %705, double 0x3FD5555555555555, double %700)
  %707 = load double, ptr %329, align 8, !tbaa !23
  %708 = load double, ptr %416, align 8, !tbaa !23
  %709 = load double, ptr %132, align 8, !tbaa !23
  %710 = load double, ptr %134, align 8, !tbaa !23
  %711 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %707, double noundef %708, double noundef %709, double noundef %710)
  %712 = tail call double @llvm.fmuladd.f64(double %711, double 0x3FD5555555555555, double %706)
  %713 = load double, ptr %342, align 8, !tbaa !23
  %714 = load double, ptr %429, align 8, !tbaa !23
  %715 = load double, ptr %139, align 8, !tbaa !23
  %716 = load double, ptr %141, align 8, !tbaa !23
  %717 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %713, double noundef %714, double noundef %715, double noundef %716)
  %718 = tail call double @llvm.fmuladd.f64(double %717, double 0x3FD5555555555555, double %712)
  %719 = getelementptr inbounds double, ptr %72, i64 %indvars.iv
  store double %718, ptr %719, align 8, !tbaa !23
  %720 = load double, ptr %218, align 8, !tbaa !23
  %721 = load double, ptr %254, align 8, !tbaa !23
  %722 = load double, ptr %159, align 8, !tbaa !23
  %723 = load double, ptr %161, align 8, !tbaa !23
  %724 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %720, double noundef %721, double noundef %722, double noundef %723)
  %725 = load double, ptr %206, align 8, !tbaa !23
  %726 = load double, ptr %242, align 8, !tbaa !23
  %727 = load double, ptr %166, align 8, !tbaa !23
  %728 = load double, ptr %168, align 8, !tbaa !23
  %729 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %725, double noundef %726, double noundef %727, double noundef %728)
  %730 = fmul double %729, 0x3FD5555555555555
  %731 = tail call double @llvm.fmuladd.f64(double %724, double 0x3FD5555555555555, double %730)
  %732 = load double, ptr %232, align 8, !tbaa !23
  %733 = load double, ptr %268, align 8, !tbaa !23
  %734 = load double, ptr %175, align 8, !tbaa !23
  %735 = load double, ptr %177, align 8, !tbaa !23
  %736 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %732, double noundef %733, double noundef %734, double noundef %735)
  %737 = tail call double @llvm.fmuladd.f64(double %736, double 0x3FD5555555555555, double %731)
  %738 = load double, ptr %329, align 8, !tbaa !23
  %739 = load double, ptr %416, align 8, !tbaa !23
  %740 = load double, ptr %127, align 8, !tbaa !23
  %741 = load double, ptr %129, align 8, !tbaa !23
  %742 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %738, double noundef %739, double noundef %740, double noundef %741)
  %743 = tail call double @llvm.fmuladd.f64(double %742, double 0x3FD5555555555555, double %737)
  %744 = load double, ptr %302, align 8, !tbaa !23
  %745 = load double, ptr %389, align 8, !tbaa !23
  %746 = load double, ptr %132, align 8, !tbaa !23
  %747 = load double, ptr %134, align 8, !tbaa !23
  %748 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %744, double noundef %745, double noundef %746, double noundef %747)
  %749 = tail call double @llvm.fmuladd.f64(double %748, double 0x3FD5555555555555, double %743)
  %750 = load double, ptr %355, align 8, !tbaa !23
  %751 = load double, ptr %442, align 8, !tbaa !23
  %752 = load double, ptr %139, align 8, !tbaa !23
  %753 = load double, ptr %141, align 8, !tbaa !23
  %754 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %750, double noundef %751, double noundef %752, double noundef %753)
  %755 = tail call double @llvm.fmuladd.f64(double %754, double 0x3FD5555555555555, double %749)
  %756 = getelementptr inbounds double, ptr %74, i64 %indvars.iv
  store double %755, ptr %756, align 8, !tbaa !23
  %757 = load double, ptr %225, align 8, !tbaa !23
  %758 = load double, ptr %261, align 8, !tbaa !23
  %759 = load double, ptr %159, align 8, !tbaa !23
  %760 = load double, ptr %161, align 8, !tbaa !23
  %761 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %757, double noundef %758, double noundef %759, double noundef %760)
  %762 = load double, ptr %232, align 8, !tbaa !23
  %763 = load double, ptr %268, align 8, !tbaa !23
  %764 = load double, ptr %166, align 8, !tbaa !23
  %765 = load double, ptr %168, align 8, !tbaa !23
  %766 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %762, double noundef %763, double noundef %764, double noundef %765)
  %767 = fmul double %766, 0x3FD5555555555555
  %768 = tail call double @llvm.fmuladd.f64(double %761, double 0x3FD5555555555555, double %767)
  %769 = load double, ptr %211, align 8, !tbaa !23
  %770 = load double, ptr %247, align 8, !tbaa !23
  %771 = load double, ptr %175, align 8, !tbaa !23
  %772 = load double, ptr %177, align 8, !tbaa !23
  %773 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %769, double noundef %770, double noundef %771, double noundef %772)
  %774 = tail call double @llvm.fmuladd.f64(double %773, double 0x3FD5555555555555, double %768)
  %775 = load double, ptr %342, align 8, !tbaa !23
  %776 = load double, ptr %429, align 8, !tbaa !23
  %777 = load double, ptr %127, align 8, !tbaa !23
  %778 = load double, ptr %129, align 8, !tbaa !23
  %779 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %775, double noundef %776, double noundef %777, double noundef %778)
  %780 = tail call double @llvm.fmuladd.f64(double %779, double 0x3FD5555555555555, double %774)
  %781 = load double, ptr %355, align 8, !tbaa !23
  %782 = load double, ptr %442, align 8, !tbaa !23
  %783 = load double, ptr %132, align 8, !tbaa !23
  %784 = load double, ptr %134, align 8, !tbaa !23
  %785 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %781, double noundef %782, double noundef %783, double noundef %784)
  %786 = tail call double @llvm.fmuladd.f64(double %785, double 0x3FD5555555555555, double %780)
  %787 = load double, ptr %316, align 8, !tbaa !23
  %788 = load double, ptr %403, align 8, !tbaa !23
  %789 = load double, ptr %139, align 8, !tbaa !23
  %790 = load double, ptr %141, align 8, !tbaa !23
  %791 = tail call noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %787, double noundef %788, double noundef %789, double noundef %790)
  %792 = tail call double @llvm.fmuladd.f64(double %791, double 0x3FD5555555555555, double %786)
  %793 = getelementptr inbounds double, ptr %76, i64 %indvars.iv
  store double %792, ptr %793, align 8, !tbaa !23
  %794 = load double, ptr %201, align 8, !tbaa !23
  %795 = load double, ptr %237, align 8, !tbaa !23
  %796 = load double, ptr %159, align 8, !tbaa !23
  %797 = load double, ptr %161, align 8, !tbaa !23
  %798 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %794, double noundef %795, double noundef %796, double noundef %797)
  %799 = load double, ptr %218, align 8, !tbaa !23
  %800 = load double, ptr %254, align 8, !tbaa !23
  %801 = load double, ptr %166, align 8, !tbaa !23
  %802 = load double, ptr %168, align 8, !tbaa !23
  %803 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %799, double noundef %800, double noundef %801, double noundef %802)
  %804 = fmul double %803, 0x3FD5555555555555
  %805 = tail call double @llvm.fmuladd.f64(double %798, double 0x3FD5555555555555, double %804)
  %806 = load double, ptr %225, align 8, !tbaa !23
  %807 = load double, ptr %261, align 8, !tbaa !23
  %808 = load double, ptr %175, align 8, !tbaa !23
  %809 = load double, ptr %177, align 8, !tbaa !23
  %810 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %806, double noundef %807, double noundef %808, double noundef %809)
  %811 = tail call double @llvm.fmuladd.f64(double %810, double 0x3FD5555555555555, double %805)
  %812 = load double, ptr %288, align 8, !tbaa !23
  %813 = load double, ptr %375, align 8, !tbaa !23
  %814 = load double, ptr %127, align 8, !tbaa !23
  %815 = load double, ptr %129, align 8, !tbaa !23
  %816 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %812, double noundef %813, double noundef %814, double noundef %815)
  %817 = tail call double @llvm.fmuladd.f64(double %816, double 0x3FD5555555555555, double %811)
  %818 = load double, ptr %329, align 8, !tbaa !23
  %819 = load double, ptr %416, align 8, !tbaa !23
  %820 = load double, ptr %132, align 8, !tbaa !23
  %821 = load double, ptr %134, align 8, !tbaa !23
  %822 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %818, double noundef %819, double noundef %820, double noundef %821)
  %823 = tail call double @llvm.fmuladd.f64(double %822, double 0x3FD5555555555555, double %817)
  %824 = load double, ptr %342, align 8, !tbaa !23
  %825 = load double, ptr %429, align 8, !tbaa !23
  %826 = load double, ptr %139, align 8, !tbaa !23
  %827 = load double, ptr %141, align 8, !tbaa !23
  %828 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %824, double noundef %825, double noundef %826, double noundef %827)
  %829 = tail call double @llvm.fmuladd.f64(double %828, double 0x3FD5555555555555, double %823)
  %830 = getelementptr inbounds double, ptr %73, i64 %indvars.iv
  store double %829, ptr %830, align 8, !tbaa !23
  %831 = load double, ptr %218, align 8, !tbaa !23
  %832 = load double, ptr %254, align 8, !tbaa !23
  %833 = load double, ptr %159, align 8, !tbaa !23
  %834 = load double, ptr %161, align 8, !tbaa !23
  %835 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %831, double noundef %832, double noundef %833, double noundef %834)
  %836 = load double, ptr %206, align 8, !tbaa !23
  %837 = load double, ptr %242, align 8, !tbaa !23
  %838 = load double, ptr %166, align 8, !tbaa !23
  %839 = load double, ptr %168, align 8, !tbaa !23
  %840 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %836, double noundef %837, double noundef %838, double noundef %839)
  %841 = fmul double %840, 0x3FD5555555555555
  %842 = tail call double @llvm.fmuladd.f64(double %835, double 0x3FD5555555555555, double %841)
  %843 = load double, ptr %232, align 8, !tbaa !23
  %844 = load double, ptr %268, align 8, !tbaa !23
  %845 = load double, ptr %175, align 8, !tbaa !23
  %846 = load double, ptr %177, align 8, !tbaa !23
  %847 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %843, double noundef %844, double noundef %845, double noundef %846)
  %848 = tail call double @llvm.fmuladd.f64(double %847, double 0x3FD5555555555555, double %842)
  %849 = load double, ptr %329, align 8, !tbaa !23
  %850 = load double, ptr %416, align 8, !tbaa !23
  %851 = load double, ptr %127, align 8, !tbaa !23
  %852 = load double, ptr %129, align 8, !tbaa !23
  %853 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %849, double noundef %850, double noundef %851, double noundef %852)
  %854 = tail call double @llvm.fmuladd.f64(double %853, double 0x3FD5555555555555, double %848)
  %855 = load double, ptr %302, align 8, !tbaa !23
  %856 = load double, ptr %389, align 8, !tbaa !23
  %857 = load double, ptr %132, align 8, !tbaa !23
  %858 = load double, ptr %134, align 8, !tbaa !23
  %859 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %855, double noundef %856, double noundef %857, double noundef %858)
  %860 = tail call double @llvm.fmuladd.f64(double %859, double 0x3FD5555555555555, double %854)
  %861 = load double, ptr %355, align 8, !tbaa !23
  %862 = load double, ptr %442, align 8, !tbaa !23
  %863 = load double, ptr %139, align 8, !tbaa !23
  %864 = load double, ptr %141, align 8, !tbaa !23
  %865 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %861, double noundef %862, double noundef %863, double noundef %864)
  %866 = tail call double @llvm.fmuladd.f64(double %865, double 0x3FD5555555555555, double %860)
  %867 = getelementptr inbounds double, ptr %75, i64 %indvars.iv
  store double %866, ptr %867, align 8, !tbaa !23
  %868 = load double, ptr %225, align 8, !tbaa !23
  %869 = load double, ptr %261, align 8, !tbaa !23
  %870 = load double, ptr %159, align 8, !tbaa !23
  %871 = load double, ptr %161, align 8, !tbaa !23
  %872 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %868, double noundef %869, double noundef %870, double noundef %871)
  %873 = load double, ptr %232, align 8, !tbaa !23
  %874 = load double, ptr %268, align 8, !tbaa !23
  %875 = load double, ptr %166, align 8, !tbaa !23
  %876 = load double, ptr %168, align 8, !tbaa !23
  %877 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %873, double noundef %874, double noundef %875, double noundef %876)
  %878 = fmul double %877, 0x3FD5555555555555
  %879 = tail call double @llvm.fmuladd.f64(double %872, double 0x3FD5555555555555, double %878)
  %880 = load double, ptr %211, align 8, !tbaa !23
  %881 = load double, ptr %247, align 8, !tbaa !23
  %882 = load double, ptr %175, align 8, !tbaa !23
  %883 = load double, ptr %177, align 8, !tbaa !23
  %884 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %880, double noundef %881, double noundef %882, double noundef %883)
  %885 = tail call double @llvm.fmuladd.f64(double %884, double 0x3FD5555555555555, double %879)
  %886 = load double, ptr %342, align 8, !tbaa !23
  %887 = load double, ptr %429, align 8, !tbaa !23
  %888 = load double, ptr %127, align 8, !tbaa !23
  %889 = load double, ptr %129, align 8, !tbaa !23
  %890 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %886, double noundef %887, double noundef %888, double noundef %889)
  %891 = tail call double @llvm.fmuladd.f64(double %890, double 0x3FD5555555555555, double %885)
  %892 = load double, ptr %355, align 8, !tbaa !23
  %893 = load double, ptr %442, align 8, !tbaa !23
  %894 = load double, ptr %132, align 8, !tbaa !23
  %895 = load double, ptr %134, align 8, !tbaa !23
  %896 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %892, double noundef %893, double noundef %894, double noundef %895)
  %897 = tail call double @llvm.fmuladd.f64(double %896, double 0x3FD5555555555555, double %891)
  %898 = load double, ptr %316, align 8, !tbaa !23
  %899 = load double, ptr %403, align 8, !tbaa !23
  %900 = load double, ptr %139, align 8, !tbaa !23
  %901 = load double, ptr %141, align 8, !tbaa !23
  %902 = tail call noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112) %0, double noundef %898, double noundef %899, double noundef %900, double noundef %901)
  %903 = tail call double @llvm.fmuladd.f64(double %902, double 0x3FD5555555555555, double %897)
  %904 = getelementptr inbounds double, ptr %77, i64 %indvars.iv
  store double %903, ptr %904, align 8, !tbaa !23
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !25

.loopexit:                                        ; preds = %._crit_edge, %6, %4
  ret void
}

declare noundef ptr @_ZNK12CDensityGrid12alphaDensityEi(ptr noundef nonnull align 8 dereferenceable(112), i32 noundef) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZN17CDensityGridCubic7prod2_rEdddd(ptr noundef nonnull align 8 dereferenceable(112), double noundef, double noundef, double noundef, double noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZN17CDensityGridCubic7prod2_iEdddd(ptr noundef nonnull align 8 dereferenceable(112), double noundef, double noundef, double noundef, double noundef) local_unnamed_addr #2 align 2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x double> @llvm.fmuladd.v2f64(<2 x double>, <2 x double>, <2 x double>) #4

attributes #0 = { 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 #1 = { "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 = { 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 #3 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }

!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, !7, i64 0}
!6 = !{!"_ZTS17CDensityGridCubic", !7, i64 0, !10, i64 4, !11, i64 8}
!7 = !{!"_ZTS7dengrid", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!"_ZTS18CDensityGridData2D", !12, i64 0, !17, i64 24, !17, i64 48, !17, i64 72, !10, i64 96}
!12 = !{!"_ZTSSt6vectorIdSaIdEE", !13, i64 0}
!13 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !15, i64 0}
!15 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !16, i64 0, !16, i64 8, !16, i64 16}
!16 = !{!"any pointer", !8, i64 0}
!17 = !{!"_ZTSSt6vectorIiSaIiEE", !18, i64 0}
!18 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !16, i64 0, !16, i64 8, !16, i64 16}
!21 = distinct !{!21, !22}
!22 = !{!"llvm.loop.mustprogress"}
!23 = !{!24, !24, i64 0}
!24 = !{!"double", !8, i64 0}
!25 = distinct !{!25, !22}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass