; LLVM IR from SciCompMod/GMGPolar :: src/InputFunctions/SourceTerms (cartesianR6_Poisson_CircularGeometry)

; 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.CartesianR6_Poisson_CircularGeometry = type { %class.SourceTerm, double }
%class.SourceTerm = type { ptr }

; Function Attrs: mustprogress nounwind uwtable
define dso_local noundef double @_ZNK36CartesianR6_Poisson_CircularGeometry5rhs_fERKdS1_S1_S1_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) unnamed_addr #0 align 2 {
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  store ptr %0, ptr %6, align 8, !tbaa !5
  store ptr %1, ptr %7, align 8, !tbaa !5
  store ptr %2, ptr %8, align 8, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !5
  store ptr %4, ptr %10, align 8, !tbaa !5
  %11 = load ptr, ptr %6, align 8
  %12 = load ptr, ptr %7, align 8, !tbaa !5
  %13 = load double, ptr %12, align 8, !tbaa !9
  %14 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %15 = load double, ptr %14, align 8, !tbaa !11
  %16 = fdiv double %13, %15
  %17 = fmul double 0xC0302B9CB4038019, %16
  %18 = load ptr, ptr %7, align 8, !tbaa !5
  %19 = load double, ptr %18, align 8, !tbaa !9
  %20 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %21 = load double, ptr %20, align 8, !tbaa !11
  %22 = fdiv double %19, %21
  %23 = fsub double %22, 1.000000e+00
  %24 = call double @pow(double noundef %23, double noundef 6.000000e+00) #3
  %25 = fmul double %17, %24
  %26 = load ptr, ptr %7, align 8, !tbaa !5
  %27 = load double, ptr %26, align 8, !tbaa !9
  %28 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %29 = load double, ptr %28, align 8, !tbaa !11
  %30 = fdiv double %27, %29
  %31 = fadd double %30, 1.000000e+00
  %32 = call double @pow(double noundef %31, double noundef 6.000000e+00) #3
  %33 = fmul double %25, %32
  %34 = load ptr, ptr %9, align 8, !tbaa !5
  %35 = load double, ptr %34, align 8, !tbaa !9
  %36 = call double @pow(double noundef %35, double noundef 2.000000e+00) #3
  %37 = fmul double %33, %36
  %38 = load ptr, ptr %7, align 8, !tbaa !5
  %39 = load double, ptr %38, align 8, !tbaa !9
  %40 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %41 = load double, ptr %40, align 8, !tbaa !11
  %42 = fdiv double %39, %41
  %43 = fmul double 0x401921FB54442D18, %42
  %44 = load ptr, ptr %9, align 8, !tbaa !5
  %45 = load double, ptr %44, align 8, !tbaa !9
  %46 = fmul double %43, %45
  %47 = call double @sin(double noundef %46) #3
  %48 = fmul double %37, %47
  %49 = load ptr, ptr %7, align 8, !tbaa !5
  %50 = load double, ptr %49, align 8, !tbaa !9
  %51 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %52 = load double, ptr %51, align 8, !tbaa !11
  %53 = fdiv double %50, %52
  %54 = fmul double 0x401921FB54442D18, %53
  %55 = load ptr, ptr %10, align 8, !tbaa !5
  %56 = load double, ptr %55, align 8, !tbaa !9
  %57 = fmul double %54, %56
  %58 = call double @cos(double noundef %57) #3
  %59 = load ptr, ptr %7, align 8, !tbaa !5
  %60 = load double, ptr %59, align 8, !tbaa !9
  %61 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %62 = load double, ptr %61, align 8, !tbaa !11
  %63 = fdiv double %60, %62
  %64 = fmul double 0x40402B9CB4038019, %63
  %65 = load ptr, ptr %7, align 8, !tbaa !5
  %66 = load double, ptr %65, align 8, !tbaa !9
  %67 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %68 = load double, ptr %67, align 8, !tbaa !11
  %69 = fdiv double %66, %68
  %70 = fsub double %69, 1.000000e+00
  %71 = call double @pow(double noundef %70, double noundef 6.000000e+00) #3
  %72 = fmul double %64, %71
  %73 = load ptr, ptr %7, align 8, !tbaa !5
  %74 = load double, ptr %73, align 8, !tbaa !9
  %75 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %76 = load double, ptr %75, align 8, !tbaa !11
  %77 = fdiv double %74, %76
  %78 = fadd double %77, 1.000000e+00
  %79 = call double @pow(double noundef %78, double noundef 6.000000e+00) #3
  %80 = fmul double %72, %79
  %81 = load ptr, ptr %9, align 8, !tbaa !5
  %82 = load double, ptr %81, align 8, !tbaa !9
  %83 = fmul double %80, %82
  %84 = load ptr, ptr %7, align 8, !tbaa !5
  %85 = load double, ptr %84, align 8, !tbaa !9
  %86 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %87 = load double, ptr %86, align 8, !tbaa !11
  %88 = fdiv double %85, %87
  %89 = fmul double 0x401921FB54442D18, %88
  %90 = load ptr, ptr %10, align 8, !tbaa !5
  %91 = load double, ptr %90, align 8, !tbaa !9
  %92 = fmul double %89, %91
  %93 = call double @sin(double noundef %92) #3
  %94 = fmul double %83, %93
  %95 = load ptr, ptr %10, align 8, !tbaa !5
  %96 = load double, ptr %95, align 8, !tbaa !9
  %97 = fmul double %94, %96
  %98 = load ptr, ptr %7, align 8, !tbaa !5
  %99 = load double, ptr %98, align 8, !tbaa !9
  %100 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %101 = load double, ptr %100, align 8, !tbaa !11
  %102 = fdiv double %99, %101
  %103 = fmul double 0x401921FB54442D18, %102
  %104 = load ptr, ptr %9, align 8, !tbaa !5
  %105 = load double, ptr %104, align 8, !tbaa !9
  %106 = fmul double %103, %105
  %107 = call double @cos(double noundef %106) #3
  %108 = fmul double %97, %107
  %109 = call double @llvm.fmuladd.f64(double %48, double %58, double %108)
  %110 = load ptr, ptr %7, align 8, !tbaa !5
  %111 = load double, ptr %110, align 8, !tbaa !9
  %112 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %113 = load double, ptr %112, align 8, !tbaa !11
  %114 = fdiv double %111, %113
  %115 = fmul double 0x40302B9CB4038019, %114
  %116 = load ptr, ptr %7, align 8, !tbaa !5
  %117 = load double, ptr %116, align 8, !tbaa !9
  %118 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %119 = load double, ptr %118, align 8, !tbaa !11
  %120 = fdiv double %117, %119
  %121 = fsub double %120, 1.000000e+00
  %122 = call double @pow(double noundef %121, double noundef 6.000000e+00) #3
  %123 = fmul double %115, %122
  %124 = load ptr, ptr %7, align 8, !tbaa !5
  %125 = load double, ptr %124, align 8, !tbaa !9
  %126 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %127 = load double, ptr %126, align 8, !tbaa !11
  %128 = fdiv double %125, %127
  %129 = fadd double %128, 1.000000e+00
  %130 = call double @pow(double noundef %129, double noundef 6.000000e+00) #3
  %131 = fmul double %123, %130
  %132 = load ptr, ptr %7, align 8, !tbaa !5
  %133 = load double, ptr %132, align 8, !tbaa !9
  %134 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %135 = load double, ptr %134, align 8, !tbaa !11
  %136 = fdiv double %133, %135
  %137 = fmul double 0x401921FB54442D18, %136
  %138 = load ptr, ptr %9, align 8, !tbaa !5
  %139 = load double, ptr %138, align 8, !tbaa !9
  %140 = fmul double %137, %139
  %141 = call double @sin(double noundef %140) #3
  %142 = fmul double %131, %141
  %143 = load ptr, ptr %10, align 8, !tbaa !5
  %144 = load double, ptr %143, align 8, !tbaa !9
  %145 = call double @pow(double noundef %144, double noundef 2.000000e+00) #3
  %146 = fmul double %142, %145
  %147 = load ptr, ptr %7, align 8, !tbaa !5
  %148 = load double, ptr %147, align 8, !tbaa !9
  %149 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %150 = load double, ptr %149, align 8, !tbaa !11
  %151 = fdiv double %148, %150
  %152 = fmul double 0x401921FB54442D18, %151
  %153 = load ptr, ptr %10, align 8, !tbaa !5
  %154 = load double, ptr %153, align 8, !tbaa !9
  %155 = fmul double %152, %154
  %156 = call double @cos(double noundef %155) #3
  %157 = fneg double %146
  %158 = call double @llvm.fmuladd.f64(double %157, double %156, double %109)
  %159 = load ptr, ptr %7, align 8, !tbaa !5
  %160 = load double, ptr %159, align 8, !tbaa !9
  %161 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %162 = load double, ptr %161, align 8, !tbaa !11
  %163 = fdiv double %160, %162
  %164 = fmul double 1.000000e+00, %163
  %165 = load ptr, ptr %7, align 8, !tbaa !5
  %166 = load double, ptr %165, align 8, !tbaa !9
  %167 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %168 = load double, ptr %167, align 8, !tbaa !11
  %169 = fdiv double %166, %168
  %170 = fsub double %169, 1.000000e+00
  %171 = call double @pow(double noundef %170, double noundef 6.000000e+00) #3
  %172 = fmul double 0xC0302B9CB4038019, %171
  %173 = load ptr, ptr %7, align 8, !tbaa !5
  %174 = load double, ptr %173, align 8, !tbaa !9
  %175 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %176 = load double, ptr %175, align 8, !tbaa !11
  %177 = fdiv double %174, %176
  %178 = fadd double %177, 1.000000e+00
  %179 = call double @pow(double noundef %178, double noundef 6.000000e+00) #3
  %180 = fmul double %172, %179
  %181 = load ptr, ptr %9, align 8, !tbaa !5
  %182 = load double, ptr %181, align 8, !tbaa !9
  %183 = call double @pow(double noundef %182, double noundef 2.000000e+00) #3
  %184 = fmul double %180, %183
  %185 = load ptr, ptr %7, align 8, !tbaa !5
  %186 = load double, ptr %185, align 8, !tbaa !9
  %187 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %188 = load double, ptr %187, align 8, !tbaa !11
  %189 = fdiv double %186, %188
  %190 = fmul double 0x401921FB54442D18, %189
  %191 = load ptr, ptr %9, align 8, !tbaa !5
  %192 = load double, ptr %191, align 8, !tbaa !9
  %193 = fmul double %190, %192
  %194 = call double @sin(double noundef %193) #3
  %195 = fmul double %184, %194
  %196 = load ptr, ptr %7, align 8, !tbaa !5
  %197 = load double, ptr %196, align 8, !tbaa !9
  %198 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %199 = load double, ptr %198, align 8, !tbaa !11
  %200 = fdiv double %197, %199
  %201 = fmul double 0x401921FB54442D18, %200
  %202 = load ptr, ptr %10, align 8, !tbaa !5
  %203 = load double, ptr %202, align 8, !tbaa !9
  %204 = fmul double %201, %203
  %205 = call double @cos(double noundef %204) #3
  %206 = load ptr, ptr %7, align 8, !tbaa !5
  %207 = load double, ptr %206, align 8, !tbaa !9
  %208 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %209 = load double, ptr %208, align 8, !tbaa !11
  %210 = fdiv double %207, %209
  %211 = fsub double %210, 1.000000e+00
  %212 = call double @pow(double noundef %211, double noundef 6.000000e+00) #3
  %213 = fmul double 0x40402B9CB4038019, %212
  %214 = load ptr, ptr %7, align 8, !tbaa !5
  %215 = load double, ptr %214, align 8, !tbaa !9
  %216 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %217 = load double, ptr %216, align 8, !tbaa !11
  %218 = fdiv double %215, %217
  %219 = fadd double %218, 1.000000e+00
  %220 = call double @pow(double noundef %219, double noundef 6.000000e+00) #3
  %221 = fmul double %213, %220
  %222 = load ptr, ptr %9, align 8, !tbaa !5
  %223 = load double, ptr %222, align 8, !tbaa !9
  %224 = fmul double %221, %223
  %225 = load ptr, ptr %7, align 8, !tbaa !5
  %226 = load double, ptr %225, align 8, !tbaa !9
  %227 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %228 = load double, ptr %227, align 8, !tbaa !11
  %229 = fdiv double %226, %228
  %230 = fmul double 0x401921FB54442D18, %229
  %231 = load ptr, ptr %10, align 8, !tbaa !5
  %232 = load double, ptr %231, align 8, !tbaa !9
  %233 = fmul double %230, %232
  %234 = call double @sin(double noundef %233) #3
  %235 = fmul double %224, %234
  %236 = load ptr, ptr %10, align 8, !tbaa !5
  %237 = load double, ptr %236, align 8, !tbaa !9
  %238 = fmul double %235, %237
  %239 = load ptr, ptr %7, align 8, !tbaa !5
  %240 = load double, ptr %239, align 8, !tbaa !9
  %241 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %242 = load double, ptr %241, align 8, !tbaa !11
  %243 = fdiv double %240, %242
  %244 = fmul double 0x401921FB54442D18, %243
  %245 = load ptr, ptr %9, align 8, !tbaa !5
  %246 = load double, ptr %245, align 8, !tbaa !9
  %247 = fmul double %244, %246
  %248 = call double @cos(double noundef %247) #3
  %249 = fmul double %238, %248
  %250 = fneg double %249
  %251 = call double @llvm.fmuladd.f64(double %195, double %205, double %250)
  %252 = load ptr, ptr %7, align 8, !tbaa !5
  %253 = load double, ptr %252, align 8, !tbaa !9
  %254 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %255 = load double, ptr %254, align 8, !tbaa !11
  %256 = fdiv double %253, %255
  %257 = fsub double %256, 1.000000e+00
  %258 = call double @pow(double noundef %257, double noundef 6.000000e+00) #3
  %259 = fmul double 0x40302B9CB4038019, %258
  %260 = load ptr, ptr %7, align 8, !tbaa !5
  %261 = load double, ptr %260, align 8, !tbaa !9
  %262 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %263 = load double, ptr %262, align 8, !tbaa !11
  %264 = fdiv double %261, %263
  %265 = fadd double %264, 1.000000e+00
  %266 = call double @pow(double noundef %265, double noundef 6.000000e+00) #3
  %267 = fmul double %259, %266
  %268 = load ptr, ptr %7, align 8, !tbaa !5
  %269 = load double, ptr %268, align 8, !tbaa !9
  %270 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %271 = load double, ptr %270, align 8, !tbaa !11
  %272 = fdiv double %269, %271
  %273 = fmul double 0x401921FB54442D18, %272
  %274 = load ptr, ptr %9, align 8, !tbaa !5
  %275 = load double, ptr %274, align 8, !tbaa !9
  %276 = fmul double %273, %275
  %277 = call double @sin(double noundef %276) #3
  %278 = fmul double %267, %277
  %279 = load ptr, ptr %10, align 8, !tbaa !5
  %280 = load double, ptr %279, align 8, !tbaa !9
  %281 = call double @pow(double noundef %280, double noundef 2.000000e+00) #3
  %282 = fmul double %278, %281
  %283 = load ptr, ptr %7, align 8, !tbaa !5
  %284 = load double, ptr %283, align 8, !tbaa !9
  %285 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %286 = load double, ptr %285, align 8, !tbaa !11
  %287 = fdiv double %284, %286
  %288 = fmul double 0x401921FB54442D18, %287
  %289 = load ptr, ptr %10, align 8, !tbaa !5
  %290 = load double, ptr %289, align 8, !tbaa !9
  %291 = fmul double %288, %290
  %292 = call double @cos(double noundef %291) #3
  %293 = fneg double %282
  %294 = call double @llvm.fmuladd.f64(double %293, double %292, double %251)
  %295 = load ptr, ptr %7, align 8, !tbaa !5
  %296 = load double, ptr %295, align 8, !tbaa !9
  %297 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %298 = load double, ptr %297, align 8, !tbaa !11
  %299 = fdiv double %296, %298
  %300 = fsub double %299, 1.000000e+00
  %301 = call double @pow(double noundef %300, double noundef 6.000000e+00) #3
  %302 = fmul double 0x403EE213A7DA8882, %301
  %303 = load ptr, ptr %7, align 8, !tbaa !5
  %304 = load double, ptr %303, align 8, !tbaa !9
  %305 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %306 = load double, ptr %305, align 8, !tbaa !11
  %307 = fdiv double %304, %306
  %308 = fadd double %307, 1.000000e+00
  %309 = call double @pow(double noundef %308, double noundef 5.000000e+00) #3
  %310 = fmul double %302, %309
  %311 = load ptr, ptr %9, align 8, !tbaa !5
  %312 = load double, ptr %311, align 8, !tbaa !9
  %313 = fmul double %310, %312
  %314 = load ptr, ptr %7, align 8, !tbaa !5
  %315 = load double, ptr %314, align 8, !tbaa !9
  %316 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %317 = load double, ptr %316, align 8, !tbaa !11
  %318 = fdiv double %315, %317
  %319 = fmul double 0x401921FB54442D18, %318
  %320 = load ptr, ptr %9, align 8, !tbaa !5
  %321 = load double, ptr %320, align 8, !tbaa !9
  %322 = fmul double %319, %321
  %323 = call double @cos(double noundef %322) #3
  %324 = fmul double %313, %323
  %325 = load ptr, ptr %7, align 8, !tbaa !5
  %326 = load double, ptr %325, align 8, !tbaa !9
  %327 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %328 = load double, ptr %327, align 8, !tbaa !11
  %329 = fdiv double %326, %328
  %330 = fmul double 0x401921FB54442D18, %329
  %331 = load ptr, ptr %10, align 8, !tbaa !5
  %332 = load double, ptr %331, align 8, !tbaa !9
  %333 = fmul double %330, %332
  %334 = call double @cos(double noundef %333) #3
  %335 = call double @llvm.fmuladd.f64(double %324, double %334, double %294)
  %336 = load ptr, ptr %7, align 8, !tbaa !5
  %337 = load double, ptr %336, align 8, !tbaa !9
  %338 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %339 = load double, ptr %338, align 8, !tbaa !11
  %340 = fdiv double %337, %339
  %341 = fsub double %340, 1.000000e+00
  %342 = call double @pow(double noundef %341, double noundef 6.000000e+00) #3
  %343 = fmul double 0x403EE213A7DA8882, %342
  %344 = load ptr, ptr %7, align 8, !tbaa !5
  %345 = load double, ptr %344, align 8, !tbaa !9
  %346 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %347 = load double, ptr %346, align 8, !tbaa !11
  %348 = fdiv double %345, %347
  %349 = fadd double %348, 1.000000e+00
  %350 = call double @pow(double noundef %349, double noundef 5.000000e+00) #3
  %351 = fmul double %343, %350
  %352 = load ptr, ptr %7, align 8, !tbaa !5
  %353 = load double, ptr %352, align 8, !tbaa !9
  %354 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %355 = load double, ptr %354, align 8, !tbaa !11
  %356 = fdiv double %353, %355
  %357 = fmul double 0x401921FB54442D18, %356
  %358 = load ptr, ptr %9, align 8, !tbaa !5
  %359 = load double, ptr %358, align 8, !tbaa !9
  %360 = fmul double %357, %359
  %361 = call double @sin(double noundef %360) #3
  %362 = fmul double %351, %361
  %363 = load ptr, ptr %7, align 8, !tbaa !5
  %364 = load double, ptr %363, align 8, !tbaa !9
  %365 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %366 = load double, ptr %365, align 8, !tbaa !11
  %367 = fdiv double %364, %366
  %368 = fmul double 0x401921FB54442D18, %367
  %369 = load ptr, ptr %10, align 8, !tbaa !5
  %370 = load double, ptr %369, align 8, !tbaa !9
  %371 = fmul double %368, %370
  %372 = call double @sin(double noundef %371) #3
  %373 = fmul double %362, %372
  %374 = load ptr, ptr %10, align 8, !tbaa !5
  %375 = load double, ptr %374, align 8, !tbaa !9
  %376 = fneg double %373
  %377 = call double @llvm.fmuladd.f64(double %376, double %375, double %335)
  %378 = load ptr, ptr %7, align 8, !tbaa !5
  %379 = load double, ptr %378, align 8, !tbaa !9
  %380 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %381 = load double, ptr %380, align 8, !tbaa !11
  %382 = fdiv double %379, %381
  %383 = fsub double %382, 1.000000e+00
  %384 = call double @pow(double noundef %383, double noundef 6.000000e+00) #3
  %385 = fmul double 1.228800e+01, %384
  %386 = load ptr, ptr %7, align 8, !tbaa !5
  %387 = load double, ptr %386, align 8, !tbaa !9
  %388 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %389 = load double, ptr %388, align 8, !tbaa !11
  %390 = fdiv double %387, %389
  %391 = fadd double %390, 1.000000e+00
  %392 = call double @pow(double noundef %391, double noundef 4.000000e+00) #3
  %393 = fmul double %385, %392
  %394 = load ptr, ptr %7, align 8, !tbaa !5
  %395 = load double, ptr %394, align 8, !tbaa !9
  %396 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %397 = load double, ptr %396, align 8, !tbaa !11
  %398 = fdiv double %395, %397
  %399 = fmul double 0x401921FB54442D18, %398
  %400 = load ptr, ptr %9, align 8, !tbaa !5
  %401 = load double, ptr %400, align 8, !tbaa !9
  %402 = fmul double %399, %401
  %403 = call double @sin(double noundef %402) #3
  %404 = fmul double %393, %403
  %405 = load ptr, ptr %7, align 8, !tbaa !5
  %406 = load double, ptr %405, align 8, !tbaa !9
  %407 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %408 = load double, ptr %407, align 8, !tbaa !11
  %409 = fdiv double %406, %408
  %410 = fmul double 0x401921FB54442D18, %409
  %411 = load ptr, ptr %10, align 8, !tbaa !5
  %412 = load double, ptr %411, align 8, !tbaa !9
  %413 = fmul double %410, %412
  %414 = call double @cos(double noundef %413) #3
  %415 = call double @llvm.fmuladd.f64(double %404, double %414, double %377)
  %416 = load ptr, ptr %7, align 8, !tbaa !5
  %417 = load double, ptr %416, align 8, !tbaa !9
  %418 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %419 = load double, ptr %418, align 8, !tbaa !11
  %420 = fdiv double %417, %419
  %421 = fsub double %420, 1.000000e+00
  %422 = call double @pow(double noundef %421, double noundef 5.000000e+00) #3
  %423 = fmul double 0x403EE213A7DA8882, %422
  %424 = load ptr, ptr %7, align 8, !tbaa !5
  %425 = load double, ptr %424, align 8, !tbaa !9
  %426 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %427 = load double, ptr %426, align 8, !tbaa !11
  %428 = fdiv double %425, %427
  %429 = fadd double %428, 1.000000e+00
  %430 = call double @pow(double noundef %429, double noundef 6.000000e+00) #3
  %431 = fmul double %423, %430
  %432 = load ptr, ptr %9, align 8, !tbaa !5
  %433 = load double, ptr %432, align 8, !tbaa !9
  %434 = fmul double %431, %433
  %435 = load ptr, ptr %7, align 8, !tbaa !5
  %436 = load double, ptr %435, align 8, !tbaa !9
  %437 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %438 = load double, ptr %437, align 8, !tbaa !11
  %439 = fdiv double %436, %438
  %440 = fmul double 0x401921FB54442D18, %439
  %441 = load ptr, ptr %9, align 8, !tbaa !5
  %442 = load double, ptr %441, align 8, !tbaa !9
  %443 = fmul double %440, %442
  %444 = call double @cos(double noundef %443) #3
  %445 = fmul double %434, %444
  %446 = load ptr, ptr %7, align 8, !tbaa !5
  %447 = load double, ptr %446, align 8, !tbaa !9
  %448 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %449 = load double, ptr %448, align 8, !tbaa !11
  %450 = fdiv double %447, %449
  %451 = fmul double 0x401921FB54442D18, %450
  %452 = load ptr, ptr %10, align 8, !tbaa !5
  %453 = load double, ptr %452, align 8, !tbaa !9
  %454 = fmul double %451, %453
  %455 = call double @cos(double noundef %454) #3
  %456 = call double @llvm.fmuladd.f64(double %445, double %455, double %415)
  %457 = load ptr, ptr %7, align 8, !tbaa !5
  %458 = load double, ptr %457, align 8, !tbaa !9
  %459 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %460 = load double, ptr %459, align 8, !tbaa !11
  %461 = fdiv double %458, %460
  %462 = fsub double %461, 1.000000e+00
  %463 = call double @pow(double noundef %462, double noundef 5.000000e+00) #3
  %464 = fmul double 0x403EE213A7DA8882, %463
  %465 = load ptr, ptr %7, align 8, !tbaa !5
  %466 = load double, ptr %465, align 8, !tbaa !9
  %467 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %468 = load double, ptr %467, align 8, !tbaa !11
  %469 = fdiv double %466, %468
  %470 = fadd double %469, 1.000000e+00
  %471 = call double @pow(double noundef %470, double noundef 6.000000e+00) #3
  %472 = fmul double %464, %471
  %473 = load ptr, ptr %7, align 8, !tbaa !5
  %474 = load double, ptr %473, align 8, !tbaa !9
  %475 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %476 = load double, ptr %475, align 8, !tbaa !11
  %477 = fdiv double %474, %476
  %478 = fmul double 0x401921FB54442D18, %477
  %479 = load ptr, ptr %9, align 8, !tbaa !5
  %480 = load double, ptr %479, align 8, !tbaa !9
  %481 = fmul double %478, %480
  %482 = call double @sin(double noundef %481) #3
  %483 = fmul double %472, %482
  %484 = load ptr, ptr %7, align 8, !tbaa !5
  %485 = load double, ptr %484, align 8, !tbaa !9
  %486 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %487 = load double, ptr %486, align 8, !tbaa !11
  %488 = fdiv double %485, %487
  %489 = fmul double 0x401921FB54442D18, %488
  %490 = load ptr, ptr %10, align 8, !tbaa !5
  %491 = load double, ptr %490, align 8, !tbaa !9
  %492 = fmul double %489, %491
  %493 = call double @sin(double noundef %492) #3
  %494 = fmul double %483, %493
  %495 = load ptr, ptr %10, align 8, !tbaa !5
  %496 = load double, ptr %495, align 8, !tbaa !9
  %497 = fneg double %494
  %498 = call double @llvm.fmuladd.f64(double %497, double %496, double %456)
  %499 = load ptr, ptr %7, align 8, !tbaa !5
  %500 = load double, ptr %499, align 8, !tbaa !9
  %501 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %502 = load double, ptr %501, align 8, !tbaa !11
  %503 = fdiv double %500, %502
  %504 = fsub double %503, 1.000000e+00
  %505 = call double @pow(double noundef %504, double noundef 5.000000e+00) #3
  %506 = fmul double 2.949120e+01, %505
  %507 = load ptr, ptr %7, align 8, !tbaa !5
  %508 = load double, ptr %507, align 8, !tbaa !9
  %509 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %510 = load double, ptr %509, align 8, !tbaa !11
  %511 = fdiv double %508, %510
  %512 = fadd double %511, 1.000000e+00
  %513 = call double @pow(double noundef %512, double noundef 5.000000e+00) #3
  %514 = fmul double %506, %513
  %515 = load ptr, ptr %7, align 8, !tbaa !5
  %516 = load double, ptr %515, align 8, !tbaa !9
  %517 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %518 = load double, ptr %517, align 8, !tbaa !11
  %519 = fdiv double %516, %518
  %520 = fmul double 0x401921FB54442D18, %519
  %521 = load ptr, ptr %9, align 8, !tbaa !5
  %522 = load double, ptr %521, align 8, !tbaa !9
  %523 = fmul double %520, %522
  %524 = call double @sin(double noundef %523) #3
  %525 = fmul double %514, %524
  %526 = load ptr, ptr %7, align 8, !tbaa !5
  %527 = load double, ptr %526, align 8, !tbaa !9
  %528 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %529 = load double, ptr %528, align 8, !tbaa !11
  %530 = fdiv double %527, %529
  %531 = fmul double 0x401921FB54442D18, %530
  %532 = load ptr, ptr %10, align 8, !tbaa !5
  %533 = load double, ptr %532, align 8, !tbaa !9
  %534 = fmul double %531, %533
  %535 = call double @cos(double noundef %534) #3
  %536 = call double @llvm.fmuladd.f64(double %525, double %535, double %498)
  %537 = load ptr, ptr %7, align 8, !tbaa !5
  %538 = load double, ptr %537, align 8, !tbaa !9
  %539 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %540 = load double, ptr %539, align 8, !tbaa !11
  %541 = fdiv double %538, %540
  %542 = fsub double %541, 1.000000e+00
  %543 = call double @pow(double noundef %542, double noundef 4.000000e+00) #3
  %544 = fmul double 1.228800e+01, %543
  %545 = load ptr, ptr %7, align 8, !tbaa !5
  %546 = load double, ptr %545, align 8, !tbaa !9
  %547 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %548 = load double, ptr %547, align 8, !tbaa !11
  %549 = fdiv double %546, %548
  %550 = fadd double %549, 1.000000e+00
  %551 = call double @pow(double noundef %550, double noundef 6.000000e+00) #3
  %552 = fmul double %544, %551
  %553 = load ptr, ptr %7, align 8, !tbaa !5
  %554 = load double, ptr %553, align 8, !tbaa !9
  %555 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %556 = load double, ptr %555, align 8, !tbaa !11
  %557 = fdiv double %554, %556
  %558 = fmul double 0x401921FB54442D18, %557
  %559 = load ptr, ptr %9, align 8, !tbaa !5
  %560 = load double, ptr %559, align 8, !tbaa !9
  %561 = fmul double %558, %560
  %562 = call double @sin(double noundef %561) #3
  %563 = fmul double %552, %562
  %564 = load ptr, ptr %7, align 8, !tbaa !5
  %565 = load double, ptr %564, align 8, !tbaa !9
  %566 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %567 = load double, ptr %566, align 8, !tbaa !11
  %568 = fdiv double %565, %567
  %569 = fmul double 0x401921FB54442D18, %568
  %570 = load ptr, ptr %10, align 8, !tbaa !5
  %571 = load double, ptr %570, align 8, !tbaa !9
  %572 = fmul double %569, %571
  %573 = call double @cos(double noundef %572) #3
  %574 = call double @llvm.fmuladd.f64(double %563, double %573, double %536)
  %575 = call double @llvm.fmuladd.f64(double %164, double %574, double %158)
  %576 = load ptr, ptr %7, align 8, !tbaa !5
  %577 = load double, ptr %576, align 8, !tbaa !9
  %578 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %579 = load double, ptr %578, align 8, !tbaa !11
  %580 = fdiv double %577, %579
  %581 = fsub double %580, 1.000000e+00
  %582 = call double @pow(double noundef %581, double noundef 6.000000e+00) #3
  %583 = fmul double 2.457600e+00, %582
  %584 = load ptr, ptr %7, align 8, !tbaa !5
  %585 = load double, ptr %584, align 8, !tbaa !9
  %586 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %587 = load double, ptr %586, align 8, !tbaa !11
  %588 = fdiv double %585, %587
  %589 = fadd double %588, 1.000000e+00
  %590 = call double @pow(double noundef %589, double noundef 5.000000e+00) #3
  %591 = fmul double %583, %590
  %592 = load ptr, ptr %7, align 8, !tbaa !5
  %593 = load double, ptr %592, align 8, !tbaa !9
  %594 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %595 = load double, ptr %594, align 8, !tbaa !11
  %596 = fdiv double %593, %595
  %597 = fmul double 0x401921FB54442D18, %596
  %598 = load ptr, ptr %9, align 8, !tbaa !5
  %599 = load double, ptr %598, align 8, !tbaa !9
  %600 = fmul double %597, %599
  %601 = call double @sin(double noundef %600) #3
  %602 = fmul double %591, %601
  %603 = load ptr, ptr %7, align 8, !tbaa !5
  %604 = load double, ptr %603, align 8, !tbaa !9
  %605 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %606 = load double, ptr %605, align 8, !tbaa !11
  %607 = fdiv double %604, %606
  %608 = fmul double 0x401921FB54442D18, %607
  %609 = load ptr, ptr %10, align 8, !tbaa !5
  %610 = load double, ptr %609, align 8, !tbaa !9
  %611 = fmul double %608, %610
  %612 = call double @cos(double noundef %611) #3
  %613 = call double @llvm.fmuladd.f64(double %602, double %612, double %575)
  %614 = load ptr, ptr %7, align 8, !tbaa !5
  %615 = load double, ptr %614, align 8, !tbaa !9
  %616 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %617 = load double, ptr %616, align 8, !tbaa !11
  %618 = fdiv double %615, %617
  %619 = fsub double %618, 1.000000e+00
  %620 = call double @pow(double noundef %619, double noundef 5.000000e+00) #3
  %621 = fmul double 2.457600e+00, %620
  %622 = load ptr, ptr %7, align 8, !tbaa !5
  %623 = load double, ptr %622, align 8, !tbaa !9
  %624 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %625 = load double, ptr %624, align 8, !tbaa !11
  %626 = fdiv double %623, %625
  %627 = fadd double %626, 1.000000e+00
  %628 = call double @pow(double noundef %627, double noundef 6.000000e+00) #3
  %629 = fmul double %621, %628
  %630 = load ptr, ptr %7, align 8, !tbaa !5
  %631 = load double, ptr %630, align 8, !tbaa !9
  %632 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %633 = load double, ptr %632, align 8, !tbaa !11
  %634 = fdiv double %631, %633
  %635 = fmul double 0x401921FB54442D18, %634
  %636 = load ptr, ptr %9, align 8, !tbaa !5
  %637 = load double, ptr %636, align 8, !tbaa !9
  %638 = fmul double %635, %637
  %639 = call double @sin(double noundef %638) #3
  %640 = fmul double %629, %639
  %641 = load ptr, ptr %7, align 8, !tbaa !5
  %642 = load double, ptr %641, align 8, !tbaa !9
  %643 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %644 = load double, ptr %643, align 8, !tbaa !11
  %645 = fdiv double %642, %644
  %646 = fmul double 0x401921FB54442D18, %645
  %647 = load ptr, ptr %10, align 8, !tbaa !5
  %648 = load double, ptr %647, align 8, !tbaa !9
  %649 = fmul double %646, %648
  %650 = call double @cos(double noundef %649) #3
  %651 = call double @llvm.fmuladd.f64(double %640, double %650, double %613)
  %652 = fneg double %651
  %653 = load ptr, ptr %7, align 8, !tbaa !5
  %654 = load double, ptr %653, align 8, !tbaa !9
  %655 = getelementptr inbounds %class.CartesianR6_Poisson_CircularGeometry, ptr %11, i32 0, i32 1
  %656 = load double, ptr %655, align 8, !tbaa !11
  %657 = fdiv double %654, %656
  %658 = fdiv double %652, %657
  ret double %658
}

