; LLVM IR from SciCompMod/GMGPolar :: src/InputFunctions/SourceTerms (cartesianR2_ZoniGyro_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.CartesianR2_ZoniGyro_CircularGeometry = type { %class.SourceTerm, double }
%class.SourceTerm = type { ptr }

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

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

; Function Attrs: nounwind
declare double @exp(double noundef) #2

; Function Attrs: nounwind
declare double @tanh(double noundef) #2

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

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

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

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

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

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @cos(double noundef) local_unnamed_addr #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 nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { 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 #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 = !{!"_ZTS37CartesianR2_ZoniGyro_CircularGeometry", !11, i64 0, !6, i64 8}
!11 = !{!"_ZTS10SourceTerm"}


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