; Function Attrs: nounwind
declare double @pow(double noundef, double noundef) #1

; Function Attrs: nounwind
declare double @sin(double noundef) #1

; Function Attrs: nounwind
declare double @cos(double noundef) #1

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

attributes #0 = { 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 #1 = { nounwind "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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #3 = { 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 = !{!"double", !7, i64 0}
!11 = !{!12, !10, i64 8}
!12 = !{!"_ZTS36CartesianR6_Poisson_CircularGeometry", !13, i64 0, !10, i64 8}
!13 = !{!"_ZTS10SourceTerm"}


; 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 nofree nounwind willreturn memory(write, argmem: readwrite) uwtable
define dso_local noundef double @_ZNK36CartesianR6_Poisson_CircularGeometry5rhs_fERKdS1_S1_S1_(ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %0, ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %1, ptr nocapture noundef nonnull readnone align 8 dereferenceable(8) %2, ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %3, ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %4) unnamed_addr #0 align 2 {
  %6 = load double, ptr %1, align 8, !tbaa !5
  %7 = getelementptr inbounds i8, ptr %0, i64 8
  %8 = load double, ptr %7, align 8, !tbaa !9
  %9 = fdiv double %6, %8
  %10 = fmul double %9, 0xC0302B9CB4038019
  %11 = fadd double %9, -1.000000e+00
  %12 = tail call double @pow(double noundef %11, double noundef 6.000000e+00) #3
  %13 = fmul double %12, %10
  %14 = load double, ptr %1, align 8, !tbaa !5
  %15 = load double, ptr %7, align 8, !tbaa !9
  %16 = fdiv double %14, %15
  %17 = fadd double %16, 1.000000e+00
  %18 = tail call double @pow(double noundef %17, double noundef 6.000000e+00) #3
  %19 = fmul double %13, %18
  %20 = load double, ptr %3, align 8, !tbaa !5
  %square = fmul double %20, %20
  %21 = fmul double %19, %square
  %22 = load double, ptr %1, align 8, !tbaa !5
  %23 = load double, ptr %7, align 8, !tbaa !9
  %24 = fdiv double %22, %23
  %25 = fmul double %24, 0x401921FB54442D18
  %26 = fmul double %20, %25
  %27 = tail call double @sin(double noundef %26) #3
  %28 = fmul double %21, %27
  %29 = load double, ptr %1, align 8, !tbaa !5
  %30 = load double, ptr %7, align 8, !tbaa !9
  %31 = fdiv double %29, %30
  %32 = fmul double %31, 0x401921FB54442D18
  %33 = load double, ptr %4, align 8, !tbaa !5
  %34 = fmul double %33, %32
  %35 = tail call double @cos(double noundef %34) #3
  %36 = load double, ptr %1, align 8, !tbaa !5
  %37 = load double, ptr %7, align 8, !tbaa !9
  %38 = fdiv double %36, %37
  %39 = fmul double %38, 0x40402B9CB4038019
  %40 = fadd double %38, -1.000000e+00
  %41 = tail call double @pow(double noundef %40, double noundef 6.000000e+00) #3
  %42 = fmul double %41, %39
  %43 = load double, ptr %1, align 8, !tbaa !5
  %44 = load double, ptr %7, align 8, !tbaa !9
  %45 = fdiv double %43, %44
  %46 = fadd double %45, 1.000000e+00
  %47 = tail call double @pow(double noundef %46, double noundef 6.000000e+00) #3
  %48 = fmul double %42, %47
  %49 = load double, ptr %3, align 8, !tbaa !5
  %50 = fmul double %48, %49
  %51 = load double, ptr %1, align 8, !tbaa !5
  %52 = load double, ptr %7, align 8, !tbaa !9
  %53 = fdiv double %51, %52
  %54 = fmul double %53, 0x401921FB54442D18
  %55 = load double, ptr %4, align 8, !tbaa !5
  %56 = fmul double %55, %54
  %57 = tail call double @sin(double noundef %56) #3
  %58 = fmul double %50, %57
  %59 = load double, ptr %4, align 8, !tbaa !5
  %60 = fmul double %58, %59
  %61 = load double, ptr %1, align 8, !tbaa !5
  %62 = load double, ptr %7, align 8, !tbaa !9
  %63 = fdiv double %61, %62
  %64 = fmul double %63, 0x401921FB54442D18
  %65 = load double, ptr %3, align 8, !tbaa !5
  %66 = fmul double %65, %64
  %67 = tail call double @cos(double noundef %66) #3
  %68 = fmul double %60, %67
  %69 = tail call double @llvm.fmuladd.f64(double %28, double %35, double %68)
  %70 = load double, ptr %1, align 8, !tbaa !5
  %71 = load double, ptr %7, align 8, !tbaa !9
  %72 = fdiv double %70, %71
  %73 = fadd double %72, -1.000000e+00
  %74 = tail call double @pow(double noundef %73, double noundef 6.000000e+00) #3
  %75 = load double, ptr %1, align 8, !tbaa !5
  %76 = load double, ptr %7, align 8, !tbaa !9
  %77 = fdiv double %75, %76
  %78 = fadd double %77, 1.000000e+00
  %79 = tail call double @pow(double noundef %78, double noundef 6.000000e+00) #3
  %80 = load double, ptr %1, align 8, !tbaa !5
  %81 = load double, ptr %7, align 8, !tbaa !9
  %82 = fdiv double %80, %81
  %83 = fmul double %82, 0x401921FB54442D18
  %84 = load double, ptr %3, align 8, !tbaa !5
  %85 = fmul double %84, %83
  %86 = tail call double @sin(double noundef %85) #3
  %87 = load double, ptr %4, align 8, !tbaa !5
  %square108 = fmul double %87, %87
  %88 = load double, ptr %1, align 8, !tbaa !5
  %89 = load double, ptr %7, align 8, !tbaa !9
  %90 = fdiv double %88, %89
  %91 = fmul double %90, 0x401921FB54442D18
  %92 = fmul double %87, %91
  %93 = tail call double @cos(double noundef %92) #3
  %94 = fmul double %72, 0xC0302B9CB4038019
  %95 = fmul double %74, %94
  %96 = fmul double %95, %79
  %97 = fmul double %96, %86
  %98 = fmul double %97, %square108
  %99 = tail call double @llvm.fmuladd.f64(double %98, double %93, double %69)
  %100 = load double, ptr %1, align 8, !tbaa !5
  %101 = load double, ptr %7, align 8, !tbaa !9
  %102 = fdiv double %100, %101
  %103 = fadd double %102, -1.000000e+00
  %104 = tail call double @pow(double noundef %103, double noundef 6.000000e+00) #3
  %105 = fmul double %104, 0xC0302B9CB4038019
  %106 = load double, ptr %1, align 8, !tbaa !5
  %107 = load double, ptr %7, align 8, !tbaa !9
  %108 = fdiv double %106, %107
  %109 = fadd double %108, 1.000000e+00
  %110 = tail call double @pow(double noundef %109, double noundef 6.000000e+00) #3
  %111 = fmul double %105, %110
  %112 = load double, ptr %3, align 8, !tbaa !5
  %square109 = fmul double %112, %112
  %113 = fmul double %111, %square109
  %114 = load double, ptr %1, align 8, !tbaa !5
  %115 = load double, ptr %7, align 8, !tbaa !9
  %116 = fdiv double %114, %115
  %117 = fmul double %116, 0x401921FB54442D18
  %118 = fmul double %112, %117
  %119 = tail call double @sin(double noundef %118) #3
  %120 = fmul double %113, %119
  %121 = load double, ptr %1, align 8, !tbaa !5
  %122 = load double, ptr %7, align 8, !tbaa !9
  %123 = fdiv double %121, %122
  %124 = fmul double %123, 0x401921FB54442D18
  %125 = load double, ptr %4, align 8, !tbaa !5
  %126 = fmul double %125, %124
  %127 = tail call double @cos(double noundef %126) #3
  %128 = load double, ptr %1, align 8, !tbaa !5
  %129 = load double, ptr %7, align 8, !tbaa !9
  %130 = fdiv double %128, %129
  %131 = fadd double %130, -1.000000e+00
  %132 = tail call double @pow(double noundef %131, double noundef 6.000000e+00) #3
  %133 = load double, ptr %1, align 8, !tbaa !5
  %134 = load double, ptr %7, align 8, !tbaa !9
  %135 = fdiv double %133, %134
  %136 = fadd double %135, 1.000000e+00
  %137 = tail call double @pow(double noundef %136, double noundef 6.000000e+00) #3
  %138 = load double, ptr %3, align 8, !tbaa !5
  %139 = load double, ptr %1, align 8, !tbaa !5
  %140 = load double, ptr %7, align 8, !tbaa !9
  %141 = fdiv double %139, %140
  %142 = fmul double %141, 0x401921FB54442D18
  %143 = load double, ptr %4, align 8, !tbaa !5
  %144 = fmul double %143, %142
  %145 = tail call double @sin(double noundef %144) #3
  %146 = load double, ptr %4, align 8, !tbaa !5
  %147 = load double, ptr %1, align 8, !tbaa !5
  %148 = load double, ptr %7, align 8, !tbaa !9
  %149 = fdiv double %147, %148
  %150 = fmul double %149, 0x401921FB54442D18
  %151 = load double, ptr %3, align 8, !tbaa !5
  %152 = fmul double %151, %150
  %153 = tail call double @cos(double noundef %152) #3
  %154 = fmul double %132, 0xC0402B9CB4038019
  %155 = fmul double %154, %137
  %156 = fmul double %155, %138
  %157 = fmul double %156, %145
  %158 = fmul double %157, %146
  %159 = fmul double %158, %153
  %160 = tail call double @llvm.fmuladd.f64(double %120, double %127, double %159)
  %161 = load double, ptr %1, align 8, !tbaa !5
  %162 = load double, ptr %7, align 8, !tbaa !9
  %163 = fdiv double %161, %162
  %164 = fadd double %163, -1.000000e+00
  %165 = tail call double @pow(double noundef %164, double noundef 6.000000e+00) #3
  %166 = load double, ptr %1, align 8, !tbaa !5
  %167 = load double, ptr %7, align 8, !tbaa !9
  %168 = fdiv double %166, %167
  %169 = fadd double %168, 1.000000e+00
  %170 = tail call double @pow(double noundef %169, double noundef 6.000000e+00) #3
  %171 = load double, ptr %1, align 8, !tbaa !5
  %172 = load double, ptr %7, align 8, !tbaa !9
  %173 = fdiv double %171, %172
  %174 = fmul double %173, 0x401921FB54442D18
  %175 = load double, ptr %3, align 8, !tbaa !5
  %176 = fmul double %175, %174
  %177 = tail call double @sin(double noundef %176) #3
  %178 = load double, ptr %4, align 8, !tbaa !5
  %square110 = fmul double %178, %178
  %179 = load double, ptr %1, align 8, !tbaa !5
  %180 = load double, ptr %7, align 8, !tbaa !9
  %181 = fdiv double %179, %180
  %182 = fmul double %181, 0x401921FB54442D18
  %183 = fmul double %178, %182
  %184 = tail call double @cos(double noundef %183) #3
  %185 = fmul double %165, 0xC0302B9CB4038019
  %186 = fmul double %185, %170
  %187 = fmul double %186, %177
  %188 = fmul double %187, %square110
  %189 = tail call double @llvm.fmuladd.f64(double %188, double %184, double %160)
  %190 = load double, ptr %1, align 8, !tbaa !5
  %191 = load double, ptr %7, align 8, !tbaa !9
  %192 = fdiv double %190, %191
  %193 = fadd double %192, -1.000000e+00
  %194 = tail call double @pow(double noundef %193, double noundef 6.000000e+00) #3
  %195 = fmul double %194, 0x403EE213A7DA8882
  %196 = load double, ptr %1, align 8, !tbaa !5
  %197 = load double, ptr %7, align 8, !tbaa !9
  %198 = fdiv double %196, %197
  %199 = fadd double %198, 1.000000e+00
  %200 = tail call double @pow(double noundef %199, double noundef 5.000000e+00) #3
  %201 = fmul double %195, %200
  %202 = load double, ptr %3, align 8, !tbaa !5
  %203 = fmul double %201, %202
  %204 = load double, ptr %1, align 8, !tbaa !5
  %205 = load double, ptr %7, align 8, !tbaa !9
  %206 = fdiv double %204, %205
  %207 = fmul double %206, 0x401921FB54442D18
  %208 = fmul double %202, %207
  %209 = tail call double @cos(double noundef %208) #3
  %210 = fmul double %203, %209
  %211 = load double, ptr %1, align 8, !tbaa !5
  %212 = load double, ptr %7, align 8, !tbaa !9
  %213 = fdiv double %211, %212
  %214 = fmul double %213, 0x401921FB54442D18
  %215 = load double, ptr %4, align 8, !tbaa !5
  %216 = fmul double %215, %214
  %217 = tail call double @cos(double noundef %216) #3
  %218 = tail call double @llvm.fmuladd.f64(double %210, double %217, double %189)
  %219 = load double, ptr %1, align 8, !tbaa !5
  %220 = load double, ptr %7, align 8, !tbaa !9
  %221 = fdiv double %219, %220
  %222 = fadd double %221, -1.000000e+00
  %223 = tail call double @pow(double noundef %222, double noundef 6.000000e+00) #3
  %224 = load double, ptr %1, align 8, !tbaa !5
  %225 = load double, ptr %7, align 8, !tbaa !9
  %226 = fdiv double %224, %225
  %227 = fadd double %226, 1.000000e+00
  %228 = tail call double @pow(double noundef %227, double noundef 5.000000e+00) #3
  %229 = load double, ptr %1, align 8, !tbaa !5
  %230 = load double, ptr %7, align 8, !tbaa !9
  %231 = fdiv double %229, %230
  %232 = fmul double %231, 0x401921FB54442D18
  %233 = load double, ptr %3, align 8, !tbaa !5
  %234 = fmul double %233, %232
  %235 = tail call double @sin(double noundef %234) #3
  %236 = load double, ptr %1, align 8, !tbaa !5
  %237 = load double, ptr %7, align 8, !tbaa !9
  %238 = fdiv double %236, %237
  %239 = fmul double %238, 0x401921FB54442D18
  %240 = load double, ptr %4, align 8, !tbaa !5
  %241 = fmul double %240, %239
  %242 = tail call double @sin(double noundef %241) #3
  %243 = load double, ptr %4, align 8, !tbaa !5
  %244 = fmul double %223, 0xC03EE213A7DA8882
  %245 = fmul double %244, %228
  %246 = fmul double %245, %235
  %247 = fmul double %246, %242
  %248 = tail call double @llvm.fmuladd.f64(double %247, double %243, double %218)
  %249 = load double, ptr %1, align 8, !tbaa !5
  %250 = load double, ptr %7, align 8, !tbaa !9
  %251 = fdiv double %249, %250
  %252 = fadd double %251, -1.000000e+00
  %253 = tail call double @pow(double noundef %252, double noundef 6.000000e+00) #3
  %254 = fmul double %253, 1.228800e+01
  %255 = load double, ptr %1, align 8, !tbaa !5
  %256 = load double, ptr %7, align 8, !tbaa !9
  %257 = fdiv double %255, %256
  %258 = fadd double %257, 1.000000e+00
  %259 = tail call double @pow(double noundef %258, double noundef 4.000000e+00) #3
  %260 = fmul double %254, %259
  %261 = load double, ptr %1, align 8, !tbaa !5
  %262 = load double, ptr %7, align 8, !tbaa !9
  %263 = fdiv double %261, %262
  %264 = fmul double %263, 0x401921FB54442D18
  %265 = load double, ptr %3, align 8, !tbaa !5
  %266 = fmul double %265, %264
  %267 = tail call double @sin(double noundef %266) #3
  %268 = fmul double %260, %267
  %269 = load double, ptr %1, align 8, !tbaa !5
  %270 = load double, ptr %7, align 8, !tbaa !9
  %271 = fdiv double %269, %270
  %272 = fmul double %271, 0x401921FB54442D18
  %273 = load double, ptr %4, align 8, !tbaa !5
  %274 = fmul double %273, %272
  %275 = tail call double @cos(double noundef %274) #3
  %276 = tail call double @llvm.fmuladd.f64(double %268, double %275, double %248)
  %277 = load double, ptr %1, align 8, !tbaa !5
  %278 = load double, ptr %7, align 8, !tbaa !9
  %279 = fdiv double %277, %278
  %280 = fadd double %279, -1.000000e+00
  %281 = tail call double @pow(double noundef %280, double noundef 5.000000e+00) #3
  %282 = fmul double %281, 0x403EE213A7DA8882
  %283 = load double, ptr %1, align 8, !tbaa !5
  %284 = load double, ptr %7, align 8, !tbaa !9
  %285 = fdiv double %283, %284
  %286 = fadd double %285, 1.000000e+00
  %287 = tail call double @pow(double noundef %286, double noundef 6.000000e+00) #3
  %288 = fmul double %282, %287
  %289 = load double, ptr %3, align 8, !tbaa !5
  %290 = fmul double %288, %289
  %291 = load double, ptr %1, align 8, !tbaa !5
  %292 = load double, ptr %7, align 8, !tbaa !9
  %293 = fdiv double %291, %292
  %294 = fmul double %293, 0x401921FB54442D18
  %295 = fmul double %289, %294
  %296 = tail call double @cos(double noundef %295) #3
  %297 = fmul double %290, %296
  %298 = load double, ptr %1, align 8, !tbaa !5
  %299 = load double, ptr %7, align 8, !tbaa !9
  %300 = fdiv double %298, %299
  %301 = fmul double %300, 0x401921FB54442D18
  %302 = load double, ptr %4, align 8, !tbaa !5
  %303 = fmul double %302, %301
  %304 = tail call double @cos(double noundef %303) #3
  %305 = tail call double @llvm.fmuladd.f64(double %297, double %304, double %276)
  %306 = load double, ptr %1, align 8, !tbaa !5
  %307 = load double, ptr %7, align 8, !tbaa !9
  %308 = fdiv double %306, %307
  %309 = fadd double %308, -1.000000e+00
  %310 = tail call double @pow(double noundef %309, double noundef 5.000000e+00) #3
  %311 = load double, ptr %1, align 8, !tbaa !5
  %312 = load double, ptr %7, align 8, !tbaa !9
  %313 = fdiv double %311, %312
  %314 = fadd double %313, 1.000000e+00
  %315 = tail call double @pow(double noundef %314, double noundef 6.000000e+00) #3
  %316 = load double, ptr %1, align 8, !tbaa !5
  %317 = load double, ptr %7, align 8, !tbaa !9
  %318 = fdiv double %316, %317
  %319 = fmul double %318, 0x401921FB54442D18
  %320 = load double, ptr %3, align 8, !tbaa !5
  %321 = fmul double %320, %319
  %322 = tail call double @sin(double noundef %321) #3
  %323 = load double, ptr %1, align 8, !tbaa !5
  %324 = load double, ptr %7, align 8, !tbaa !9
  %325 = fdiv double %323, %324
  %326 = fmul double %325, 0x401921FB54442D18
  %327 = load double, ptr %4, align 8, !tbaa !5
  %328 = fmul double %327, %326
  %329 = tail call double @sin(double noundef %328) #3
  %330 = load double, ptr %4, align 8, !tbaa !5
  %331 = fmul double %310, 0xC03EE213A7DA8882
  %332 = fmul double %331, %315
  %333 = fmul double %332, %322
  %334 = fmul double %333, %329
  %335 = tail call double @llvm.fmuladd.f64(double %334, double %330, double %305)
  %336 = load double, ptr %1, align 8, !tbaa !5
  %337 = load double, ptr %7, align 8, !tbaa !9
  %338 = fdiv double %336, %337
  %339 = fadd double %338, -1.000000e+00
  %340 = tail call double @pow(double noundef %339, double noundef 5.000000e+00) #3
  %341 = fmul double %340, 2.949120e+01
  %342 = load double, ptr %1, align 8, !tbaa !5
  %343 = load double, ptr %7, align 8, !tbaa !9
  %344 = fdiv double %342, %343
  %345 = fadd double %344, 1.000000e+00
  %346 = tail call double @pow(double noundef %345, double noundef 5.000000e+00) #3
  %347 = fmul double %341, %346
  %348 = load double, ptr %1, align 8, !tbaa !5
  %349 = load double, ptr %7, align 8, !tbaa !9
  %350 = fdiv double %348, %349
  %351 = fmul double %350, 0x401921FB54442D18
  %352 = load double, ptr %3, align 8, !tbaa !5
  %353 = fmul double %352, %351
  %354 = tail call double @sin(double noundef %353) #3
  %355 = fmul double %347, %354
  %356 = load double, ptr %1, align 8, !tbaa !5
  %357 = load double, ptr %7, align 8, !tbaa !9
  %358 = fdiv double %356, %357
  %359 = fmul double %358, 0x401921FB54442D18
  %360 = load double, ptr %4, align 8, !tbaa !5
  %361 = fmul double %360, %359
  %362 = tail call double @cos(double noundef %361) #3
  %363 = tail call double @llvm.fmuladd.f64(double %355, double %362, double %335)
  %364 = load double, ptr %1, align 8, !tbaa !5
  %365 = load double, ptr %7, align 8, !tbaa !9
  %366 = fdiv double %364, %365
  %367 = fadd double %366, -1.000000e+00
  %368 = tail call double @pow(double noundef %367, double noundef 4.000000e+00) #3
  %369 = fmul double %368, 1.228800e+01
  %370 = load double, ptr %1, align 8, !tbaa !5
  %371 = load double, ptr %7, align 8, !tbaa !9
  %372 = fdiv double %370, %371
  %373 = fadd double %372, 1.000000e+00
  %374 = tail call double @pow(double noundef %373, double noundef 6.000000e+00) #3
  %375 = fmul double %369, %374
  %376 = load double, ptr %1, align 8, !tbaa !5
  %377 = load double, ptr %7, align 8, !tbaa !9
  %378 = fdiv double %376, %377
  %379 = fmul double %378, 0x401921FB54442D18
  %380 = load double, ptr %3, align 8, !tbaa !5
  %381 = fmul double %380, %379
  %382 = tail call double @sin(double noundef %381) #3
  %383 = fmul double %375, %382
  %384 = load double, ptr %1, align 8, !tbaa !5
  %385 = load double, ptr %7, align 8, !tbaa !9
  %386 = fdiv double %384, %385
  %387 = fmul double %386, 0x401921FB54442D18
  %388 = load double, ptr %4, align 8, !tbaa !5
  %389 = fmul double %388, %387
  %390 = tail call double @cos(double noundef %389) #3
  %391 = tail call double @llvm.fmuladd.f64(double %383, double %390, double %363)
  %392 = tail call double @llvm.fmuladd.f64(double %102, double %391, double %99)
  %393 = load double, ptr %1, align 8, !tbaa !5
  %394 = load double, ptr %7, align 8, !tbaa !9
  %395 = fdiv double %393, %394
  %396 = fadd double %395, -1.000000e+00
  %397 = tail call double @pow(double noundef %396, double noundef 6.000000e+00) #3
  %398 = fmul double %397, 2.457600e+00
  %399 = load double, ptr %1, align 8, !tbaa !5
  %400 = load double, ptr %7, align 8, !tbaa !9
  %401 = fdiv double %399, %400
  %402 = fadd double %401, 1.000000e+00
  %403 = tail call double @pow(double noundef %402, double noundef 5.000000e+00) #3
  %404 = fmul double %398, %403
  %405 = load double, ptr %1, align 8, !tbaa !5
  %406 = load double, ptr %7, align 8, !tbaa !9
  %407 = fdiv double %405, %406
  %408 = fmul double %407, 0x401921FB54442D18
  %409 = load double, ptr %3, align 8, !tbaa !5
  %410 = fmul double %409, %408
  %411 = tail call double @sin(double noundef %410) #3
  %412 = fmul double %404, %411
  %413 = load double, ptr %1, align 8, !tbaa !5
  %414 = load double, ptr %7, align 8, !tbaa !9
  %415 = fdiv double %413, %414
  %416 = fmul double %415, 0x401921FB54442D18
  %417 = load double, ptr %4, align 8, !tbaa !5
  %418 = fmul double %417, %416
  %419 = tail call double @cos(double noundef %418) #3
  %420 = tail call double @llvm.fmuladd.f64(double %412, double %419, double %392)
  %421 = load double, ptr %1, align 8, !tbaa !5
  %422 = load double, ptr %7, align 8, !tbaa !9
  %423 = fdiv double %421, %422
  %424 = fadd double %423, -1.000000e+00
  %425 = tail call double @pow(double noundef %424, double noundef 5.000000e+00) #3
  %426 = fmul double %425, 2.457600e+00
  %427 = load double, ptr %1, align 8, !tbaa !5
  %428 = load double, ptr %7, align 8, !tbaa !9
  %429 = fdiv double %427, %428
  %430 = fadd double %429, 1.000000e+00
  %431 = tail call double @pow(double noundef %430, double noundef 6.000000e+00) #3
  %432 = fmul double %426, %431
  %433 = load double, ptr %1, align 8, !tbaa !5
  %434 = load double, ptr %7, align 8, !tbaa !9
  %435 = fdiv double %433, %434
  %436 = fmul double %435, 0x401921FB54442D18
  %437 = load double, ptr %3, align 8, !tbaa !5
  %438 = fmul double %437, %436
  %439 = tail call double @sin(double noundef %438) #3
  %440 = fmul double %432, %439
  %441 = load double, ptr %1, align 8, !tbaa !5
  %442 = load double, ptr %7, align 8, !tbaa !9
  %443 = fdiv double %441, %442
  %444 = fmul double %443, 0x401921FB54442D18
  %445 = load double, ptr %4, align 8, !tbaa !5
  %446 = fmul double %445, %444
  %447 = tail call double @cos(double noundef %446) #3
  %448 = tail call double @llvm.fmuladd.f64(double %440, double %447, double %420)
  %449 = fneg double %448
  %450 = load double, ptr %1, align 8, !tbaa !5
  %451 = load double, ptr %7, align 8, !tbaa !9
  %452 = fdiv double %450, %451
  %453 = fdiv double %449, %452
  ret double %453
}

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @pow(double noundef, double noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @sin(double noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @cos(double noundef) local_unnamed_addr #1

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

attributes #0 = { mustprogress nofree nounwind willreturn memory(write, argmem: readwrite) 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 = { mustprogress nofree nounwind willreturn memory(write) "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 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #3 = { 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 = !{!"double", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 8}
!10 = !{!"_ZTS36CartesianR6_Poisson_CircularGeometry", !11, i64 0, !6, i64 8}
!11 = !{!"_ZTS10SourceTerm"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,TailCallElimPass