; LLVM IR from ImperialCollegeLondon/pnflow :: src/pnm/pnflow/ElementConstSolver.ll (ZN6Throat6calcR2ERK5Fluid)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.2" = type { i8 }
%class.Throat = type { %class.Elem, i32, [2 x ptr], %"struct.std::array", double }
%class.Elem = type { %class.Apex, [5 x %class.SlvrElm], i8, i32, ptr, double, double, i32, %"class.std::vector", ptr, double, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, %"struct.std::pair", %"struct.std::pair", %"struct.std::pair", i32, i32, i32, i32, %class.var3 }
%class.Apex = type { ptr, i8, double, double, ptr, i32, double, double, double, double, i8, i8, i8, i8, %"struct.std::pair" }
%class.SlvrElm = type { i8, i8, i8, double, double }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<Elem *, std::allocator<Elem *>>::_Vector_impl" }
%"struct.std::_Vector_base<Elem *, std::allocator<Elem *>>::_Vector_impl" = type { %"struct.std::_Vector_base<Elem *, std::allocator<Elem *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Elem *, std::allocator<Elem *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::pair" = type { i32, double }
%class.var3 = type { double, double, double }
%"struct.std::array" = type { [2 x double] }

@.str = external hidden unnamed_addr constant [11 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [5 x i8], align 1
@__FUNCTION__._ZN6Throat6calcR2ERK5Fluid = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [20 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6Throat6calcR2ERK5Fluid(ptr noundef nonnull align 8 dereferenceable(456) %0, ptr noundef nonnull align 8 dereferenceable(80) %1) #0 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca double, align 8
  %9 = alloca double, align 8
  %10 = alloca double, align 8
  %11 = alloca i8, align 1
  %12 = alloca i8, align 1
  %13 = alloca double, align 8
  %14 = alloca double, align 8
  %15 = alloca double, align 8
  %16 = alloca double, align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca i1, align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca i1, align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca i1, align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca i1, align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca i1, align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca i1, align 1
  %30 = alloca %"class.std::allocator.2", align 1
  %31 = alloca i1, align 1
  %32 = alloca i1, align 1
  %33 = alloca ptr, align 8
  %34 = alloca i32, align 4
  %35 = alloca i1, align 1
  %36 = alloca i1, align 1
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca i1, align 1
  %39 = alloca %"class.std::allocator.2", align 1
  %40 = alloca i1, align 1
  %41 = alloca i1, align 1
  %42 = alloca i1, align 1
  %43 = alloca i1, align 1
  %44 = alloca i1, align 1
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca i1, align 1
  %47 = alloca %"class.std::allocator.2", align 1
  %48 = alloca i1, align 1
  %49 = alloca i1, align 1
  %50 = alloca i1, align 1
  %51 = alloca i1, align 1
  %52 = alloca i1, align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca i1, align 1
  %55 = alloca i32, align 4
  %56 = alloca i1, align 1
  %57 = alloca i1, align 1
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca i1, align 1
  %61 = alloca %"class.std::allocator.2", align 1
  %62 = alloca i1, align 1
  %63 = alloca i1, align 1
  %64 = alloca i1, align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca i1, align 1
  %67 = alloca %"class.std::allocator.2", align 1
  %68 = alloca i1, align 1
  %69 = alloca i1, align 1
  %70 = alloca i1, align 1
  %71 = alloca i1, align 1
  %72 = alloca double, align 8
  %73 = alloca double, align 8
  %74 = alloca double, align 8
  %75 = alloca double, align 8
  %76 = alloca double, align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca i1, align 1
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca i1, align 1
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca i1, align 1
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca i1, align 1
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca i1, align 1
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca i1, align 1
  %90 = alloca %"class.std::allocator.2", align 1
  %91 = alloca i1, align 1
  %92 = alloca i1, align 1
  %93 = alloca i1, align 1
  %94 = alloca i1, align 1
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca i1, align 1
  %97 = alloca %"class.std::allocator.2", align 1
  %98 = alloca i1, align 1
  %99 = alloca i1, align 1
  %100 = alloca i1, align 1
  %101 = alloca i1, align 1
  %102 = alloca i1, align 1
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca i1, align 1
  %105 = alloca %"class.std::allocator.2", align 1
  %106 = alloca i1, align 1
  %107 = alloca i1, align 1
  %108 = alloca i1, align 1
  %109 = alloca i1, align 1
  %110 = alloca i1, align 1
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca i1, align 1
  %113 = alloca i32, align 4
  %114 = alloca i1, align 1
  %115 = alloca i1, align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca i1, align 1
  %119 = alloca %"class.std::allocator.2", align 1
  %120 = alloca i1, align 1
  %121 = alloca i1, align 1
  %122 = alloca i1, align 1
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca i1, align 1
  %125 = alloca %"class.std::allocator.2", align 1
  %126 = alloca i1, align 1
  %127 = alloca i1, align 1
  %128 = alloca i1, align 1
  %129 = alloca i1, align 1
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca i1, align 1
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca i1, align 1
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca i1, align 1
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca i1, align 1
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca i1, align 1
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca i1, align 1
  %143 = alloca %"class.std::allocator.2", align 1
  %144 = alloca i1, align 1
  %145 = alloca i1, align 1
  %146 = alloca i1, align 1
  %147 = alloca i1, align 1
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca i1, align 1
  %150 = alloca %"class.std::allocator.2", align 1
  %151 = alloca i1, align 1
  %152 = alloca i1, align 1
  %153 = alloca i1, align 1
  %154 = alloca i1, align 1
  %155 = alloca i1, align 1
  %156 = alloca %"class.std::__cxx11::basic_string", align 8
  %157 = alloca i1, align 1
  %158 = alloca %"class.std::allocator.2", align 1
  %159 = alloca i1, align 1
  %160 = alloca i1, align 1
  %161 = alloca i1, align 1
  %162 = alloca i1, align 1
  %163 = alloca i1, align 1
  %164 = alloca %"class.std::__cxx11::basic_string", align 8
  %165 = alloca i1, align 1
  %166 = alloca i32, align 4
  %167 = alloca i1, align 1
  %168 = alloca i1, align 1
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca %"class.std::__cxx11::basic_string", align 8
  %171 = alloca i1, align 1
  %172 = alloca %"class.std::allocator.2", align 1
  %173 = alloca i1, align 1
  %174 = alloca i1, align 1
  %175 = alloca i1, align 1
  %176 = alloca %"class.std::__cxx11::basic_string", align 8
  %177 = alloca i1, align 1
  %178 = alloca %"class.std::allocator.2", align 1
  %179 = alloca i1, align 1
  %180 = alloca i1, align 1
  %181 = alloca i1, align 1
  %182 = alloca i1, align 1
  %183 = alloca double, align 8
  %184 = alloca double, align 8
  %185 = alloca double, align 8
  %186 = alloca %"class.std::__cxx11::basic_string", align 8
  %187 = alloca %"class.std::__cxx11::basic_string", align 8
  %188 = alloca i1, align 1
  %189 = alloca %"class.std::__cxx11::basic_string", align 8
  %190 = alloca i1, align 1
  %191 = alloca %"class.std::__cxx11::basic_string", align 8
  %192 = alloca i1, align 1
  %193 = alloca %"class.std::__cxx11::basic_string", align 8
  %194 = alloca i1, align 1
  %195 = alloca %"class.std::__cxx11::basic_string", align 8
  %196 = alloca i1, align 1
  %197 = alloca %"class.std::__cxx11::basic_string", align 8
  %198 = alloca i1, align 1
  %199 = alloca %"class.std::allocator.2", align 1
  %200 = alloca i1, align 1
  %201 = alloca i1, align 1
  %202 = alloca i1, align 1
  %203 = alloca i1, align 1
  %204 = alloca %"class.std::__cxx11::basic_string", align 8
  %205 = alloca i1, align 1
  %206 = alloca %"class.std::allocator.2", align 1
  %207 = alloca i1, align 1
  %208 = alloca i1, align 1
  %209 = alloca i1, align 1
  %210 = alloca i1, align 1
  %211 = alloca i1, align 1
  %212 = alloca %"class.std::__cxx11::basic_string", align 8
  %213 = alloca i1, align 1
  %214 = alloca %"class.std::allocator.2", align 1
  %215 = alloca i1, align 1
  %216 = alloca i1, align 1
  %217 = alloca i1, align 1
  %218 = alloca i1, align 1
  %219 = alloca i1, align 1
  %220 = alloca %"class.std::__cxx11::basic_string", align 8
  %221 = alloca i1, align 1
  %222 = alloca i32, align 4
  %223 = alloca i1, align 1
  %224 = alloca i1, align 1
  %225 = alloca %"class.std::__cxx11::basic_string", align 8
  %226 = alloca %"class.std::__cxx11::basic_string", align 8
  %227 = alloca i1, align 1
  %228 = alloca %"class.std::allocator.2", align 1
  %229 = alloca i1, align 1
  %230 = alloca i1, align 1
  %231 = alloca i1, align 1
  %232 = alloca %"class.std::__cxx11::basic_string", align 8
  %233 = alloca i1, align 1
  %234 = alloca %"class.std::allocator.2", align 1
  %235 = alloca i1, align 1
  %236 = alloca i1, align 1
  %237 = alloca i1, align 1
  %238 = alloca i1, align 1
  %239 = alloca double, align 8
  %240 = alloca double, align 8
  %241 = alloca double, align 8
  %242 = alloca double, align 8
  %243 = alloca %"class.std::__cxx11::basic_string", align 8
  %244 = alloca %"class.std::__cxx11::basic_string", align 8
  %245 = alloca i1, align 1
  %246 = alloca %"class.std::__cxx11::basic_string", align 8
  %247 = alloca i1, align 1
  %248 = alloca %"class.std::__cxx11::basic_string", align 8
  %249 = alloca i1, align 1
  %250 = alloca %"class.std::__cxx11::basic_string", align 8
  %251 = alloca i1, align 1
  %252 = alloca %"class.std::__cxx11::basic_string", align 8
  %253 = alloca i1, align 1
  %254 = alloca %"class.std::__cxx11::basic_string", align 8
  %255 = alloca i1, align 1
  %256 = alloca %"class.std::allocator.2", align 1
  %257 = alloca i1, align 1
  %258 = alloca i1, align 1
  %259 = alloca i1, align 1
  %260 = alloca i1, align 1
  %261 = alloca %"class.std::__cxx11::basic_string", align 8
  %262 = alloca i1, align 1
  %263 = alloca %"class.std::allocator.2", align 1
  %264 = alloca i1, align 1
  %265 = alloca i1, align 1
  %266 = alloca i1, align 1
  %267 = alloca i1, align 1
  %268 = alloca i1, align 1
  %269 = alloca %"class.std::__cxx11::basic_string", align 8
  %270 = alloca i1, align 1
  %271 = alloca %"class.std::allocator.2", align 1
  %272 = alloca i1, align 1
  %273 = alloca i1, align 1
  %274 = alloca i1, align 1
  %275 = alloca i1, align 1
  %276 = alloca i1, align 1
  %277 = alloca %"class.std::__cxx11::basic_string", align 8
  %278 = alloca i1, align 1
  %279 = alloca i32, align 4
  %280 = alloca i1, align 1
  %281 = alloca i1, align 1
  %282 = alloca %"class.std::__cxx11::basic_string", align 8
  %283 = alloca %"class.std::__cxx11::basic_string", align 8
  %284 = alloca i1, align 1
  %285 = alloca %"class.std::allocator.2", align 1
  %286 = alloca i1, align 1
  %287 = alloca i1, align 1
  %288 = alloca i1, align 1
  %289 = alloca %"class.std::__cxx11::basic_string", align 8
  %290 = alloca i1, align 1
  %291 = alloca %"class.std::allocator.2", align 1
  %292 = alloca i1, align 1
  %293 = alloca i1, align 1
  %294 = alloca i1, align 1
  %295 = alloca i1, align 1
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %296 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #4
  store ptr %296, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #4
  %297 = call noundef ptr @_ZNK4Elem4neibEi(ptr noundef nonnull align 8 dereferenceable(408) %296, i32 noundef 0)
  store ptr %297, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #4
  %298 = call noundef ptr @_ZNK4Elem4neibEi(ptr noundef nonnull align 8 dereferenceable(408) %296, i32 noundef 1)
  store ptr %298, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #4
  %299 = call noundef double @_ZNK6Throat10poreLengthEi(ptr noundef nonnull align 8 dereferenceable(456) %296, i32 noundef 0)
  store double %299, ptr %8, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #4
  %300 = call noundef double @_ZNK6Throat10poreLengthEi(ptr noundef nonnull align 8 dereferenceable(456) %296, i32 noundef 1)
  store double %300, ptr %9, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #4
  %301 = getelementptr inbounds %class.Throat, ptr %296, i32 0, i32 4
  %302 = load double, ptr %301, align 8, !tbaa !11
  store double %302, ptr %10, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #4
  %303 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %296)
  %304 = load ptr, ptr %4, align 8, !tbaa !5
  %305 = call noundef zeroext i1 @_ZNK9ElemModel11conductsAnyERK5Fluid(ptr noundef nonnull align 8 dereferenceable(152) %303, ptr noundef nonnull align 8 dereferenceable(80) %304)
  br i1 %305, label %306, label %324

306:                                              ; preds = %2
  %307 = load ptr, ptr %6, align 8, !tbaa !5
  %308 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %307)
  %309 = load ptr, ptr %4, align 8, !tbaa !5
  %310 = call noundef zeroext i1 @_ZNK9ElemModel11conductsAnyERK5Fluid(ptr noundef nonnull align 8 dereferenceable(152) %308, ptr noundef nonnull align 8 dereferenceable(80) %309)
  br i1 %310, label %314, label %311

311:                                              ; preds = %306
  %312 = load ptr, ptr %6, align 8, !tbaa !5
  %313 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %312)
  br i1 %313, label %314, label %324

314:                                              ; preds = %311, %306
  %315 = load ptr, ptr %7, align 8, !tbaa !5
  %316 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %315)
  %317 = load ptr, ptr %4, align 8, !tbaa !5
  %318 = call noundef zeroext i1 @_ZNK9ElemModel11conductsAnyERK5Fluid(ptr noundef nonnull align 8 dereferenceable(152) %316, ptr noundef nonnull align 8 dereferenceable(80) %317)
  br i1 %318, label %322, label %319

319:                                              ; preds = %314
  %320 = load ptr, ptr %7, align 8, !tbaa !5
  %321 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %320)
  br label %322

322:                                              ; preds = %319, %314
  %323 = phi i1 [ true, %314 ], [ %321, %319 ]
  br label %324

324:                                              ; preds = %322, %311, %2
  %325 = phi i1 [ false, %311 ], [ false, %2 ], [ %323, %322 ]
  %326 = zext i1 %325 to i8
  store i8 %326, ptr %11, align 1, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 1, ptr %12) #4
  %327 = load ptr, ptr %4, align 8, !tbaa !5
  %328 = call noundef zeroext i1 @_ZNK5Fluid5isOilEv(ptr noundef nonnull align 8 dereferenceable(80) %327)
  br i1 %328, label %344, label %329

329:                                              ; preds = %324
  %330 = load ptr, ptr %5, align 8, !tbaa !5
  %331 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %330)
  %332 = call noundef zeroext i1 @_ZNK9ElemModel25disConectedCentreWCornerWEv(ptr noundef nonnull align 8 dereferenceable(152) %331)
  br i1 %332, label %333, label %344

333:                                              ; preds = %329
  %334 = load i8, ptr %11, align 1, !tbaa !24, !range !25, !noundef !26
  %335 = trunc i8 %334 to i1
  br i1 %335, label %336, label %344

336:                                              ; preds = %333
  %337 = load ptr, ptr %6, align 8, !tbaa !5
  %338 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %337)
  %339 = call noundef zeroext i1 @_ZNK9ElemModel25disConectedCentreWCornerWEv(ptr noundef nonnull align 8 dereferenceable(152) %338)
  br i1 %339, label %340, label %344

340:                                              ; preds = %336
  %341 = load ptr, ptr %7, align 8, !tbaa !5
  %342 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %341)
  %343 = call noundef zeroext i1 @_ZNK9ElemModel25disConectedCentreWCornerWEv(ptr noundef nonnull align 8 dereferenceable(152) %342)
  br label %344

344:                                              ; preds = %340, %336, %333, %329, %324
  %345 = phi i1 [ false, %336 ], [ false, %333 ], [ false, %329 ], [ false, %324 ], [ %343, %340 ]
  %346 = zext i1 %345 to i8
  store i8 %346, ptr %12, align 1, !tbaa !24
  %347 = load i8, ptr %11, align 1, !tbaa !24, !range !25, !noundef !26
  %348 = trunc i8 %347 to i1
  br i1 %348, label %349, label %2017

349:                                              ; preds = %344
  %350 = getelementptr inbounds %class.Elem, ptr %296, i32 0, i32 17
  %351 = load i8, ptr %350, align 2, !tbaa !27, !range !25, !noundef !26
  %352 = trunc i8 %351 to i1
  br i1 %352, label %353, label %2017

353:                                              ; preds = %349
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #4
  store double 0.000000e+00, ptr %13, align 8, !tbaa !9
  %354 = load ptr, ptr %4, align 8, !tbaa !5
  %355 = call noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80) %354)
  %356 = zext i16 %355 to i32
  %357 = icmp sgt i32 %356, 2
  br i1 %357, label %358, label %710

358:                                              ; preds = %353
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #4
  %359 = load ptr, ptr %6, align 8, !tbaa !5
  %360 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %359)
  %361 = call noundef double @_ZNK9ElemModel21electricalConductanceEv(ptr noundef nonnull align 8 dereferenceable(152) %360)
  store double %361, ptr %14, align 8, !tbaa !9
  %362 = load ptr, ptr %5, align 8, !tbaa !5
  %363 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %362)
  %364 = call noundef double @_ZNK9ElemModel21electricalConductanceEv(ptr noundef nonnull align 8 dereferenceable(152) %363)
  store double %364, ptr %15, align 8, !tbaa !9
  %365 = load ptr, ptr %7, align 8, !tbaa !5
  %366 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %365)
  %367 = call noundef double @_ZNK9ElemModel21electricalConductanceEv(ptr noundef nonnull align 8 dereferenceable(152) %366)
  store double %367, ptr %16, align 8, !tbaa !9
  %368 = load double, ptr %14, align 8, !tbaa !9
  %369 = fcmp ogt double %368, 0.000000e+00
  store i1 false, ptr %19, align 1
  store i1 false, ptr %21, align 1
  store i1 false, ptr %23, align 1
  store i1 false, ptr %25, align 1
  store i1 false, ptr %27, align 1
  store i1 false, ptr %29, align 1
  store i1 false, ptr %31, align 1
  store i1 false, ptr %32, align 1
  store i1 false, ptr %35, align 1
  store i1 false, ptr %36, align 1
  store i1 false, ptr %38, align 1
  store i1 false, ptr %40, align 1
  store i1 false, ptr %41, align 1
  store i1 false, ptr %42, align 1
  store i1 false, ptr %43, align 1
  store i1 false, ptr %44, align 1
  store i1 false, ptr %46, align 1
  store i1 false, ptr %48, align 1
  store i1 false, ptr %49, align 1
  store i1 false, ptr %50, align 1
  store i1 false, ptr %51, align 1
  store i1 false, ptr %52, align 1
  store i1 false, ptr %54, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #4
  store i1 false, ptr %56, align 1
  store i1 false, ptr %57, align 1
  store i1 false, ptr %60, align 1
  store i1 false, ptr %62, align 1
  store i1 false, ptr %63, align 1
  store i1 false, ptr %64, align 1
  store i1 false, ptr %66, align 1
  store i1 false, ptr %68, align 1
  store i1 false, ptr %69, align 1
  store i1 false, ptr %70, align 1
  store i1 false, ptr %71, align 1
  br i1 %369, label %370, label %376

370:                                              ; preds = %358
  %371 = load double, ptr %15, align 8, !tbaa !9
  %372 = fcmp ogt double %371, 0.000000e+00
  br i1 %372, label %373, label %376

373:                                              ; preds = %370
  %374 = load double, ptr %16, align 8, !tbaa !9
  %375 = fcmp ogt double %374, 0.000000e+00
  br i1 %375, label %392, label %376

376:                                              ; preds = %373, %370, %358
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #4
  store i1 true, ptr %19, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #4
  store i1 true, ptr %21, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #4
  store i1 true, ptr %23, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #4
  store i1 true, ptr %25, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #4
  store i1 true, ptr %27, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #4
  store i1 true, ptr %29, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #4
  store i1 true, ptr %31, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #4
  store i1 true, ptr %32, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %377 unwind label %539

377:                                              ; preds = %376
  store i1 true, ptr %35, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str.1)
          to label %378 unwind label %543

378:                                              ; preds = %377
  store i1 true, ptr %36, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #4
  store i1 true, ptr %38, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #4
  store i1 true, ptr %40, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #4
  store i1 true, ptr %41, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %379 unwind label %547

379:                                              ; preds = %378
  store i1 true, ptr %42, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %380 unwind label %551

380:                                              ; preds = %379
  store i1 true, ptr %43, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.2)
          to label %381 unwind label %555

381:                                              ; preds = %380
  store i1 true, ptr %44, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #4
  store i1 true, ptr %46, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #4
  store i1 true, ptr %48, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #4
  store i1 true, ptr %49, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %382 unwind label %559

382:                                              ; preds = %381
  store i1 true, ptr %50, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %383 unwind label %563

383:                                              ; preds = %382
  store i1 true, ptr %51, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef @.str.4)
          to label %384 unwind label %567

384:                                              ; preds = %383
  store i1 true, ptr %52, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #4
  store i1 true, ptr %54, align 1
  store i32 68, ptr %55, align 4, !tbaa !28
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %385 unwind label %571

385:                                              ; preds = %384
  store i1 true, ptr %56, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %386 unwind label %575

386:                                              ; preds = %385
  store i1 true, ptr %57, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #4
  store i1 true, ptr %60, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #4
  store i1 true, ptr %62, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #4
  store i1 true, ptr %63, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %387 unwind label %579

387:                                              ; preds = %386
  store i1 true, ptr %64, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #4
  store i1 true, ptr %66, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #4
  store i1 true, ptr %68, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #4
  store i1 true, ptr %69, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %388 unwind label %583

388:                                              ; preds = %387
  store i1 true, ptr %70, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %389 unwind label %587

389:                                              ; preds = %388
  store i1 true, ptr %71, align 1
  %390 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %17, ptr noundef %58, i32 noundef 0)
          to label %391 unwind label %591

391:                                              ; preds = %389
  br label %392

392:                                              ; preds = %391, %373
  %393 = phi i1 [ true, %373 ], [ %390, %391 ]
  %394 = xor i1 %393, true
  %395 = load i1, ptr %71, align 1
  br i1 %395, label %396, label %397

396:                                              ; preds = %392
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #4
  br label %397

397:                                              ; preds = %396, %392
  %398 = load i1, ptr %70, align 1
  br i1 %398, label %399, label %400

399:                                              ; preds = %397
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #4
  br label %400

400:                                              ; preds = %399, %397
  %401 = load i1, ptr %69, align 1
  br i1 %401, label %402, label %403

402:                                              ; preds = %400
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #4
  br label %403

403:                                              ; preds = %402, %400
  %404 = load i1, ptr %68, align 1
  br i1 %404, label %405, label %406

405:                                              ; preds = %403
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #4
  br label %406

406:                                              ; preds = %405, %403
  %407 = load i1, ptr %66, align 1
  br i1 %407, label %408, label %409

408:                                              ; preds = %406
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #4
  br label %409

409:                                              ; preds = %408, %406
  %410 = load i1, ptr %64, align 1
  br i1 %410, label %411, label %412

411:                                              ; preds = %409
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #4
  br label %412

412:                                              ; preds = %411, %409
  %413 = load i1, ptr %63, align 1
  br i1 %413, label %414, label %415

414:                                              ; preds = %412
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #4
  br label %415

415:                                              ; preds = %414, %412
  %416 = load i1, ptr %62, align 1
  br i1 %416, label %417, label %418

417:                                              ; preds = %415
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #4
  br label %418

418:                                              ; preds = %417, %415
  %419 = load i1, ptr %60, align 1
  br i1 %419, label %420, label %421

420:                                              ; preds = %418
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #4
  br label %421

421:                                              ; preds = %420, %418
  %422 = load i1, ptr %57, align 1
  br i1 %422, label %423, label %424

423:                                              ; preds = %421
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #4
  br label %424

424:                                              ; preds = %423, %421
  %425 = load i1, ptr %56, align 1
  br i1 %425, label %426, label %427

426:                                              ; preds = %424
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #4
  br label %427

427:                                              ; preds = %426, %424
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #4
  %428 = load i1, ptr %54, align 1
  br i1 %428, label %429, label %430

429:                                              ; preds = %427
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #4
  br label %430

430:                                              ; preds = %429, %427
  %431 = load i1, ptr %52, align 1
  br i1 %431, label %432, label %433

432:                                              ; preds = %430
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #4
  br label %433

433:                                              ; preds = %432, %430
  %434 = load i1, ptr %51, align 1
  br i1 %434, label %435, label %436

435:                                              ; preds = %433
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #4
  br label %436

436:                                              ; preds = %435, %433
  %437 = load i1, ptr %50, align 1
  br i1 %437, label %438, label %439

438:                                              ; preds = %436
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #4
  br label %439

439:                                              ; preds = %438, %436
  %440 = load i1, ptr %49, align 1
  br i1 %440, label %441, label %442

441:                                              ; preds = %439
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #4
  br label %442

442:                                              ; preds = %441, %439
  %443 = load i1, ptr %48, align 1
  br i1 %443, label %444, label %445

444:                                              ; preds = %442
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #4
  br label %445

445:                                              ; preds = %444, %442
  %446 = load i1, ptr %46, align 1
  br i1 %446, label %447, label %448

447:                                              ; preds = %445
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #4
  br label %448

448:                                              ; preds = %447, %445
  %449 = load i1, ptr %44, align 1
  br i1 %449, label %450, label %451

450:                                              ; preds = %448
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #4
  br label %451

451:                                              ; preds = %450, %448
  %452 = load i1, ptr %43, align 1
  br i1 %452, label %453, label %454

453:                                              ; preds = %451
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #4
  br label %454

454:                                              ; preds = %453, %451
  %455 = load i1, ptr %42, align 1
  br i1 %455, label %456, label %457

456:                                              ; preds = %454
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #4
  br label %457

457:                                              ; preds = %456, %454
  %458 = load i1, ptr %41, align 1
  br i1 %458, label %459, label %460

459:                                              ; preds = %457
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #4
  br label %460

460:                                              ; preds = %459, %457
  %461 = load i1, ptr %40, align 1
  br i1 %461, label %462, label %463

462:                                              ; preds = %460
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #4
  br label %463

463:                                              ; preds = %462, %460
  %464 = load i1, ptr %38, align 1
  br i1 %464, label %465, label %466

465:                                              ; preds = %463
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #4
  br label %466

466:                                              ; preds = %465, %463
  %467 = load i1, ptr %36, align 1
  br i1 %467, label %468, label %469

468:                                              ; preds = %466
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #4
  br label %469

469:                                              ; preds = %468, %466
  %470 = load i1, ptr %35, align 1
  br i1 %470, label %471, label %472

471:                                              ; preds = %469
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #4
  br label %472

472:                                              ; preds = %471, %469
  %473 = load i1, ptr %32, align 1
  br i1 %473, label %474, label %475

474:                                              ; preds = %472
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #4
  br label %475

475:                                              ; preds = %474, %472
  %476 = load i1, ptr %31, align 1
  br i1 %476, label %477, label %478

477:                                              ; preds = %475
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #4
  br label %478

478:                                              ; preds = %477, %475
  %479 = load i1, ptr %29, align 1
  br i1 %479, label %480, label %481

480:                                              ; preds = %478
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #4
  br label %481

481:                                              ; preds = %480, %478
  %482 = load i1, ptr %27, align 1
  br i1 %482, label %483, label %484

483:                                              ; preds = %481
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #4
  br label %484

484:                                              ; preds = %483, %481
  %485 = load i1, ptr %25, align 1
  br i1 %485, label %486, label %487

486:                                              ; preds = %484
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #4
  br label %487

487:                                              ; preds = %486, %484
  %488 = load i1, ptr %23, align 1
  br i1 %488, label %489, label %490

489:                                              ; preds = %487
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #4
  br label %490

490:                                              ; preds = %489, %487
  %491 = load i1, ptr %21, align 1
  br i1 %491, label %492, label %493

492:                                              ; preds = %490
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #4
  br label %493

493:                                              ; preds = %492, %490
  %494 = load i1, ptr %19, align 1
  br i1 %494, label %495, label %496

495:                                              ; preds = %493
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #4
  br label %496

496:                                              ; preds = %495, %493
  %497 = load double, ptr %10, align 8, !tbaa !9
  %498 = load double, ptr %15, align 8, !tbaa !9
  %499 = fdiv double %497, %498
  %500 = load double, ptr %8, align 8, !tbaa !9
  %501 = load double, ptr %14, align 8, !tbaa !9
  %502 = fdiv double %500, %501
  %503 = fadd double %499, %502
  %504 = load double, ptr %9, align 8, !tbaa !9
  %505 = load double, ptr %16, align 8, !tbaa !9
  %506 = fdiv double %504, %505
  %507 = fadd double %503, %506
  store double %507, ptr %13, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #4
  %508 = load ptr, ptr %5, align 8, !tbaa !5
  %509 = call noundef double @_ZNK4Elem10clayVolumeEv(ptr noundef nonnull align 8 dereferenceable(408) %508)
  %510 = load ptr, ptr %6, align 8, !tbaa !5
  %511 = call noundef double @_ZNK4Elem10clayVolumeEv(ptr noundef nonnull align 8 dereferenceable(408) %510)
  %512 = fadd double %509, %511
  %513 = load ptr, ptr %7, align 8, !tbaa !5
  %514 = call noundef double @_ZNK4Elem10clayVolumeEv(ptr noundef nonnull align 8 dereferenceable(408) %513)
  %515 = fadd double %512, %514
  %516 = load double, ptr %8, align 8, !tbaa !9
  %517 = load double, ptr %9, align 8, !tbaa !9
  %518 = fadd double %516, %517
  %519 = load double, ptr %10, align 8, !tbaa !9
  %520 = fadd double %518, %519
  %521 = fdiv double %515, %520
  store double %521, ptr %72, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #4
  %522 = load double, ptr %13, align 8, !tbaa !9
  %523 = fdiv double 1.000000e+00, %522
  %524 = load double, ptr %72, align 8, !tbaa !9
  %525 = load double, ptr %8, align 8, !tbaa !9
  %526 = load double, ptr %9, align 8, !tbaa !9
  %527 = fadd double %525, %526
  %528 = load double, ptr %10, align 8, !tbaa !9
  %529 = fadd double %527, %528
  %530 = fdiv double %524, %529
  %531 = getelementptr inbounds %class.Elem, ptr %296, i32 0, i32 4
  %532 = load ptr, ptr %531, align 8, !tbaa !29
  %533 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNK7GNMData4clayEv(ptr noundef nonnull align 8 dereferenceable(984) %532)
  %534 = call noundef double @_ZNK5Fluid11resistivityEv(ptr noundef nonnull align 8 dereferenceable(80) %533)
  %535 = fdiv double %530, %534
  %536 = fadd double %523, %535
  store double %536, ptr %73, align 8, !tbaa !9
  %537 = load double, ptr %73, align 8, !tbaa !9
  %538 = fdiv double 1.000000e+00, %537
  store double %538, ptr %13, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #4
  br label %1716

539:                                              ; preds = %376
  %540 = landingpad { ptr, i32 }
          cleanup
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %33, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %34, align 4
  br label %685

543:                                              ; preds = %377
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %33, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %34, align 4
  br label %681

547:                                              ; preds = %378
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %33, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %34, align 4
  br label %668

551:                                              ; preds = %379
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %33, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %34, align 4
  br label %664

555:                                              ; preds = %380
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %33, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %34, align 4
  br label %660

559:                                              ; preds = %381
  %560 = landingpad { ptr, i32 }
          cleanup
  %561 = extractvalue { ptr, i32 } %560, 0
  store ptr %561, ptr %33, align 8
  %562 = extractvalue { ptr, i32 } %560, 1
  store i32 %562, ptr %34, align 4
  br label %647

563:                                              ; preds = %382
  %564 = landingpad { ptr, i32 }
          cleanup
  %565 = extractvalue { ptr, i32 } %564, 0
  store ptr %565, ptr %33, align 8
  %566 = extractvalue { ptr, i32 } %564, 1
  store i32 %566, ptr %34, align 4
  br label %643

567:                                              ; preds = %383
  %568 = landingpad { ptr, i32 }
          cleanup
  %569 = extractvalue { ptr, i32 } %568, 0
  store ptr %569, ptr %33, align 8
  %570 = extractvalue { ptr, i32 } %568, 1
  store i32 %570, ptr %34, align 4
  br label %639

571:                                              ; preds = %384
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %33, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %34, align 4
  br label %632

575:                                              ; preds = %385
  %576 = landingpad { ptr, i32 }
          cleanup
  %577 = extractvalue { ptr, i32 } %576, 0
  store ptr %577, ptr %33, align 8
  %578 = extractvalue { ptr, i32 } %576, 1
  store i32 %578, ptr %34, align 4
  br label %628

579:                                              ; preds = %386
  %580 = landingpad { ptr, i32 }
          cleanup
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %33, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %34, align 4
  br label %615

583:                                              ; preds = %387
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %33, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %34, align 4
  br label %602

587:                                              ; preds = %388
  %588 = landingpad { ptr, i32 }
          cleanup
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %33, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %34, align 4
  br label %598

591:                                              ; preds = %389
  %592 = landingpad { ptr, i32 }
          cleanup
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %33, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %34, align 4
  %595 = load i1, ptr %71, align 1
  br i1 %595, label %596, label %597

596:                                              ; preds = %591
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #4
  br label %597

597:                                              ; preds = %596, %591
  br label %598

598:                                              ; preds = %597, %587
  %599 = load i1, ptr %70, align 1
  br i1 %599, label %600, label %601

600:                                              ; preds = %598
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #4
  br label %601

601:                                              ; preds = %600, %598
  br label %602

602:                                              ; preds = %601, %583
  %603 = load i1, ptr %69, align 1
  br i1 %603, label %604, label %605

604:                                              ; preds = %602
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #4
  br label %605

605:                                              ; preds = %604, %602
  %606 = load i1, ptr %68, align 1
  br i1 %606, label %607, label %608

607:                                              ; preds = %605
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #4
  br label %608

608:                                              ; preds = %607, %605
  %609 = load i1, ptr %66, align 1
  br i1 %609, label %610, label %611

610:                                              ; preds = %608
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #4
  br label %611

611:                                              ; preds = %610, %608
  %612 = load i1, ptr %64, align 1
  br i1 %612, label %613, label %614

613:                                              ; preds = %611
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #4
  br label %614

614:                                              ; preds = %613, %611
  br label %615

615:                                              ; preds = %614, %579
  %616 = load i1, ptr %63, align 1
  br i1 %616, label %617, label %618

617:                                              ; preds = %615
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #4
  br label %618

618:                                              ; preds = %617, %615
  %619 = load i1, ptr %62, align 1
  br i1 %619, label %620, label %621

620:                                              ; preds = %618
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #4
  br label %621

621:                                              ; preds = %620, %618
  %622 = load i1, ptr %60, align 1
  br i1 %622, label %623, label %624

623:                                              ; preds = %621
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #4
  br label %624

624:                                              ; preds = %623, %621
  %625 = load i1, ptr %57, align 1
  br i1 %625, label %626, label %627

626:                                              ; preds = %624
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #4
  br label %627

627:                                              ; preds = %626, %624
  br label %628

628:                                              ; preds = %627, %575
  %629 = load i1, ptr %56, align 1
  br i1 %629, label %630, label %631

630:                                              ; preds = %628
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #4
  br label %631

631:                                              ; preds = %630, %628
  br label %632

632:                                              ; preds = %631, %571
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #4
  %633 = load i1, ptr %54, align 1
  br i1 %633, label %634, label %635

634:                                              ; preds = %632
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #4
  br label %635

635:                                              ; preds = %634, %632
  %636 = load i1, ptr %52, align 1
  br i1 %636, label %637, label %638

637:                                              ; preds = %635
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #4
  br label %638

638:                                              ; preds = %637, %635
  br label %639

639:                                              ; preds = %638, %567
  %640 = load i1, ptr %51, align 1
  br i1 %640, label %641, label %642

641:                                              ; preds = %639
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #4
  br label %642

642:                                              ; preds = %641, %639
  br label %643

643:                                              ; preds = %642, %563
  %644 = load i1, ptr %50, align 1
  br i1 %644, label %645, label %646

645:                                              ; preds = %643
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #4
  br label %646

646:                                              ; preds = %645, %643
  br label %647

647:                                              ; preds = %646, %559
  %648 = load i1, ptr %49, align 1
  br i1 %648, label %649, label %650

649:                                              ; preds = %647
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #4
  br label %650

650:                                              ; preds = %649, %647
  %651 = load i1, ptr %48, align 1
  br i1 %651, label %652, label %653

652:                                              ; preds = %650
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #4
  br label %653

653:                                              ; preds = %652, %650
  %654 = load i1, ptr %46, align 1
  br i1 %654, label %655, label %656

655:                                              ; preds = %653
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #4
  br label %656

656:                                              ; preds = %655, %653
  %657 = load i1, ptr %44, align 1
  br i1 %657, label %658, label %659

658:                                              ; preds = %656
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #4
  br label %659

659:                                              ; preds = %658, %656
  br label %660

660:                                              ; preds = %659, %555
  %661 = load i1, ptr %43, align 1
  br i1 %661, label %662, label %663

662:                                              ; preds = %660
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #4
  br label %663

663:                                              ; preds = %662, %660
  br label %664

664:                                              ; preds = %663, %551
  %665 = load i1, ptr %42, align 1
  br i1 %665, label %666, label %667

666:                                              ; preds = %664
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #4
  br label %667

667:                                              ; preds = %666, %664
  br label %668

668:                                              ; preds = %667, %547
  %669 = load i1, ptr %41, align 1
  br i1 %669, label %670, label %671

670:                                              ; preds = %668
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #4
  br label %671

671:                                              ; preds = %670, %668
  %672 = load i1, ptr %40, align 1
  br i1 %672, label %673, label %674

673:                                              ; preds = %671
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #4
  br label %674

674:                                              ; preds = %673, %671
  %675 = load i1, ptr %38, align 1
  br i1 %675, label %676, label %677

676:                                              ; preds = %674
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #4
  br label %677

677:                                              ; preds = %676, %674
  %678 = load i1, ptr %36, align 1
  br i1 %678, label %679, label %680

679:                                              ; preds = %677
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #4
  br label %680

680:                                              ; preds = %679, %677
  br label %681

681:                                              ; preds = %680, %543
  %682 = load i1, ptr %35, align 1
  br i1 %682, label %683, label %684

683:                                              ; preds = %681
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #4
  br label %684

684:                                              ; preds = %683, %681
  br label %685

685:                                              ; preds = %684, %539
  %686 = load i1, ptr %32, align 1
  br i1 %686, label %687, label %688

687:                                              ; preds = %685
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #4
  br label %688

688:                                              ; preds = %687, %685
  %689 = load i1, ptr %31, align 1
  br i1 %689, label %690, label %691

690:                                              ; preds = %688
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #4
  br label %691

691:                                              ; preds = %690, %688
  %692 = load i1, ptr %29, align 1
  br i1 %692, label %693, label %694

693:                                              ; preds = %691
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #4
  br label %694

694:                                              ; preds = %693, %691
  %695 = load i1, ptr %27, align 1
  br i1 %695, label %696, label %697

696:                                              ; preds = %694
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #4
  br label %697

697:                                              ; preds = %696, %694
  %698 = load i1, ptr %25, align 1
  br i1 %698, label %699, label %700

699:                                              ; preds = %697
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #4
  br label %700

700:                                              ; preds = %699, %697
  %701 = load i1, ptr %23, align 1
  br i1 %701, label %702, label %703

702:                                              ; preds = %700
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #4
  br label %703

703:                                              ; preds = %702, %700
  %704 = load i1, ptr %21, align 1
  br i1 %704, label %705, label %706

705:                                              ; preds = %703
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #4
  br label %706

706:                                              ; preds = %705, %703
  %707 = load i1, ptr %19, align 1
  br i1 %707, label %708, label %709

708:                                              ; preds = %706
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #4
  br label %709

709:                                              ; preds = %708, %706
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #4
  br label %2016

710:                                              ; preds = %353
  %711 = load i8, ptr %12, align 1, !tbaa !24, !range !25, !noundef !26
  %712 = trunc i8 %711 to i1
  br i1 %712, label %713, label %1678

713:                                              ; preds = %710
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #4
  %714 = load ptr, ptr %4, align 8, !tbaa !5
  %715 = call noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80) %714)
  %716 = zext i16 %715 to i32
  %717 = icmp eq i32 %716, 1
  store i1 false, ptr %79, align 1
  store i1 false, ptr %81, align 1
  store i1 false, ptr %83, align 1
  store i1 false, ptr %85, align 1
  store i1 false, ptr %87, align 1
  store i1 false, ptr %89, align 1
  store i1 false, ptr %91, align 1
  store i1 false, ptr %92, align 1
  store i1 false, ptr %93, align 1
  store i1 false, ptr %94, align 1
  store i1 false, ptr %96, align 1
  store i1 false, ptr %98, align 1
  store i1 false, ptr %99, align 1
  store i1 false, ptr %100, align 1
  store i1 false, ptr %101, align 1
  store i1 false, ptr %102, align 1
  store i1 false, ptr %104, align 1
  store i1 false, ptr %106, align 1
  store i1 false, ptr %107, align 1
  store i1 false, ptr %108, align 1
  store i1 false, ptr %109, align 1
  store i1 false, ptr %110, align 1
  store i1 false, ptr %112, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #4
  store i1 false, ptr %114, align 1
  store i1 false, ptr %115, align 1
  store i1 false, ptr %118, align 1
  store i1 false, ptr %120, align 1
  store i1 false, ptr %121, align 1
  store i1 false, ptr %122, align 1
  store i1 false, ptr %124, align 1
  store i1 false, ptr %126, align 1
  store i1 false, ptr %127, align 1
  store i1 false, ptr %128, align 1
  store i1 false, ptr %129, align 1
  br i1 %717, label %734, label %718

718:                                              ; preds = %713
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #4
  store i1 true, ptr %79, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #4
  store i1 true, ptr %81, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #4
  store i1 true, ptr %83, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #4
  store i1 true, ptr %85, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #4
  store i1 true, ptr %87, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #4
  store i1 true, ptr %89, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #4
  store i1 true, ptr %91, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #4
  store i1 true, ptr %92, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %719 unwind label %997

719:                                              ; preds = %718
  store i1 true, ptr %93, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef @.str.1)
          to label %720 unwind label %1001

720:                                              ; preds = %719
  store i1 true, ptr %94, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %95) #4
  store i1 true, ptr %96, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %97) #4
  store i1 true, ptr %98, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #4
  store i1 true, ptr %99, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %721 unwind label %1005

721:                                              ; preds = %720
  store i1 true, ptr %100, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %722 unwind label %1009

722:                                              ; preds = %721
  store i1 true, ptr %101, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef @.str.2)
          to label %723 unwind label %1013

723:                                              ; preds = %722
  store i1 true, ptr %102, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %103) #4
  store i1 true, ptr %104, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #4
  store i1 true, ptr %106, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #4
  store i1 true, ptr %107, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %724 unwind label %1017

724:                                              ; preds = %723
  store i1 true, ptr %108, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %725 unwind label %1021

725:                                              ; preds = %724
  store i1 true, ptr %109, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef @.str.4)
          to label %726 unwind label %1025

726:                                              ; preds = %725
  store i1 true, ptr %110, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %111) #4
  store i1 true, ptr %112, align 1
  store i32 79, ptr %113, align 4, !tbaa !28
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %111, ptr noundef nonnull align 4 dereferenceable(4) %113)
          to label %727 unwind label %1029

727:                                              ; preds = %726
  store i1 true, ptr %114, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %728 unwind label %1033

728:                                              ; preds = %727
  store i1 true, ptr %115, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %117) #4
  store i1 true, ptr %118, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #4
  store i1 true, ptr %120, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #4
  store i1 true, ptr %121, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %729 unwind label %1037

729:                                              ; preds = %728
  store i1 true, ptr %122, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #4
  store i1 true, ptr %124, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %125) #4
  store i1 true, ptr %126, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #4
  store i1 true, ptr %127, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %125)
          to label %730 unwind label %1041

730:                                              ; preds = %729
  store i1 true, ptr %128, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %116, ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %731 unwind label %1045

731:                                              ; preds = %730
  store i1 true, ptr %129, align 1
  %732 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %77, ptr noundef %116, i32 noundef 0)
          to label %733 unwind label %1049

733:                                              ; preds = %731
  br label %734

734:                                              ; preds = %733, %713
  %735 = phi i1 [ true, %713 ], [ %732, %733 ]
  %736 = xor i1 %735, true
  %737 = load i1, ptr %129, align 1
  br i1 %737, label %738, label %739

738:                                              ; preds = %734
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #4
  br label %739

739:                                              ; preds = %738, %734
  %740 = load i1, ptr %128, align 1
  br i1 %740, label %741, label %742

741:                                              ; preds = %739
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #4
  br label %742

742:                                              ; preds = %741, %739
  %743 = load i1, ptr %127, align 1
  br i1 %743, label %744, label %745

744:                                              ; preds = %742
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #4
  br label %745

745:                                              ; preds = %744, %742
  %746 = load i1, ptr %126, align 1
  br i1 %746, label %747, label %748

747:                                              ; preds = %745
  call void @llvm.lifetime.end.p0(i64 1, ptr %125) #4
  br label %748

748:                                              ; preds = %747, %745
  %749 = load i1, ptr %124, align 1
  br i1 %749, label %750, label %751

750:                                              ; preds = %748
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #4
  br label %751

751:                                              ; preds = %750, %748
  %752 = load i1, ptr %122, align 1
  br i1 %752, label %753, label %754

753:                                              ; preds = %751
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #4
  br label %754

754:                                              ; preds = %753, %751
  %755 = load i1, ptr %121, align 1
  br i1 %755, label %756, label %757

756:                                              ; preds = %754
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #4
  br label %757

757:                                              ; preds = %756, %754
  %758 = load i1, ptr %120, align 1
  br i1 %758, label %759, label %760

759:                                              ; preds = %757
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #4
  br label %760

760:                                              ; preds = %759, %757
  %761 = load i1, ptr %118, align 1
  br i1 %761, label %762, label %763

762:                                              ; preds = %760
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #4
  br label %763

763:                                              ; preds = %762, %760
  %764 = load i1, ptr %115, align 1
  br i1 %764, label %765, label %766

765:                                              ; preds = %763
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #4
  br label %766

766:                                              ; preds = %765, %763
  %767 = load i1, ptr %114, align 1
  br i1 %767, label %768, label %769

768:                                              ; preds = %766
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #4
  br label %769

769:                                              ; preds = %768, %766
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #4
  %770 = load i1, ptr %112, align 1
  br i1 %770, label %771, label %772

771:                                              ; preds = %769
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #4
  br label %772

772:                                              ; preds = %771, %769
  %773 = load i1, ptr %110, align 1
  br i1 %773, label %774, label %775

774:                                              ; preds = %772
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #4
  br label %775

775:                                              ; preds = %774, %772
  %776 = load i1, ptr %109, align 1
  br i1 %776, label %777, label %778

777:                                              ; preds = %775
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #4
  br label %778

778:                                              ; preds = %777, %775
  %779 = load i1, ptr %108, align 1
  br i1 %779, label %780, label %781

780:                                              ; preds = %778
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #4
  br label %781

781:                                              ; preds = %780, %778
  %782 = load i1, ptr %107, align 1
  br i1 %782, label %783, label %784

783:                                              ; preds = %781
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #4
  br label %784

784:                                              ; preds = %783, %781
  %785 = load i1, ptr %106, align 1
  br i1 %785, label %786, label %787

786:                                              ; preds = %784
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #4
  br label %787

787:                                              ; preds = %786, %784
  %788 = load i1, ptr %104, align 1
  br i1 %788, label %789, label %790

789:                                              ; preds = %787
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #4
  br label %790

790:                                              ; preds = %789, %787
  %791 = load i1, ptr %102, align 1
  br i1 %791, label %792, label %793

792:                                              ; preds = %790
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #4
  br label %793

793:                                              ; preds = %792, %790
  %794 = load i1, ptr %101, align 1
  br i1 %794, label %795, label %796

795:                                              ; preds = %793
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #4
  br label %796

796:                                              ; preds = %795, %793
  %797 = load i1, ptr %100, align 1
  br i1 %797, label %798, label %799

798:                                              ; preds = %796
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #4
  br label %799

799:                                              ; preds = %798, %796
  %800 = load i1, ptr %99, align 1
  br i1 %800, label %801, label %802

801:                                              ; preds = %799
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #4
  br label %802

802:                                              ; preds = %801, %799
  %803 = load i1, ptr %98, align 1
  br i1 %803, label %804, label %805

804:                                              ; preds = %802
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #4
  br label %805

805:                                              ; preds = %804, %802
  %806 = load i1, ptr %96, align 1
  br i1 %806, label %807, label %808

807:                                              ; preds = %805
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #4
  br label %808

808:                                              ; preds = %807, %805
  %809 = load i1, ptr %94, align 1
  br i1 %809, label %810, label %811

810:                                              ; preds = %808
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #4
  br label %811

811:                                              ; preds = %810, %808
  %812 = load i1, ptr %93, align 1
  br i1 %812, label %813, label %814

813:                                              ; preds = %811
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #4
  br label %814

814:                                              ; preds = %813, %811
  %815 = load i1, ptr %92, align 1
  br i1 %815, label %816, label %817

816:                                              ; preds = %814
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #4
  br label %817

817:                                              ; preds = %816, %814
  %818 = load i1, ptr %91, align 1
  br i1 %818, label %819, label %820

819:                                              ; preds = %817
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #4
  br label %820

820:                                              ; preds = %819, %817
  %821 = load i1, ptr %89, align 1
  br i1 %821, label %822, label %823

822:                                              ; preds = %820
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #4
  br label %823

823:                                              ; preds = %822, %820
  %824 = load i1, ptr %87, align 1
  br i1 %824, label %825, label %826

825:                                              ; preds = %823
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #4
  br label %826

826:                                              ; preds = %825, %823
  %827 = load i1, ptr %85, align 1
  br i1 %827, label %828, label %829

828:                                              ; preds = %826
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #4
  br label %829

829:                                              ; preds = %828, %826
  %830 = load i1, ptr %83, align 1
  br i1 %830, label %831, label %832

831:                                              ; preds = %829
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #4
  br label %832

832:                                              ; preds = %831, %829
  %833 = load i1, ptr %81, align 1
  br i1 %833, label %834, label %835

834:                                              ; preds = %832
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #4
  br label %835

835:                                              ; preds = %834, %832
  %836 = load i1, ptr %79, align 1
  br i1 %836, label %837, label %838

837:                                              ; preds = %835
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #4
  br label %838

838:                                              ; preds = %837, %835
  %839 = load ptr, ptr %6, align 8, !tbaa !5
  %840 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %839)
  %841 = load ptr, ptr %6, align 8, !tbaa !5
  %842 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %841)
  %843 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %840, i32 noundef 0, i1 noundef zeroext %842)
  store double %843, ptr %74, align 8, !tbaa !9
  %844 = load ptr, ptr %5, align 8, !tbaa !5
  %845 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %844)
  %846 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %845, i32 noundef 0, i1 noundef zeroext false)
  store double %846, ptr %75, align 8, !tbaa !9
  %847 = load ptr, ptr %7, align 8, !tbaa !5
  %848 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %847)
  %849 = load ptr, ptr %7, align 8, !tbaa !5
  %850 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %849)
  %851 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %848, i32 noundef 0, i1 noundef zeroext %850)
  store double %851, ptr %76, align 8, !tbaa !9
  %852 = load double, ptr %74, align 8, !tbaa !9
  %853 = load double, ptr %75, align 8, !tbaa !9
  %854 = fmul double %852, %853
  %855 = load double, ptr %76, align 8, !tbaa !9
  %856 = fmul double %854, %855
  %857 = fcmp une double %856, 0.000000e+00
  store i1 false, ptr %132, align 1
  store i1 false, ptr %134, align 1
  store i1 false, ptr %136, align 1
  store i1 false, ptr %138, align 1
  store i1 false, ptr %140, align 1
  store i1 false, ptr %142, align 1
  store i1 false, ptr %144, align 1
  store i1 false, ptr %145, align 1
  store i1 false, ptr %146, align 1
  store i1 false, ptr %147, align 1
  store i1 false, ptr %149, align 1
  store i1 false, ptr %151, align 1
  store i1 false, ptr %152, align 1
  store i1 false, ptr %153, align 1
  store i1 false, ptr %154, align 1
  store i1 false, ptr %155, align 1
  store i1 false, ptr %157, align 1
  store i1 false, ptr %159, align 1
  store i1 false, ptr %160, align 1
  store i1 false, ptr %161, align 1
  store i1 false, ptr %162, align 1
  store i1 false, ptr %163, align 1
  store i1 false, ptr %165, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #4
  store i1 false, ptr %167, align 1
  store i1 false, ptr %168, align 1
  store i1 false, ptr %171, align 1
  store i1 false, ptr %173, align 1
  store i1 false, ptr %174, align 1
  store i1 false, ptr %175, align 1
  store i1 false, ptr %177, align 1
  store i1 false, ptr %179, align 1
  store i1 false, ptr %180, align 1
  store i1 false, ptr %181, align 1
  store i1 false, ptr %182, align 1
  br i1 %857, label %874, label %858

858:                                              ; preds = %838
  call void @llvm.lifetime.start.p0(i64 32, ptr %131) #4
  store i1 true, ptr %132, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %133) #4
  store i1 true, ptr %134, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %135) #4
  store i1 true, ptr %136, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %137) #4
  store i1 true, ptr %138, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %139) #4
  store i1 true, ptr %140, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %141) #4
  store i1 true, ptr %142, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %143) #4
  store i1 true, ptr %144, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #4
  store i1 true, ptr %145, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %859 unwind label %1168

859:                                              ; preds = %858
  store i1 true, ptr %146, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %139, ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef @.str.1)
          to label %860 unwind label %1172

860:                                              ; preds = %859
  store i1 true, ptr %147, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %148) #4
  store i1 true, ptr %149, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %150) #4
  store i1 true, ptr %151, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #4
  store i1 true, ptr %152, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %861 unwind label %1176

861:                                              ; preds = %860
  store i1 true, ptr %153, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %137, ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull align 8 dereferenceable(32) %148)
          to label %862 unwind label %1180

862:                                              ; preds = %861
  store i1 true, ptr %154, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %135, ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef @.str.2)
          to label %863 unwind label %1184

863:                                              ; preds = %862
  store i1 true, ptr %155, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %156) #4
  store i1 true, ptr %157, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %158) #4
  store i1 true, ptr %159, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #4
  store i1 true, ptr %160, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %158)
          to label %864 unwind label %1188

864:                                              ; preds = %863
  store i1 true, ptr %161, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %133, ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull align 8 dereferenceable(32) %156)
          to label %865 unwind label %1192

865:                                              ; preds = %864
  store i1 true, ptr %162, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %131, ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef @.str.4)
          to label %866 unwind label %1196

866:                                              ; preds = %865
  store i1 true, ptr %163, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %164) #4
  store i1 true, ptr %165, align 1
  store i32 83, ptr %166, align 4, !tbaa !28
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %164, ptr noundef nonnull align 4 dereferenceable(4) %166)
          to label %867 unwind label %1200

867:                                              ; preds = %866
  store i1 true, ptr %167, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull align 8 dereferenceable(32) %164)
          to label %868 unwind label %1204

868:                                              ; preds = %867
  store i1 true, ptr %168, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %170) #4
  store i1 true, ptr %171, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %172) #4
  store i1 true, ptr %173, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #4
  store i1 true, ptr %174, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %172)
          to label %869 unwind label %1208

869:                                              ; preds = %868
  store i1 true, ptr %175, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %176) #4
  store i1 true, ptr %177, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %178) #4
  store i1 true, ptr %179, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #4
  store i1 true, ptr %180, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %178)
          to label %870 unwind label %1212

870:                                              ; preds = %869
  store i1 true, ptr %181, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %169, ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %871 unwind label %1216

871:                                              ; preds = %870
  store i1 true, ptr %182, align 1
  %872 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %130, ptr noundef %169, i32 noundef 0)
          to label %873 unwind label %1220

873:                                              ; preds = %871
  br label %874

874:                                              ; preds = %873, %838
  %875 = phi i1 [ true, %838 ], [ %872, %873 ]
  %876 = xor i1 %875, true
  %877 = load i1, ptr %182, align 1
  br i1 %877, label %878, label %879

878:                                              ; preds = %874
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #4
  br label %879

879:                                              ; preds = %878, %874
  %880 = load i1, ptr %181, align 1
  br i1 %880, label %881, label %882

881:                                              ; preds = %879
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #4
  br label %882

882:                                              ; preds = %881, %879
  %883 = load i1, ptr %180, align 1
  br i1 %883, label %884, label %885

884:                                              ; preds = %882
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #4
  br label %885

885:                                              ; preds = %884, %882
  %886 = load i1, ptr %179, align 1
  br i1 %886, label %887, label %888

887:                                              ; preds = %885
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #4
  br label %888

888:                                              ; preds = %887, %885
  %889 = load i1, ptr %177, align 1
  br i1 %889, label %890, label %891

890:                                              ; preds = %888
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #4
  br label %891

891:                                              ; preds = %890, %888
  %892 = load i1, ptr %175, align 1
  br i1 %892, label %893, label %894

893:                                              ; preds = %891
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #4
  br label %894

894:                                              ; preds = %893, %891
  %895 = load i1, ptr %174, align 1
  br i1 %895, label %896, label %897

896:                                              ; preds = %894
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #4
  br label %897

897:                                              ; preds = %896, %894
  %898 = load i1, ptr %173, align 1
  br i1 %898, label %899, label %900

899:                                              ; preds = %897
  call void @llvm.lifetime.end.p0(i64 1, ptr %172) #4
  br label %900

900:                                              ; preds = %899, %897
  %901 = load i1, ptr %171, align 1
  br i1 %901, label %902, label %903

902:                                              ; preds = %900
  call void @llvm.lifetime.end.p0(i64 32, ptr %170) #4
  br label %903

903:                                              ; preds = %902, %900
  %904 = load i1, ptr %168, align 1
  br i1 %904, label %905, label %906

905:                                              ; preds = %903
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #4
  br label %906

906:                                              ; preds = %905, %903
  %907 = load i1, ptr %167, align 1
  br i1 %907, label %908, label %909

908:                                              ; preds = %906
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #4
  br label %909

909:                                              ; preds = %908, %906
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #4
  %910 = load i1, ptr %165, align 1
  br i1 %910, label %911, label %912

911:                                              ; preds = %909
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #4
  br label %912

912:                                              ; preds = %911, %909
  %913 = load i1, ptr %163, align 1
  br i1 %913, label %914, label %915

914:                                              ; preds = %912
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #4
  br label %915

915:                                              ; preds = %914, %912
  %916 = load i1, ptr %162, align 1
  br i1 %916, label %917, label %918

917:                                              ; preds = %915
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #4
  br label %918

918:                                              ; preds = %917, %915
  %919 = load i1, ptr %161, align 1
  br i1 %919, label %920, label %921

920:                                              ; preds = %918
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #4
  br label %921

921:                                              ; preds = %920, %918
  %922 = load i1, ptr %160, align 1
  br i1 %922, label %923, label %924

923:                                              ; preds = %921
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #4
  br label %924

924:                                              ; preds = %923, %921
  %925 = load i1, ptr %159, align 1
  br i1 %925, label %926, label %927

926:                                              ; preds = %924
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #4
  br label %927

927:                                              ; preds = %926, %924
  %928 = load i1, ptr %157, align 1
  br i1 %928, label %929, label %930

929:                                              ; preds = %927
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #4
  br label %930

930:                                              ; preds = %929, %927
  %931 = load i1, ptr %155, align 1
  br i1 %931, label %932, label %933

932:                                              ; preds = %930
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #4
  br label %933

933:                                              ; preds = %932, %930
  %934 = load i1, ptr %154, align 1
  br i1 %934, label %935, label %936

935:                                              ; preds = %933
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #4
  br label %936

936:                                              ; preds = %935, %933
  %937 = load i1, ptr %153, align 1
  br i1 %937, label %938, label %939

938:                                              ; preds = %936
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #4
  br label %939

939:                                              ; preds = %938, %936
  %940 = load i1, ptr %152, align 1
  br i1 %940, label %941, label %942

941:                                              ; preds = %939
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #4
  br label %942

942:                                              ; preds = %941, %939
  %943 = load i1, ptr %151, align 1
  br i1 %943, label %944, label %945

944:                                              ; preds = %942
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #4
  br label %945

945:                                              ; preds = %944, %942
  %946 = load i1, ptr %149, align 1
  br i1 %946, label %947, label %948

947:                                              ; preds = %945
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #4
  br label %948

948:                                              ; preds = %947, %945
  %949 = load i1, ptr %147, align 1
  br i1 %949, label %950, label %951

950:                                              ; preds = %948
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #4
  br label %951

951:                                              ; preds = %950, %948
  %952 = load i1, ptr %146, align 1
  br i1 %952, label %953, label %954

953:                                              ; preds = %951
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #4
  br label %954

954:                                              ; preds = %953, %951
  %955 = load i1, ptr %145, align 1
  br i1 %955, label %956, label %957

956:                                              ; preds = %954
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #4
  br label %957

957:                                              ; preds = %956, %954
  %958 = load i1, ptr %144, align 1
  br i1 %958, label %959, label %960

959:                                              ; preds = %957
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #4
  br label %960

960:                                              ; preds = %959, %957
  %961 = load i1, ptr %142, align 1
  br i1 %961, label %962, label %963

962:                                              ; preds = %960
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #4
  br label %963

963:                                              ; preds = %962, %960
  %964 = load i1, ptr %140, align 1
  br i1 %964, label %965, label %966

965:                                              ; preds = %963
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #4
  br label %966

966:                                              ; preds = %965, %963
  %967 = load i1, ptr %138, align 1
  br i1 %967, label %968, label %969

968:                                              ; preds = %966
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #4
  br label %969

969:                                              ; preds = %968, %966
  %970 = load i1, ptr %136, align 1
  br i1 %970, label %971, label %972

971:                                              ; preds = %969
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #4
  br label %972

972:                                              ; preds = %971, %969
  %973 = load i1, ptr %134, align 1
  br i1 %973, label %974, label %975

974:                                              ; preds = %972
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #4
  br label %975

975:                                              ; preds = %974, %972
  %976 = load i1, ptr %132, align 1
  br i1 %976, label %977, label %978

977:                                              ; preds = %975
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #4
  br label %978

978:                                              ; preds = %977, %975
  %979 = load double, ptr %74, align 8, !tbaa !9
  %980 = load double, ptr %75, align 8, !tbaa !9
  %981 = fmul double %979, %980
  %982 = load double, ptr %76, align 8, !tbaa !9
  %983 = fmul double %981, %982
  %984 = fcmp ogt double %983, 0.000000e+00
  br i1 %984, label %985, label %1339

985:                                              ; preds = %978
  %986 = load double, ptr %10, align 8, !tbaa !9
  %987 = load double, ptr %75, align 8, !tbaa !9
  %988 = fdiv double %986, %987
  %989 = load double, ptr %8, align 8, !tbaa !9
  %990 = load double, ptr %74, align 8, !tbaa !9
  %991 = fdiv double %989, %990
  %992 = fadd double %988, %991
  %993 = load double, ptr %9, align 8, !tbaa !9
  %994 = load double, ptr %76, align 8, !tbaa !9
  %995 = fdiv double %993, %994
  %996 = fadd double %992, %995
  store double %996, ptr %13, align 8, !tbaa !9
  br label %1340

997:                                              ; preds = %718
  %998 = landingpad { ptr, i32 }
          cleanup
  %999 = extractvalue { ptr, i32 } %998, 0
  store ptr %999, ptr %33, align 8
  %1000 = extractvalue { ptr, i32 } %998, 1
  store i32 %1000, ptr %34, align 4
  br label %1143

1001:                                             ; preds = %719
  %1002 = landingpad { ptr, i32 }
          cleanup
  %1003 = extractvalue { ptr, i32 } %1002, 0
  store ptr %1003, ptr %33, align 8
  %1004 = extractvalue { ptr, i32 } %1002, 1
  store i32 %1004, ptr %34, align 4
  br label %1139

1005:                                             ; preds = %720
  %1006 = landingpad { ptr, i32 }
          cleanup
  %1007 = extractvalue { ptr, i32 } %1006, 0
  store ptr %1007, ptr %33, align 8
  %1008 = extractvalue { ptr, i32 } %1006, 1
  store i32 %1008, ptr %34, align 4
  br label %1126

1009:                                             ; preds = %721
  %1010 = landingpad { ptr, i32 }
          cleanup
  %1011 = extractvalue { ptr, i32 } %1010, 0
  store ptr %1011, ptr %33, align 8
  %1012 = extractvalue { ptr, i32 } %1010, 1
  store i32 %1012, ptr %34, align 4
  br label %1122

1013:                                             ; preds = %722
  %1014 = landingpad { ptr, i32 }
          cleanup
  %1015 = extractvalue { ptr, i32 } %1014, 0
  store ptr %1015, ptr %33, align 8
  %1016 = extractvalue { ptr, i32 } %1014, 1
  store i32 %1016, ptr %34, align 4
  br label %1118

1017:                                             ; preds = %723
  %1018 = landingpad { ptr, i32 }
          cleanup
  %1019 = extractvalue { ptr, i32 } %1018, 0
  store ptr %1019, ptr %33, align 8
  %1020 = extractvalue { ptr, i32 } %1018, 1
  store i32 %1020, ptr %34, align 4
  br label %1105

1021:                                             ; preds = %724
  %1022 = landingpad { ptr, i32 }
          cleanup
  %1023 = extractvalue { ptr, i32 } %1022, 0
  store ptr %1023, ptr %33, align 8
  %1024 = extractvalue { ptr, i32 } %1022, 1
  store i32 %1024, ptr %34, align 4
  br label %1101

1025:                                             ; preds = %725
  %1026 = landingpad { ptr, i32 }
          cleanup
  %1027 = extractvalue { ptr, i32 } %1026, 0
  store ptr %1027, ptr %33, align 8
  %1028 = extractvalue { ptr, i32 } %1026, 1
  store i32 %1028, ptr %34, align 4
  br label %1097

1029:                                             ; preds = %726
  %1030 = landingpad { ptr, i32 }
          cleanup
  %1031 = extractvalue { ptr, i32 } %1030, 0
  store ptr %1031, ptr %33, align 8
  %1032 = extractvalue { ptr, i32 } %1030, 1
  store i32 %1032, ptr %34, align 4
  br label %1090

1033:                                             ; preds = %727
  %1034 = landingpad { ptr, i32 }
          cleanup
  %1035 = extractvalue { ptr, i32 } %1034, 0
  store ptr %1035, ptr %33, align 8
  %1036 = extractvalue { ptr, i32 } %1034, 1
  store i32 %1036, ptr %34, align 4
  br label %1086

1037:                                             ; preds = %728
  %1038 = landingpad { ptr, i32 }
          cleanup
  %1039 = extractvalue { ptr, i32 } %1038, 0
  store ptr %1039, ptr %33, align 8
  %1040 = extractvalue { ptr, i32 } %1038, 1
  store i32 %1040, ptr %34, align 4
  br label %1073

1041:                                             ; preds = %729
  %1042 = landingpad { ptr, i32 }
          cleanup
  %1043 = extractvalue { ptr, i32 } %1042, 0
  store ptr %1043, ptr %33, align 8
  %1044 = extractvalue { ptr, i32 } %1042, 1
  store i32 %1044, ptr %34, align 4
  br label %1060

1045:                                             ; preds = %730
  %1046 = landingpad { ptr, i32 }
          cleanup
  %1047 = extractvalue { ptr, i32 } %1046, 0
  store ptr %1047, ptr %33, align 8
  %1048 = extractvalue { ptr, i32 } %1046, 1
  store i32 %1048, ptr %34, align 4
  br label %1056

1049:                                             ; preds = %731
  %1050 = landingpad { ptr, i32 }
          cleanup
  %1051 = extractvalue { ptr, i32 } %1050, 0
  store ptr %1051, ptr %33, align 8
  %1052 = extractvalue { ptr, i32 } %1050, 1
  store i32 %1052, ptr %34, align 4
  %1053 = load i1, ptr %129, align 1
  br i1 %1053, label %1054, label %1055

1054:                                             ; preds = %1049
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #4
  br label %1055

1055:                                             ; preds = %1054, %1049
  br label %1056

1056:                                             ; preds = %1055, %1045
  %1057 = load i1, ptr %128, align 1
  br i1 %1057, label %1058, label %1059

1058:                                             ; preds = %1056
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #4
  br label %1059

1059:                                             ; preds = %1058, %1056
  br label %1060

1060:                                             ; preds = %1059, %1041
  %1061 = load i1, ptr %127, align 1
  br i1 %1061, label %1062, label %1063

1062:                                             ; preds = %1060
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #4
  br label %1063

1063:                                             ; preds = %1062, %1060
  %1064 = load i1, ptr %126, align 1
  br i1 %1064, label %1065, label %1066

1065:                                             ; preds = %1063
  call void @llvm.lifetime.end.p0(i64 1, ptr %125) #4
  br label %1066

1066:                                             ; preds = %1065, %1063
  %1067 = load i1, ptr %124, align 1
  br i1 %1067, label %1068, label %1069

1068:                                             ; preds = %1066
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #4
  br label %1069

1069:                                             ; preds = %1068, %1066
  %1070 = load i1, ptr %122, align 1
  br i1 %1070, label %1071, label %1072

1071:                                             ; preds = %1069
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #4
  br label %1072

1072:                                             ; preds = %1071, %1069
  br label %1073

1073:                                             ; preds = %1072, %1037
  %1074 = load i1, ptr %121, align 1
  br i1 %1074, label %1075, label %1076

1075:                                             ; preds = %1073
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #4
  br label %1076

1076:                                             ; preds = %1075, %1073
  %1077 = load i1, ptr %120, align 1
  br i1 %1077, label %1078, label %1079

1078:                                             ; preds = %1076
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #4
  br label %1079

1079:                                             ; preds = %1078, %1076
  %1080 = load i1, ptr %118, align 1
  br i1 %1080, label %1081, label %1082

1081:                                             ; preds = %1079
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #4
  br label %1082

1082:                                             ; preds = %1081, %1079
  %1083 = load i1, ptr %115, align 1
  br i1 %1083, label %1084, label %1085

1084:                                             ; preds = %1082
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #4
  br label %1085

1085:                                             ; preds = %1084, %1082
  br label %1086

1086:                                             ; preds = %1085, %1033
  %1087 = load i1, ptr %114, align 1
  br i1 %1087, label %1088, label %1089

1088:                                             ; preds = %1086
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #4
  br label %1089

1089:                                             ; preds = %1088, %1086
  br label %1090

1090:                                             ; preds = %1089, %1029
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #4
  %1091 = load i1, ptr %112, align 1
  br i1 %1091, label %1092, label %1093

1092:                                             ; preds = %1090
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #4
  br label %1093

1093:                                             ; preds = %1092, %1090
  %1094 = load i1, ptr %110, align 1
  br i1 %1094, label %1095, label %1096

1095:                                             ; preds = %1093
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #4
  br label %1096

1096:                                             ; preds = %1095, %1093
  br label %1097

1097:                                             ; preds = %1096, %1025
  %1098 = load i1, ptr %109, align 1
  br i1 %1098, label %1099, label %1100

1099:                                             ; preds = %1097
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #4
  br label %1100

1100:                                             ; preds = %1099, %1097
  br label %1101

1101:                                             ; preds = %1100, %1021
  %1102 = load i1, ptr %108, align 1
  br i1 %1102, label %1103, label %1104

1103:                                             ; preds = %1101
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #4
  br label %1104

1104:                                             ; preds = %1103, %1101
  br label %1105

1105:                                             ; preds = %1104, %1017
  %1106 = load i1, ptr %107, align 1
  br i1 %1106, label %1107, label %1108

1107:                                             ; preds = %1105
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #4
  br label %1108

1108:                                             ; preds = %1107, %1105
  %1109 = load i1, ptr %106, align 1
  br i1 %1109, label %1110, label %1111

1110:                                             ; preds = %1108
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #4
  br label %1111

1111:                                             ; preds = %1110, %1108
  %1112 = load i1, ptr %104, align 1
  br i1 %1112, label %1113, label %1114

1113:                                             ; preds = %1111
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #4
  br label %1114

1114:                                             ; preds = %1113, %1111
  %1115 = load i1, ptr %102, align 1
  br i1 %1115, label %1116, label %1117

1116:                                             ; preds = %1114
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #4
  br label %1117

1117:                                             ; preds = %1116, %1114
  br label %1118

1118:                                             ; preds = %1117, %1013
  %1119 = load i1, ptr %101, align 1
  br i1 %1119, label %1120, label %1121

1120:                                             ; preds = %1118
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #4
  br label %1121

1121:                                             ; preds = %1120, %1118
  br label %1122

1122:                                             ; preds = %1121, %1009
  %1123 = load i1, ptr %100, align 1
  br i1 %1123, label %1124, label %1125

1124:                                             ; preds = %1122
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #4
  br label %1125

1125:                                             ; preds = %1124, %1122
  br label %1126

1126:                                             ; preds = %1125, %1005
  %1127 = load i1, ptr %99, align 1
  br i1 %1127, label %1128, label %1129

1128:                                             ; preds = %1126
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #4
  br label %1129

1129:                                             ; preds = %1128, %1126
  %1130 = load i1, ptr %98, align 1
  br i1 %1130, label %1131, label %1132

1131:                                             ; preds = %1129
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #4
  br label %1132

1132:                                             ; preds = %1131, %1129
  %1133 = load i1, ptr %96, align 1
  br i1 %1133, label %1134, label %1135

1134:                                             ; preds = %1132
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #4
  br label %1135

1135:                                             ; preds = %1134, %1132
  %1136 = load i1, ptr %94, align 1
  br i1 %1136, label %1137, label %1138

1137:                                             ; preds = %1135
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #4
  br label %1138

1138:                                             ; preds = %1137, %1135
  br label %1139

1139:                                             ; preds = %1138, %1001
  %1140 = load i1, ptr %93, align 1
  br i1 %1140, label %1141, label %1142

1141:                                             ; preds = %1139
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #4
  br label %1142

1142:                                             ; preds = %1141, %1139
  br label %1143

1143:                                             ; preds = %1142, %997
  %1144 = load i1, ptr %92, align 1
  br i1 %1144, label %1145, label %1146

1145:                                             ; preds = %1143
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #4
  br label %1146

1146:                                             ; preds = %1145, %1143
  %1147 = load i1, ptr %91, align 1
  br i1 %1147, label %1148, label %1149

1148:                                             ; preds = %1146
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #4
  br label %1149

1149:                                             ; preds = %1148, %1146
  %1150 = load i1, ptr %89, align 1
  br i1 %1150, label %1151, label %1152

1151:                                             ; preds = %1149
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #4
  br label %1152

1152:                                             ; preds = %1151, %1149
  %1153 = load i1, ptr %87, align 1
  br i1 %1153, label %1154, label %1155

1154:                                             ; preds = %1152
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #4
  br label %1155

1155:                                             ; preds = %1154, %1152
  %1156 = load i1, ptr %85, align 1
  br i1 %1156, label %1157, label %1158

1157:                                             ; preds = %1155
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #4
  br label %1158

1158:                                             ; preds = %1157, %1155
  %1159 = load i1, ptr %83, align 1
  br i1 %1159, label %1160, label %1161

1160:                                             ; preds = %1158
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #4
  br label %1161

1161:                                             ; preds = %1160, %1158
  %1162 = load i1, ptr %81, align 1
  br i1 %1162, label %1163, label %1164

1163:                                             ; preds = %1161
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #4
  br label %1164

1164:                                             ; preds = %1163, %1161
  %1165 = load i1, ptr %79, align 1
  br i1 %1165, label %1166, label %1167

1166:                                             ; preds = %1164
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #4
  br label %1167

1167:                                             ; preds = %1166, %1164
  br label %1677

1168:                                             ; preds = %858
  %1169 = landingpad { ptr, i32 }
          cleanup
  %1170 = extractvalue { ptr, i32 } %1169, 0
  store ptr %1170, ptr %33, align 8
  %1171 = extractvalue { ptr, i32 } %1169, 1
  store i32 %1171, ptr %34, align 4
  br label %1314

1172:                                             ; preds = %859
  %1173 = landingpad { ptr, i32 }
          cleanup
  %1174 = extractvalue { ptr, i32 } %1173, 0
  store ptr %1174, ptr %33, align 8
  %1175 = extractvalue { ptr, i32 } %1173, 1
  store i32 %1175, ptr %34, align 4
  br label %1310

1176:                                             ; preds = %860
  %1177 = landingpad { ptr, i32 }
          cleanup
  %1178 = extractvalue { ptr, i32 } %1177, 0
  store ptr %1178, ptr %33, align 8
  %1179 = extractvalue { ptr, i32 } %1177, 1
  store i32 %1179, ptr %34, align 4
  br label %1297

1180:                                             ; preds = %861
  %1181 = landingpad { ptr, i32 }
          cleanup
  %1182 = extractvalue { ptr, i32 } %1181, 0
  store ptr %1182, ptr %33, align 8
  %1183 = extractvalue { ptr, i32 } %1181, 1
  store i32 %1183, ptr %34, align 4
  br label %1293

1184:                                             ; preds = %862
  %1185 = landingpad { ptr, i32 }
          cleanup
  %1186 = extractvalue { ptr, i32 } %1185, 0
  store ptr %1186, ptr %33, align 8
  %1187 = extractvalue { ptr, i32 } %1185, 1
  store i32 %1187, ptr %34, align 4
  br label %1289

1188:                                             ; preds = %863
  %1189 = landingpad { ptr, i32 }
          cleanup
  %1190 = extractvalue { ptr, i32 } %1189, 0
  store ptr %1190, ptr %33, align 8
  %1191 = extractvalue { ptr, i32 } %1189, 1
  store i32 %1191, ptr %34, align 4
  br label %1276

1192:                                             ; preds = %864
  %1193 = landingpad { ptr, i32 }
          cleanup
  %1194 = extractvalue { ptr, i32 } %1193, 0
  store ptr %1194, ptr %33, align 8
  %1195 = extractvalue { ptr, i32 } %1193, 1
  store i32 %1195, ptr %34, align 4
  br label %1272

1196:                                             ; preds = %865
  %1197 = landingpad { ptr, i32 }
          cleanup
  %1198 = extractvalue { ptr, i32 } %1197, 0
  store ptr %1198, ptr %33, align 8
  %1199 = extractvalue { ptr, i32 } %1197, 1
  store i32 %1199, ptr %34, align 4
  br label %1268

1200:                                             ; preds = %866
  %1201 = landingpad { ptr, i32 }
          cleanup
  %1202 = extractvalue { ptr, i32 } %1201, 0
  store ptr %1202, ptr %33, align 8
  %1203 = extractvalue { ptr, i32 } %1201, 1
  store i32 %1203, ptr %34, align 4
  br label %1261

1204:                                             ; preds = %867
  %1205 = landingpad { ptr, i32 }
          cleanup
  %1206 = extractvalue { ptr, i32 } %1205, 0
  store ptr %1206, ptr %33, align 8
  %1207 = extractvalue { ptr, i32 } %1205, 1
  store i32 %1207, ptr %34, align 4
  br label %1257

1208:                                             ; preds = %868
  %1209 = landingpad { ptr, i32 }
          cleanup
  %1210 = extractvalue { ptr, i32 } %1209, 0
  store ptr %1210, ptr %33, align 8
  %1211 = extractvalue { ptr, i32 } %1209, 1
  store i32 %1211, ptr %34, align 4
  br label %1244

1212:                                             ; preds = %869
  %1213 = landingpad { ptr, i32 }
          cleanup
  %1214 = extractvalue { ptr, i32 } %1213, 0
  store ptr %1214, ptr %33, align 8
  %1215 = extractvalue { ptr, i32 } %1213, 1
  store i32 %1215, ptr %34, align 4
  br label %1231

1216:                                             ; preds = %870
  %1217 = landingpad { ptr, i32 }
          cleanup
  %1218 = extractvalue { ptr, i32 } %1217, 0
  store ptr %1218, ptr %33, align 8
  %1219 = extractvalue { ptr, i32 } %1217, 1
  store i32 %1219, ptr %34, align 4
  br label %1227

1220:                                             ; preds = %871
  %1221 = landingpad { ptr, i32 }
          cleanup
  %1222 = extractvalue { ptr, i32 } %1221, 0
  store ptr %1222, ptr %33, align 8
  %1223 = extractvalue { ptr, i32 } %1221, 1
  store i32 %1223, ptr %34, align 4
  %1224 = load i1, ptr %182, align 1
  br i1 %1224, label %1225, label %1226

1225:                                             ; preds = %1220
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #4
  br label %1226

1226:                                             ; preds = %1225, %1220
  br label %1227

1227:                                             ; preds = %1226, %1216
  %1228 = load i1, ptr %181, align 1
  br i1 %1228, label %1229, label %1230

1229:                                             ; preds = %1227
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #4
  br label %1230

1230:                                             ; preds = %1229, %1227
  br label %1231

1231:                                             ; preds = %1230, %1212
  %1232 = load i1, ptr %180, align 1
  br i1 %1232, label %1233, label %1234

1233:                                             ; preds = %1231
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #4
  br label %1234

1234:                                             ; preds = %1233, %1231
  %1235 = load i1, ptr %179, align 1
  br i1 %1235, label %1236, label %1237

1236:                                             ; preds = %1234
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #4
  br label %1237

1237:                                             ; preds = %1236, %1234
  %1238 = load i1, ptr %177, align 1
  br i1 %1238, label %1239, label %1240

1239:                                             ; preds = %1237
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #4
  br label %1240

1240:                                             ; preds = %1239, %1237
  %1241 = load i1, ptr %175, align 1
  br i1 %1241, label %1242, label %1243

1242:                                             ; preds = %1240
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #4
  br label %1243

1243:                                             ; preds = %1242, %1240
  br label %1244

1244:                                             ; preds = %1243, %1208
  %1245 = load i1, ptr %174, align 1
  br i1 %1245, label %1246, label %1247

1246:                                             ; preds = %1244
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #4
  br label %1247

1247:                                             ; preds = %1246, %1244
  %1248 = load i1, ptr %173, align 1
  br i1 %1248, label %1249, label %1250

1249:                                             ; preds = %1247
  call void @llvm.lifetime.end.p0(i64 1, ptr %172) #4
  br label %1250

1250:                                             ; preds = %1249, %1247
  %1251 = load i1, ptr %171, align 1
  br i1 %1251, label %1252, label %1253

1252:                                             ; preds = %1250
  call void @llvm.lifetime.end.p0(i64 32, ptr %170) #4
  br label %1253

1253:                                             ; preds = %1252, %1250
  %1254 = load i1, ptr %168, align 1
  br i1 %1254, label %1255, label %1256

1255:                                             ; preds = %1253
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #4
  br label %1256

1256:                                             ; preds = %1255, %1253
  br label %1257

1257:                                             ; preds = %1256, %1204
  %1258 = load i1, ptr %167, align 1
  br i1 %1258, label %1259, label %1260

1259:                                             ; preds = %1257
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #4
  br label %1260

1260:                                             ; preds = %1259, %1257
  br label %1261

1261:                                             ; preds = %1260, %1200
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #4
  %1262 = load i1, ptr %165, align 1
  br i1 %1262, label %1263, label %1264

1263:                                             ; preds = %1261
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #4
  br label %1264

1264:                                             ; preds = %1263, %1261
  %1265 = load i1, ptr %163, align 1
  br i1 %1265, label %1266, label %1267

1266:                                             ; preds = %1264
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #4
  br label %1267

1267:                                             ; preds = %1266, %1264
  br label %1268

1268:                                             ; preds = %1267, %1196
  %1269 = load i1, ptr %162, align 1
  br i1 %1269, label %1270, label %1271

1270:                                             ; preds = %1268
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #4
  br label %1271

1271:                                             ; preds = %1270, %1268
  br label %1272

1272:                                             ; preds = %1271, %1192
  %1273 = load i1, ptr %161, align 1
  br i1 %1273, label %1274, label %1275

1274:                                             ; preds = %1272
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #4
  br label %1275

1275:                                             ; preds = %1274, %1272
  br label %1276

1276:                                             ; preds = %1275, %1188
  %1277 = load i1, ptr %160, align 1
  br i1 %1277, label %1278, label %1279

1278:                                             ; preds = %1276
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #4
  br label %1279

1279:                                             ; preds = %1278, %1276
  %1280 = load i1, ptr %159, align 1
  br i1 %1280, label %1281, label %1282

1281:                                             ; preds = %1279
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #4
  br label %1282

1282:                                             ; preds = %1281, %1279
  %1283 = load i1, ptr %157, align 1
  br i1 %1283, label %1284, label %1285

1284:                                             ; preds = %1282
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #4
  br label %1285

1285:                                             ; preds = %1284, %1282
  %1286 = load i1, ptr %155, align 1
  br i1 %1286, label %1287, label %1288

1287:                                             ; preds = %1285
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #4
  br label %1288

1288:                                             ; preds = %1287, %1285
  br label %1289

1289:                                             ; preds = %1288, %1184
  %1290 = load i1, ptr %154, align 1
  br i1 %1290, label %1291, label %1292

1291:                                             ; preds = %1289
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #4
  br label %1292

1292:                                             ; preds = %1291, %1289
  br label %1293

1293:                                             ; preds = %1292, %1180
  %1294 = load i1, ptr %153, align 1
  br i1 %1294, label %1295, label %1296

1295:                                             ; preds = %1293
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #4
  br label %1296

1296:                                             ; preds = %1295, %1293
  br label %1297

1297:                                             ; preds = %1296, %1176
  %1298 = load i1, ptr %152, align 1
  br i1 %1298, label %1299, label %1300

1299:                                             ; preds = %1297
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #4
  br label %1300

1300:                                             ; preds = %1299, %1297
  %1301 = load i1, ptr %151, align 1
  br i1 %1301, label %1302, label %1303

1302:                                             ; preds = %1300
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #4
  br label %1303

1303:                                             ; preds = %1302, %1300
  %1304 = load i1, ptr %149, align 1
  br i1 %1304, label %1305, label %1306

1305:                                             ; preds = %1303
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #4
  br label %1306

1306:                                             ; preds = %1305, %1303
  %1307 = load i1, ptr %147, align 1
  br i1 %1307, label %1308, label %1309

1308:                                             ; preds = %1306
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #4
  br label %1309

1309:                                             ; preds = %1308, %1306
  br label %1310

1310:                                             ; preds = %1309, %1172
  %1311 = load i1, ptr %146, align 1
  br i1 %1311, label %1312, label %1313

1312:                                             ; preds = %1310
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #4
  br label %1313

1313:                                             ; preds = %1312, %1310
  br label %1314

1314:                                             ; preds = %1313, %1168
  %1315 = load i1, ptr %145, align 1
  br i1 %1315, label %1316, label %1317

1316:                                             ; preds = %1314
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #4
  br label %1317

1317:                                             ; preds = %1316, %1314
  %1318 = load i1, ptr %144, align 1
  br i1 %1318, label %1319, label %1320

1319:                                             ; preds = %1317
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #4
  br label %1320

1320:                                             ; preds = %1319, %1317
  %1321 = load i1, ptr %142, align 1
  br i1 %1321, label %1322, label %1323

1322:                                             ; preds = %1320
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #4
  br label %1323

1323:                                             ; preds = %1322, %1320
  %1324 = load i1, ptr %140, align 1
  br i1 %1324, label %1325, label %1326

1325:                                             ; preds = %1323
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #4
  br label %1326

1326:                                             ; preds = %1325, %1323
  %1327 = load i1, ptr %138, align 1
  br i1 %1327, label %1328, label %1329

1328:                                             ; preds = %1326
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #4
  br label %1329

1329:                                             ; preds = %1328, %1326
  %1330 = load i1, ptr %136, align 1
  br i1 %1330, label %1331, label %1332

1331:                                             ; preds = %1329
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #4
  br label %1332

1332:                                             ; preds = %1331, %1329
  %1333 = load i1, ptr %134, align 1
  br i1 %1333, label %1334, label %1335

1334:                                             ; preds = %1332
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #4
  br label %1335

1335:                                             ; preds = %1334, %1332
  %1336 = load i1, ptr %132, align 1
  br i1 %1336, label %1337, label %1338

1337:                                             ; preds = %1335
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #4
  br label %1338

1338:                                             ; preds = %1337, %1335
  br label %1677

1339:                                             ; preds = %978
  store double 1.000000e+32, ptr %13, align 8, !tbaa !9
  br label %1340

1340:                                             ; preds = %1339, %985
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #4
  %1341 = load ptr, ptr %6, align 8, !tbaa !5
  %1342 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %1341)
  %1343 = load ptr, ptr %6, align 8, !tbaa !5
  %1344 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1343)
  %1345 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %1342, i32 noundef 1, i1 noundef zeroext %1344)
  store double %1345, ptr %183, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #4
  %1346 = load ptr, ptr %5, align 8, !tbaa !5
  %1347 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %1346)
  %1348 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %1347, i32 noundef 1, i1 noundef zeroext false)
  store double %1348, ptr %184, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #4
  %1349 = load ptr, ptr %7, align 8, !tbaa !5
  %1350 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %1349)
  %1351 = load ptr, ptr %7, align 8, !tbaa !5
  %1352 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1351)
  %1353 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %1350, i32 noundef 1, i1 noundef zeroext %1352)
  store double %1353, ptr %185, align 8, !tbaa !9
  %1354 = load double, ptr %183, align 8, !tbaa !9
  %1355 = load double, ptr %184, align 8, !tbaa !9
  %1356 = fmul double %1354, %1355
  %1357 = load double, ptr %185, align 8, !tbaa !9
  %1358 = fmul double %1356, %1357
  %1359 = fcmp une double %1358, 0.000000e+00
  store i1 false, ptr %188, align 1
  store i1 false, ptr %190, align 1
  store i1 false, ptr %192, align 1
  store i1 false, ptr %194, align 1
  store i1 false, ptr %196, align 1
  store i1 false, ptr %198, align 1
  store i1 false, ptr %200, align 1
  store i1 false, ptr %201, align 1
  store i1 false, ptr %202, align 1
  store i1 false, ptr %203, align 1
  store i1 false, ptr %205, align 1
  store i1 false, ptr %207, align 1
  store i1 false, ptr %208, align 1
  store i1 false, ptr %209, align 1
  store i1 false, ptr %210, align 1
  store i1 false, ptr %211, align 1
  store i1 false, ptr %213, align 1
  store i1 false, ptr %215, align 1
  store i1 false, ptr %216, align 1
  store i1 false, ptr %217, align 1
  store i1 false, ptr %218, align 1
  store i1 false, ptr %219, align 1
  store i1 false, ptr %221, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #4
  store i1 false, ptr %223, align 1
  store i1 false, ptr %224, align 1
  store i1 false, ptr %227, align 1
  store i1 false, ptr %229, align 1
  store i1 false, ptr %230, align 1
  store i1 false, ptr %231, align 1
  store i1 false, ptr %233, align 1
  store i1 false, ptr %235, align 1
  store i1 false, ptr %236, align 1
  store i1 false, ptr %237, align 1
  store i1 false, ptr %238, align 1
  br i1 %1359, label %1376, label %1360

1360:                                             ; preds = %1340
  call void @llvm.lifetime.start.p0(i64 32, ptr %187) #4
  store i1 true, ptr %188, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %189) #4
  store i1 true, ptr %190, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #4
  store i1 true, ptr %192, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %193) #4
  store i1 true, ptr %194, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %195) #4
  store i1 true, ptr %196, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %197) #4
  store i1 true, ptr %198, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %199) #4
  store i1 true, ptr %200, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %199) #4
  store i1 true, ptr %201, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %197, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %199)
          to label %1361 unwind label %1499

1361:                                             ; preds = %1360
  store i1 true, ptr %202, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %195, ptr noundef nonnull align 8 dereferenceable(32) %197, ptr noundef @.str.1)
          to label %1362 unwind label %1503

1362:                                             ; preds = %1361
  store i1 true, ptr %203, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %204) #4
  store i1 true, ptr %205, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %206) #4
  store i1 true, ptr %207, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #4
  store i1 true, ptr %208, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %206)
          to label %1363 unwind label %1507

1363:                                             ; preds = %1362
  store i1 true, ptr %209, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %193, ptr noundef nonnull align 8 dereferenceable(32) %195, ptr noundef nonnull align 8 dereferenceable(32) %204)
          to label %1364 unwind label %1511

1364:                                             ; preds = %1363
  store i1 true, ptr %210, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %191, ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef @.str.2)
          to label %1365 unwind label %1515

1365:                                             ; preds = %1364
  store i1 true, ptr %211, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %212) #4
  store i1 true, ptr %213, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %214) #4
  store i1 true, ptr %215, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #4
  store i1 true, ptr %216, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %212, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %214)
          to label %1366 unwind label %1519

1366:                                             ; preds = %1365
  store i1 true, ptr %217, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %189, ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef nonnull align 8 dereferenceable(32) %212)
          to label %1367 unwind label %1523

1367:                                             ; preds = %1366
  store i1 true, ptr %218, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %187, ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef @.str.4)
          to label %1368 unwind label %1527

1368:                                             ; preds = %1367
  store i1 true, ptr %219, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %220) #4
  store i1 true, ptr %221, align 1
  store i32 93, ptr %222, align 4, !tbaa !28
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %220, ptr noundef nonnull align 4 dereferenceable(4) %222)
          to label %1369 unwind label %1531

1369:                                             ; preds = %1368
  store i1 true, ptr %223, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %186, ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef nonnull align 8 dereferenceable(32) %220)
          to label %1370 unwind label %1535

1370:                                             ; preds = %1369
  store i1 true, ptr %224, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %226) #4
  store i1 true, ptr %227, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %228) #4
  store i1 true, ptr %229, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %228) #4
  store i1 true, ptr %230, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %226, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %228)
          to label %1371 unwind label %1539

1371:                                             ; preds = %1370
  store i1 true, ptr %231, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %232) #4
  store i1 true, ptr %233, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %234) #4
  store i1 true, ptr %235, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %234) #4
  store i1 true, ptr %236, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %232, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %234)
          to label %1372 unwind label %1543

1372:                                             ; preds = %1371
  store i1 true, ptr %237, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %225, ptr noundef nonnull align 8 dereferenceable(32) %226, ptr noundef nonnull align 8 dereferenceable(32) %232)
          to label %1373 unwind label %1547

1373:                                             ; preds = %1372
  store i1 true, ptr %238, align 1
  %1374 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %186, ptr noundef %225, i32 noundef 0)
          to label %1375 unwind label %1551

1375:                                             ; preds = %1373
  br label %1376

1376:                                             ; preds = %1375, %1340
  %1377 = phi i1 [ true, %1340 ], [ %1374, %1375 ]
  %1378 = xor i1 %1377, true
  %1379 = load i1, ptr %238, align 1
  br i1 %1379, label %1380, label %1381

1380:                                             ; preds = %1376
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #4
  br label %1381

1381:                                             ; preds = %1380, %1376
  %1382 = load i1, ptr %237, align 1
  br i1 %1382, label %1383, label %1384

1383:                                             ; preds = %1381
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %232) #4
  br label %1384

1384:                                             ; preds = %1383, %1381
  %1385 = load i1, ptr %236, align 1
  br i1 %1385, label %1386, label %1387

1386:                                             ; preds = %1384
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %234) #4
  br label %1387

1387:                                             ; preds = %1386, %1384
  %1388 = load i1, ptr %235, align 1
  br i1 %1388, label %1389, label %1390

1389:                                             ; preds = %1387
  call void @llvm.lifetime.end.p0(i64 1, ptr %234) #4
  br label %1390

1390:                                             ; preds = %1389, %1387
  %1391 = load i1, ptr %233, align 1
  br i1 %1391, label %1392, label %1393

1392:                                             ; preds = %1390
  call void @llvm.lifetime.end.p0(i64 32, ptr %232) #4
  br label %1393

1393:                                             ; preds = %1392, %1390
  %1394 = load i1, ptr %231, align 1
  br i1 %1394, label %1395, label %1396

1395:                                             ; preds = %1393
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %226) #4
  br label %1396

1396:                                             ; preds = %1395, %1393
  %1397 = load i1, ptr %230, align 1
  br i1 %1397, label %1398, label %1399

1398:                                             ; preds = %1396
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %228) #4
  br label %1399

1399:                                             ; preds = %1398, %1396
  %1400 = load i1, ptr %229, align 1
  br i1 %1400, label %1401, label %1402

1401:                                             ; preds = %1399
  call void @llvm.lifetime.end.p0(i64 1, ptr %228) #4
  br label %1402

1402:                                             ; preds = %1401, %1399
  %1403 = load i1, ptr %227, align 1
  br i1 %1403, label %1404, label %1405

1404:                                             ; preds = %1402
  call void @llvm.lifetime.end.p0(i64 32, ptr %226) #4
  br label %1405

1405:                                             ; preds = %1404, %1402
  %1406 = load i1, ptr %224, align 1
  br i1 %1406, label %1407, label %1408

1407:                                             ; preds = %1405
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #4
  br label %1408

1408:                                             ; preds = %1407, %1405
  %1409 = load i1, ptr %223, align 1
  br i1 %1409, label %1410, label %1411

1410:                                             ; preds = %1408
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #4
  br label %1411

1411:                                             ; preds = %1410, %1408
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #4
  %1412 = load i1, ptr %221, align 1
  br i1 %1412, label %1413, label %1414

1413:                                             ; preds = %1411
  call void @llvm.lifetime.end.p0(i64 32, ptr %220) #4
  br label %1414

1414:                                             ; preds = %1413, %1411
  %1415 = load i1, ptr %219, align 1
  br i1 %1415, label %1416, label %1417

1416:                                             ; preds = %1414
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #4
  br label %1417

1417:                                             ; preds = %1416, %1414
  %1418 = load i1, ptr %218, align 1
  br i1 %1418, label %1419, label %1420

1419:                                             ; preds = %1417
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #4
  br label %1420

1420:                                             ; preds = %1419, %1417
  %1421 = load i1, ptr %217, align 1
  br i1 %1421, label %1422, label %1423

1422:                                             ; preds = %1420
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #4
  br label %1423

1423:                                             ; preds = %1422, %1420
  %1424 = load i1, ptr %216, align 1
  br i1 %1424, label %1425, label %1426

1425:                                             ; preds = %1423
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #4
  br label %1426

1426:                                             ; preds = %1425, %1423
  %1427 = load i1, ptr %215, align 1
  br i1 %1427, label %1428, label %1429

1428:                                             ; preds = %1426
  call void @llvm.lifetime.end.p0(i64 1, ptr %214) #4
  br label %1429

1429:                                             ; preds = %1428, %1426
  %1430 = load i1, ptr %213, align 1
  br i1 %1430, label %1431, label %1432

1431:                                             ; preds = %1429
  call void @llvm.lifetime.end.p0(i64 32, ptr %212) #4
  br label %1432

1432:                                             ; preds = %1431, %1429
  %1433 = load i1, ptr %211, align 1
  br i1 %1433, label %1434, label %1435

1434:                                             ; preds = %1432
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #4
  br label %1435

1435:                                             ; preds = %1434, %1432
  %1436 = load i1, ptr %210, align 1
  br i1 %1436, label %1437, label %1438

1437:                                             ; preds = %1435
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #4
  br label %1438

1438:                                             ; preds = %1437, %1435
  %1439 = load i1, ptr %209, align 1
  br i1 %1439, label %1440, label %1441

1440:                                             ; preds = %1438
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #4
  br label %1441

1441:                                             ; preds = %1440, %1438
  %1442 = load i1, ptr %208, align 1
  br i1 %1442, label %1443, label %1444

1443:                                             ; preds = %1441
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #4
  br label %1444

1444:                                             ; preds = %1443, %1441
  %1445 = load i1, ptr %207, align 1
  br i1 %1445, label %1446, label %1447

1446:                                             ; preds = %1444
  call void @llvm.lifetime.end.p0(i64 1, ptr %206) #4
  br label %1447

1447:                                             ; preds = %1446, %1444
  %1448 = load i1, ptr %205, align 1
  br i1 %1448, label %1449, label %1450

1449:                                             ; preds = %1447
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #4
  br label %1450

1450:                                             ; preds = %1449, %1447
  %1451 = load i1, ptr %203, align 1
  br i1 %1451, label %1452, label %1453

1452:                                             ; preds = %1450
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #4
  br label %1453

1453:                                             ; preds = %1452, %1450
  %1454 = load i1, ptr %202, align 1
  br i1 %1454, label %1455, label %1456

1455:                                             ; preds = %1453
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %197) #4
  br label %1456

1456:                                             ; preds = %1455, %1453
  %1457 = load i1, ptr %201, align 1
  br i1 %1457, label %1458, label %1459

1458:                                             ; preds = %1456
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %199) #4
  br label %1459

1459:                                             ; preds = %1458, %1456
  %1460 = load i1, ptr %200, align 1
  br i1 %1460, label %1461, label %1462

1461:                                             ; preds = %1459
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #4
  br label %1462

1462:                                             ; preds = %1461, %1459
  %1463 = load i1, ptr %198, align 1
  br i1 %1463, label %1464, label %1465

1464:                                             ; preds = %1462
  call void @llvm.lifetime.end.p0(i64 32, ptr %197) #4
  br label %1465

1465:                                             ; preds = %1464, %1462
  %1466 = load i1, ptr %196, align 1
  br i1 %1466, label %1467, label %1468

1467:                                             ; preds = %1465
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #4
  br label %1468

1468:                                             ; preds = %1467, %1465
  %1469 = load i1, ptr %194, align 1
  br i1 %1469, label %1470, label %1471

1470:                                             ; preds = %1468
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #4
  br label %1471

1471:                                             ; preds = %1470, %1468
  %1472 = load i1, ptr %192, align 1
  br i1 %1472, label %1473, label %1474

1473:                                             ; preds = %1471
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #4
  br label %1474

1474:                                             ; preds = %1473, %1471
  %1475 = load i1, ptr %190, align 1
  br i1 %1475, label %1476, label %1477

1476:                                             ; preds = %1474
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #4
  br label %1477

1477:                                             ; preds = %1476, %1474
  %1478 = load i1, ptr %188, align 1
  br i1 %1478, label %1479, label %1480

1479:                                             ; preds = %1477
  call void @llvm.lifetime.end.p0(i64 32, ptr %187) #4
  br label %1480

1480:                                             ; preds = %1479, %1477
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #4
  store double 1.000000e+32, ptr %239, align 8, !tbaa !9
  %1481 = load double, ptr %183, align 8, !tbaa !9
  %1482 = load double, ptr %184, align 8, !tbaa !9
  %1483 = fmul double %1481, %1482
  %1484 = load double, ptr %185, align 8, !tbaa !9
  %1485 = fmul double %1483, %1484
  %1486 = fcmp ogt double %1485, 0.000000e+00
  br i1 %1486, label %1487, label %1670

1487:                                             ; preds = %1480
  %1488 = load double, ptr %10, align 8, !tbaa !9
  %1489 = load double, ptr %184, align 8, !tbaa !9
  %1490 = fdiv double %1488, %1489
  %1491 = load double, ptr %8, align 8, !tbaa !9
  %1492 = load double, ptr %183, align 8, !tbaa !9
  %1493 = fdiv double %1491, %1492
  %1494 = fadd double %1490, %1493
  %1495 = load double, ptr %9, align 8, !tbaa !9
  %1496 = load double, ptr %185, align 8, !tbaa !9
  %1497 = fdiv double %1495, %1496
  %1498 = fadd double %1494, %1497
  store double %1498, ptr %239, align 8, !tbaa !9
  br label %1670

1499:                                             ; preds = %1360
  %1500 = landingpad { ptr, i32 }
          cleanup
  %1501 = extractvalue { ptr, i32 } %1500, 0
  store ptr %1501, ptr %33, align 8
  %1502 = extractvalue { ptr, i32 } %1500, 1
  store i32 %1502, ptr %34, align 4
  br label %1645

1503:                                             ; preds = %1361
  %1504 = landingpad { ptr, i32 }
          cleanup
  %1505 = extractvalue { ptr, i32 } %1504, 0
  store ptr %1505, ptr %33, align 8
  %1506 = extractvalue { ptr, i32 } %1504, 1
  store i32 %1506, ptr %34, align 4
  br label %1641

1507:                                             ; preds = %1362
  %1508 = landingpad { ptr, i32 }
          cleanup
  %1509 = extractvalue { ptr, i32 } %1508, 0
  store ptr %1509, ptr %33, align 8
  %1510 = extractvalue { ptr, i32 } %1508, 1
  store i32 %1510, ptr %34, align 4
  br label %1628

1511:                                             ; preds = %1363
  %1512 = landingpad { ptr, i32 }
          cleanup
  %1513 = extractvalue { ptr, i32 } %1512, 0
  store ptr %1513, ptr %33, align 8
  %1514 = extractvalue { ptr, i32 } %1512, 1
  store i32 %1514, ptr %34, align 4
  br label %1624

1515:                                             ; preds = %1364
  %1516 = landingpad { ptr, i32 }
          cleanup
  %1517 = extractvalue { ptr, i32 } %1516, 0
  store ptr %1517, ptr %33, align 8
  %1518 = extractvalue { ptr, i32 } %1516, 1
  store i32 %1518, ptr %34, align 4
  br label %1620

1519:                                             ; preds = %1365
  %1520 = landingpad { ptr, i32 }
          cleanup
  %1521 = extractvalue { ptr, i32 } %1520, 0
  store ptr %1521, ptr %33, align 8
  %1522 = extractvalue { ptr, i32 } %1520, 1
  store i32 %1522, ptr %34, align 4
  br label %1607

1523:                                             ; preds = %1366
  %1524 = landingpad { ptr, i32 }
          cleanup
  %1525 = extractvalue { ptr, i32 } %1524, 0
  store ptr %1525, ptr %33, align 8
  %1526 = extractvalue { ptr, i32 } %1524, 1
  store i32 %1526, ptr %34, align 4
  br label %1603

1527:                                             ; preds = %1367
  %1528 = landingpad { ptr, i32 }
          cleanup
  %1529 = extractvalue { ptr, i32 } %1528, 0
  store ptr %1529, ptr %33, align 8
  %1530 = extractvalue { ptr, i32 } %1528, 1
  store i32 %1530, ptr %34, align 4
  br label %1599

1531:                                             ; preds = %1368
  %1532 = landingpad { ptr, i32 }
          cleanup
  %1533 = extractvalue { ptr, i32 } %1532, 0
  store ptr %1533, ptr %33, align 8
  %1534 = extractvalue { ptr, i32 } %1532, 1
  store i32 %1534, ptr %34, align 4
  br label %1592

1535:                                             ; preds = %1369
  %1536 = landingpad { ptr, i32 }
          cleanup
  %1537 = extractvalue { ptr, i32 } %1536, 0
  store ptr %1537, ptr %33, align 8
  %1538 = extractvalue { ptr, i32 } %1536, 1
  store i32 %1538, ptr %34, align 4
  br label %1588

1539:                                             ; preds = %1370
  %1540 = landingpad { ptr, i32 }
          cleanup
  %1541 = extractvalue { ptr, i32 } %1540, 0
  store ptr %1541, ptr %33, align 8
  %1542 = extractvalue { ptr, i32 } %1540, 1
  store i32 %1542, ptr %34, align 4
  br label %1575

1543:                                             ; preds = %1371
  %1544 = landingpad { ptr, i32 }
          cleanup
  %1545 = extractvalue { ptr, i32 } %1544, 0
  store ptr %1545, ptr %33, align 8
  %1546 = extractvalue { ptr, i32 } %1544, 1
  store i32 %1546, ptr %34, align 4
  br label %1562

1547:                                             ; preds = %1372
  %1548 = landingpad { ptr, i32 }
          cleanup
  %1549 = extractvalue { ptr, i32 } %1548, 0
  store ptr %1549, ptr %33, align 8
  %1550 = extractvalue { ptr, i32 } %1548, 1
  store i32 %1550, ptr %34, align 4
  br label %1558

1551:                                             ; preds = %1373
  %1552 = landingpad { ptr, i32 }
          cleanup
  %1553 = extractvalue { ptr, i32 } %1552, 0
  store ptr %1553, ptr %33, align 8
  %1554 = extractvalue { ptr, i32 } %1552, 1
  store i32 %1554, ptr %34, align 4
  %1555 = load i1, ptr %238, align 1
  br i1 %1555, label %1556, label %1557

1556:                                             ; preds = %1551
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #4
  br label %1557

1557:                                             ; preds = %1556, %1551
  br label %1558

1558:                                             ; preds = %1557, %1547
  %1559 = load i1, ptr %237, align 1
  br i1 %1559, label %1560, label %1561

1560:                                             ; preds = %1558
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %232) #4
  br label %1561

1561:                                             ; preds = %1560, %1558
  br label %1562

1562:                                             ; preds = %1561, %1543
  %1563 = load i1, ptr %236, align 1
  br i1 %1563, label %1564, label %1565

1564:                                             ; preds = %1562
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %234) #4
  br label %1565

1565:                                             ; preds = %1564, %1562
  %1566 = load i1, ptr %235, align 1
  br i1 %1566, label %1567, label %1568

1567:                                             ; preds = %1565
  call void @llvm.lifetime.end.p0(i64 1, ptr %234) #4
  br label %1568

1568:                                             ; preds = %1567, %1565
  %1569 = load i1, ptr %233, align 1
  br i1 %1569, label %1570, label %1571

1570:                                             ; preds = %1568
  call void @llvm.lifetime.end.p0(i64 32, ptr %232) #4
  br label %1571

1571:                                             ; preds = %1570, %1568
  %1572 = load i1, ptr %231, align 1
  br i1 %1572, label %1573, label %1574

1573:                                             ; preds = %1571
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %226) #4
  br label %1574

1574:                                             ; preds = %1573, %1571
  br label %1575

1575:                                             ; preds = %1574, %1539
  %1576 = load i1, ptr %230, align 1
  br i1 %1576, label %1577, label %1578

1577:                                             ; preds = %1575
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %228) #4
  br label %1578

1578:                                             ; preds = %1577, %1575
  %1579 = load i1, ptr %229, align 1
  br i1 %1579, label %1580, label %1581

1580:                                             ; preds = %1578
  call void @llvm.lifetime.end.p0(i64 1, ptr %228) #4
  br label %1581

1581:                                             ; preds = %1580, %1578
  %1582 = load i1, ptr %227, align 1
  br i1 %1582, label %1583, label %1584

1583:                                             ; preds = %1581
  call void @llvm.lifetime.end.p0(i64 32, ptr %226) #4
  br label %1584

1584:                                             ; preds = %1583, %1581
  %1585 = load i1, ptr %224, align 1
  br i1 %1585, label %1586, label %1587

1586:                                             ; preds = %1584
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #4
  br label %1587

1587:                                             ; preds = %1586, %1584
  br label %1588

1588:                                             ; preds = %1587, %1535
  %1589 = load i1, ptr %223, align 1
  br i1 %1589, label %1590, label %1591

1590:                                             ; preds = %1588
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #4
  br label %1591

1591:                                             ; preds = %1590, %1588
  br label %1592

1592:                                             ; preds = %1591, %1531
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #4
  %1593 = load i1, ptr %221, align 1
  br i1 %1593, label %1594, label %1595

1594:                                             ; preds = %1592
  call void @llvm.lifetime.end.p0(i64 32, ptr %220) #4
  br label %1595

1595:                                             ; preds = %1594, %1592
  %1596 = load i1, ptr %219, align 1
  br i1 %1596, label %1597, label %1598

1597:                                             ; preds = %1595
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #4
  br label %1598

1598:                                             ; preds = %1597, %1595
  br label %1599

1599:                                             ; preds = %1598, %1527
  %1600 = load i1, ptr %218, align 1
  br i1 %1600, label %1601, label %1602

1601:                                             ; preds = %1599
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #4
  br label %1602

1602:                                             ; preds = %1601, %1599
  br label %1603

1603:                                             ; preds = %1602, %1523
  %1604 = load i1, ptr %217, align 1
  br i1 %1604, label %1605, label %1606

1605:                                             ; preds = %1603
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #4
  br label %1606

1606:                                             ; preds = %1605, %1603
  br label %1607

1607:                                             ; preds = %1606, %1519
  %1608 = load i1, ptr %216, align 1
  br i1 %1608, label %1609, label %1610

1609:                                             ; preds = %1607
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #4
  br label %1610

1610:                                             ; preds = %1609, %1607
  %1611 = load i1, ptr %215, align 1
  br i1 %1611, label %1612, label %1613

1612:                                             ; preds = %1610
  call void @llvm.lifetime.end.p0(i64 1, ptr %214) #4
  br label %1613

1613:                                             ; preds = %1612, %1610
  %1614 = load i1, ptr %213, align 1
  br i1 %1614, label %1615, label %1616

1615:                                             ; preds = %1613
  call void @llvm.lifetime.end.p0(i64 32, ptr %212) #4
  br label %1616

1616:                                             ; preds = %1615, %1613
  %1617 = load i1, ptr %211, align 1
  br i1 %1617, label %1618, label %1619

1618:                                             ; preds = %1616
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #4
  br label %1619

1619:                                             ; preds = %1618, %1616
  br label %1620

1620:                                             ; preds = %1619, %1515
  %1621 = load i1, ptr %210, align 1
  br i1 %1621, label %1622, label %1623

1622:                                             ; preds = %1620
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #4
  br label %1623

1623:                                             ; preds = %1622, %1620
  br label %1624

1624:                                             ; preds = %1623, %1511
  %1625 = load i1, ptr %209, align 1
  br i1 %1625, label %1626, label %1627

1626:                                             ; preds = %1624
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #4
  br label %1627

1627:                                             ; preds = %1626, %1624
  br label %1628

1628:                                             ; preds = %1627, %1507
  %1629 = load i1, ptr %208, align 1
  br i1 %1629, label %1630, label %1631

1630:                                             ; preds = %1628
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #4
  br label %1631

1631:                                             ; preds = %1630, %1628
  %1632 = load i1, ptr %207, align 1
  br i1 %1632, label %1633, label %1634

1633:                                             ; preds = %1631
  call void @llvm.lifetime.end.p0(i64 1, ptr %206) #4
  br label %1634

1634:                                             ; preds = %1633, %1631
  %1635 = load i1, ptr %205, align 1
  br i1 %1635, label %1636, label %1637

1636:                                             ; preds = %1634
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #4
  br label %1637

1637:                                             ; preds = %1636, %1634
  %1638 = load i1, ptr %203, align 1
  br i1 %1638, label %1639, label %1640

1639:                                             ; preds = %1637
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #4
  br label %1640

1640:                                             ; preds = %1639, %1637
  br label %1641

1641:                                             ; preds = %1640, %1503
  %1642 = load i1, ptr %202, align 1
  br i1 %1642, label %1643, label %1644

1643:                                             ; preds = %1641
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %197) #4
  br label %1644

1644:                                             ; preds = %1643, %1641
  br label %1645

1645:                                             ; preds = %1644, %1499
  %1646 = load i1, ptr %201, align 1
  br i1 %1646, label %1647, label %1648

1647:                                             ; preds = %1645
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %199) #4
  br label %1648

1648:                                             ; preds = %1647, %1645
  %1649 = load i1, ptr %200, align 1
  br i1 %1649, label %1650, label %1651

1650:                                             ; preds = %1648
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #4
  br label %1651

1651:                                             ; preds = %1650, %1648
  %1652 = load i1, ptr %198, align 1
  br i1 %1652, label %1653, label %1654

1653:                                             ; preds = %1651
  call void @llvm.lifetime.end.p0(i64 32, ptr %197) #4
  br label %1654

1654:                                             ; preds = %1653, %1651
  %1655 = load i1, ptr %196, align 1
  br i1 %1655, label %1656, label %1657

1656:                                             ; preds = %1654
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #4
  br label %1657

1657:                                             ; preds = %1656, %1654
  %1658 = load i1, ptr %194, align 1
  br i1 %1658, label %1659, label %1660

1659:                                             ; preds = %1657
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #4
  br label %1660

1660:                                             ; preds = %1659, %1657
  %1661 = load i1, ptr %192, align 1
  br i1 %1661, label %1662, label %1663

1662:                                             ; preds = %1660
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #4
  br label %1663

1663:                                             ; preds = %1662, %1660
  %1664 = load i1, ptr %190, align 1
  br i1 %1664, label %1665, label %1666

1665:                                             ; preds = %1663
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #4
  br label %1666

1666:                                             ; preds = %1665, %1663
  %1667 = load i1, ptr %188, align 1
  br i1 %1667, label %1668, label %1669

1668:                                             ; preds = %1666
  call void @llvm.lifetime.end.p0(i64 32, ptr %187) #4
  br label %1669

1669:                                             ; preds = %1668, %1666
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #4
  br label %1677

1670:                                             ; preds = %1487, %1480
  %1671 = load double, ptr %13, align 8, !tbaa !9
  %1672 = fdiv double 1.000000e+00, %1671
  %1673 = load double, ptr %239, align 8, !tbaa !9
  %1674 = fdiv double 1.000000e+00, %1673
  %1675 = fadd double %1672, %1674
  %1676 = fdiv double 1.000000e+00, %1675
  store double %1676, ptr %13, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #4
  br label %1715

1677:                                             ; preds = %1669, %1338, %1167
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #4
  br label %2016

1678:                                             ; preds = %710
  call void @llvm.lifetime.start.p0(i64 8, ptr %240) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %241) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %242) #4
  %1679 = load ptr, ptr %6, align 8, !tbaa !5
  %1680 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %1679)
  %1681 = load ptr, ptr %4, align 8, !tbaa !5
  %1682 = load ptr, ptr %6, align 8, !tbaa !5
  %1683 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1682)
  %1684 = call noundef double @_ZNK9ElemModel14getConductanceERK5Fluidb(ptr noundef nonnull align 8 dereferenceable(152) %1680, ptr noundef nonnull align 8 dereferenceable(80) %1681, i1 noundef zeroext %1683)
  store double %1684, ptr %240, align 8, !tbaa !9
  %1685 = load ptr, ptr %5, align 8, !tbaa !5
  %1686 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %1685)
  %1687 = load ptr, ptr %4, align 8, !tbaa !5
  %1688 = call noundef double @_ZNK9ElemModel14getConductanceERK5Fluidb(ptr noundef nonnull align 8 dereferenceable(152) %1686, ptr noundef nonnull align 8 dereferenceable(80) %1687, i1 noundef zeroext false)
  store double %1688, ptr %241, align 8, !tbaa !9
  %1689 = load ptr, ptr %7, align 8, !tbaa !5
  %1690 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %1689)
  %1691 = load ptr, ptr %4, align 8, !tbaa !5
  %1692 = load ptr, ptr %7, align 8, !tbaa !5
  %1693 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1692)
  %1694 = call noundef double @_ZNK9ElemModel14getConductanceERK5Fluidb(ptr noundef nonnull align 8 dereferenceable(152) %1690, ptr noundef nonnull align 8 dereferenceable(80) %1691, i1 noundef zeroext %1693)
  store double %1694, ptr %242, align 8, !tbaa !9
  %1695 = load double, ptr %240, align 8, !tbaa !9
  %1696 = load double, ptr %241, align 8, !tbaa !9
  %1697 = fmul double %1695, %1696
  %1698 = load double, ptr %242, align 8, !tbaa !9
  %1699 = fmul double %1697, %1698
  %1700 = fcmp ole double %1699, 1.000000e-150
  br i1 %1700, label %1701, label %1702

1701:                                             ; preds = %1678
  store double 5.000000e+49, ptr %13, align 8, !tbaa !9
  br label %1714

1702:                                             ; preds = %1678
  %1703 = load double, ptr %10, align 8, !tbaa !9
  %1704 = load double, ptr %241, align 8, !tbaa !9
  %1705 = fdiv double %1703, %1704
  %1706 = load double, ptr %8, align 8, !tbaa !9
  %1707 = load double, ptr %240, align 8, !tbaa !9
  %1708 = fdiv double %1706, %1707
  %1709 = fadd double %1705, %1708
  %1710 = load double, ptr %9, align 8, !tbaa !9
  %1711 = load double, ptr %242, align 8, !tbaa !9
  %1712 = fdiv double %1710, %1711
  %1713 = fadd double %1709, %1712
  store double %1713, ptr %13, align 8, !tbaa !9
  br label %1714

1714:                                             ; preds = %1702, %1701
  call void @llvm.lifetime.end.p0(i64 8, ptr %242) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %241) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #4
  br label %1715

1715:                                             ; preds = %1714, %1670
  br label %1716

1716:                                             ; preds = %1715, %496
  %1717 = load double, ptr %13, align 8, !tbaa !9
  %1718 = fcmp ogt double %1717, 0.000000e+00
  store i1 false, ptr %245, align 1
  store i1 false, ptr %247, align 1
  store i1 false, ptr %249, align 1
  store i1 false, ptr %251, align 1
  store i1 false, ptr %253, align 1
  store i1 false, ptr %255, align 1
  store i1 false, ptr %257, align 1
  store i1 false, ptr %258, align 1
  store i1 false, ptr %259, align 1
  store i1 false, ptr %260, align 1
  store i1 false, ptr %262, align 1
  store i1 false, ptr %264, align 1
  store i1 false, ptr %265, align 1
  store i1 false, ptr %266, align 1
  store i1 false, ptr %267, align 1
  store i1 false, ptr %268, align 1
  store i1 false, ptr %270, align 1
  store i1 false, ptr %272, align 1
  store i1 false, ptr %273, align 1
  store i1 false, ptr %274, align 1
  store i1 false, ptr %275, align 1
  store i1 false, ptr %276, align 1
  store i1 false, ptr %278, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #4
  store i1 false, ptr %280, align 1
  store i1 false, ptr %281, align 1
  store i1 false, ptr %284, align 1
  store i1 false, ptr %286, align 1
  store i1 false, ptr %287, align 1
  store i1 false, ptr %288, align 1
  store i1 false, ptr %290, align 1
  store i1 false, ptr %292, align 1
  store i1 false, ptr %293, align 1
  store i1 false, ptr %294, align 1
  store i1 false, ptr %295, align 1
  br i1 %1718, label %1735, label %1719

1719:                                             ; preds = %1716
  call void @llvm.lifetime.start.p0(i64 32, ptr %244) #4
  store i1 true, ptr %245, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %246) #4
  store i1 true, ptr %247, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %248) #4
  store i1 true, ptr %249, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %250) #4
  store i1 true, ptr %251, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %252) #4
  store i1 true, ptr %253, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %254) #4
  store i1 true, ptr %255, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %256) #4
  store i1 true, ptr %257, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %256) #4
  store i1 true, ptr %258, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %254, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %256)
          to label %1720 unwind label %1845

1720:                                             ; preds = %1719
  store i1 true, ptr %259, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %252, ptr noundef nonnull align 8 dereferenceable(32) %254, ptr noundef @.str.1)
          to label %1721 unwind label %1849

1721:                                             ; preds = %1720
  store i1 true, ptr %260, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %261) #4
  store i1 true, ptr %262, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %263) #4
  store i1 true, ptr %264, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %263) #4
  store i1 true, ptr %265, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %261, ptr noundef @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %263)
          to label %1722 unwind label %1853

1722:                                             ; preds = %1721
  store i1 true, ptr %266, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %250, ptr noundef nonnull align 8 dereferenceable(32) %252, ptr noundef nonnull align 8 dereferenceable(32) %261)
          to label %1723 unwind label %1857

1723:                                             ; preds = %1722
  store i1 true, ptr %267, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %248, ptr noundef nonnull align 8 dereferenceable(32) %250, ptr noundef @.str.2)
          to label %1724 unwind label %1861

1724:                                             ; preds = %1723
  store i1 true, ptr %268, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %269) #4
  store i1 true, ptr %270, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %271) #4
  store i1 true, ptr %272, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %271) #4
  store i1 true, ptr %273, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %269, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %271)
          to label %1725 unwind label %1865

1725:                                             ; preds = %1724
  store i1 true, ptr %274, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %246, ptr noundef nonnull align 8 dereferenceable(32) %248, ptr noundef nonnull align 8 dereferenceable(32) %269)
          to label %1726 unwind label %1869

1726:                                             ; preds = %1725
  store i1 true, ptr %275, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %244, ptr noundef nonnull align 8 dereferenceable(32) %246, ptr noundef @.str.4)
          to label %1727 unwind label %1873

1727:                                             ; preds = %1726
  store i1 true, ptr %276, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %277) #4
  store i1 true, ptr %278, align 1
  store i32 133, ptr %279, align 4, !tbaa !28
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %277, ptr noundef nonnull align 4 dereferenceable(4) %279)
          to label %1728 unwind label %1877

1728:                                             ; preds = %1727
  store i1 true, ptr %280, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %243, ptr noundef nonnull align 8 dereferenceable(32) %244, ptr noundef nonnull align 8 dereferenceable(32) %277)
          to label %1729 unwind label %1881

1729:                                             ; preds = %1728
  store i1 true, ptr %281, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %283) #4
  store i1 true, ptr %284, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %285) #4
  store i1 true, ptr %286, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %285) #4
  store i1 true, ptr %287, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %283, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %285)
          to label %1730 unwind label %1885

1730:                                             ; preds = %1729
  store i1 true, ptr %288, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %289) #4
  store i1 true, ptr %290, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %291) #4
  store i1 true, ptr %292, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %291) #4
  store i1 true, ptr %293, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %289, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %291)
          to label %1731 unwind label %1889

1731:                                             ; preds = %1730
  store i1 true, ptr %294, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %282, ptr noundef nonnull align 8 dereferenceable(32) %283, ptr noundef nonnull align 8 dereferenceable(32) %289)
          to label %1732 unwind label %1893

1732:                                             ; preds = %1731
  store i1 true, ptr %295, align 1
  %1733 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %243, ptr noundef %282, i32 noundef 0)
          to label %1734 unwind label %1897

1734:                                             ; preds = %1732
  br label %1735

1735:                                             ; preds = %1734, %1716
  %1736 = phi i1 [ true, %1716 ], [ %1733, %1734 ]
  %1737 = xor i1 %1736, true
  %1738 = load i1, ptr %295, align 1
  br i1 %1738, label %1739, label %1740

1739:                                             ; preds = %1735
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %282) #4
  br label %1740

1740:                                             ; preds = %1739, %1735
  %1741 = load i1, ptr %294, align 1
  br i1 %1741, label %1742, label %1743

1742:                                             ; preds = %1740
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %289) #4
  br label %1743

1743:                                             ; preds = %1742, %1740
  %1744 = load i1, ptr %293, align 1
  br i1 %1744, label %1745, label %1746

1745:                                             ; preds = %1743
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %291) #4
  br label %1746

1746:                                             ; preds = %1745, %1743
  %1747 = load i1, ptr %292, align 1
  br i1 %1747, label %1748, label %1749

1748:                                             ; preds = %1746
  call void @llvm.lifetime.end.p0(i64 1, ptr %291) #4
  br label %1749

1749:                                             ; preds = %1748, %1746
  %1750 = load i1, ptr %290, align 1
  br i1 %1750, label %1751, label %1752

1751:                                             ; preds = %1749
  call void @llvm.lifetime.end.p0(i64 32, ptr %289) #4
  br label %1752

1752:                                             ; preds = %1751, %1749
  %1753 = load i1, ptr %288, align 1
  br i1 %1753, label %1754, label %1755

1754:                                             ; preds = %1752
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %283) #4
  br label %1755

1755:                                             ; preds = %1754, %1752
  %1756 = load i1, ptr %287, align 1
  br i1 %1756, label %1757, label %1758

1757:                                             ; preds = %1755
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %285) #4
  br label %1758

1758:                                             ; preds = %1757, %1755
  %1759 = load i1, ptr %286, align 1
  br i1 %1759, label %1760, label %1761

1760:                                             ; preds = %1758
  call void @llvm.lifetime.end.p0(i64 1, ptr %285) #4
  br label %1761

1761:                                             ; preds = %1760, %1758
  %1762 = load i1, ptr %284, align 1
  br i1 %1762, label %1763, label %1764

1763:                                             ; preds = %1761
  call void @llvm.lifetime.end.p0(i64 32, ptr %283) #4
  br label %1764

1764:                                             ; preds = %1763, %1761
  %1765 = load i1, ptr %281, align 1
  br i1 %1765, label %1766, label %1767

1766:                                             ; preds = %1764
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %243) #4
  br label %1767

1767:                                             ; preds = %1766, %1764
  %1768 = load i1, ptr %280, align 1
  br i1 %1768, label %1769, label %1770

1769:                                             ; preds = %1767
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #4
  br label %1770

1770:                                             ; preds = %1769, %1767
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #4
  %1771 = load i1, ptr %278, align 1
  br i1 %1771, label %1772, label %1773

1772:                                             ; preds = %1770
  call void @llvm.lifetime.end.p0(i64 32, ptr %277) #4
  br label %1773

1773:                                             ; preds = %1772, %1770
  %1774 = load i1, ptr %276, align 1
  br i1 %1774, label %1775, label %1776

1775:                                             ; preds = %1773
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %244) #4
  br label %1776

1776:                                             ; preds = %1775, %1773
  %1777 = load i1, ptr %275, align 1
  br i1 %1777, label %1778, label %1779

1778:                                             ; preds = %1776
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %246) #4
  br label %1779

1779:                                             ; preds = %1778, %1776
  %1780 = load i1, ptr %274, align 1
  br i1 %1780, label %1781, label %1782

1781:                                             ; preds = %1779
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %269) #4
  br label %1782

1782:                                             ; preds = %1781, %1779
  %1783 = load i1, ptr %273, align 1
  br i1 %1783, label %1784, label %1785

1784:                                             ; preds = %1782
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %271) #4
  br label %1785

1785:                                             ; preds = %1784, %1782
  %1786 = load i1, ptr %272, align 1
  br i1 %1786, label %1787, label %1788

1787:                                             ; preds = %1785
  call void @llvm.lifetime.end.p0(i64 1, ptr %271) #4
  br label %1788

1788:                                             ; preds = %1787, %1785
  %1789 = load i1, ptr %270, align 1
  br i1 %1789, label %1790, label %1791

1790:                                             ; preds = %1788
  call void @llvm.lifetime.end.p0(i64 32, ptr %269) #4
  br label %1791

1791:                                             ; preds = %1790, %1788
  %1792 = load i1, ptr %268, align 1
  br i1 %1792, label %1793, label %1794

1793:                                             ; preds = %1791
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %248) #4
  br label %1794

1794:                                             ; preds = %1793, %1791
  %1795 = load i1, ptr %267, align 1
  br i1 %1795, label %1796, label %1797

1796:                                             ; preds = %1794
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %250) #4
  br label %1797

1797:                                             ; preds = %1796, %1794
  %1798 = load i1, ptr %266, align 1
  br i1 %1798, label %1799, label %1800

1799:                                             ; preds = %1797
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %261) #4
  br label %1800

1800:                                             ; preds = %1799, %1797
  %1801 = load i1, ptr %265, align 1
  br i1 %1801, label %1802, label %1803

1802:                                             ; preds = %1800
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %263) #4
  br label %1803

1803:                                             ; preds = %1802, %1800
  %1804 = load i1, ptr %264, align 1
  br i1 %1804, label %1805, label %1806

1805:                                             ; preds = %1803
  call void @llvm.lifetime.end.p0(i64 1, ptr %263) #4
  br label %1806

1806:                                             ; preds = %1805, %1803
  %1807 = load i1, ptr %262, align 1
  br i1 %1807, label %1808, label %1809

1808:                                             ; preds = %1806
  call void @llvm.lifetime.end.p0(i64 32, ptr %261) #4
  br label %1809

1809:                                             ; preds = %1808, %1806
  %1810 = load i1, ptr %260, align 1
  br i1 %1810, label %1811, label %1812

1811:                                             ; preds = %1809
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %252) #4
  br label %1812

1812:                                             ; preds = %1811, %1809
  %1813 = load i1, ptr %259, align 1
  br i1 %1813, label %1814, label %1815

1814:                                             ; preds = %1812
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %254) #4
  br label %1815

1815:                                             ; preds = %1814, %1812
  %1816 = load i1, ptr %258, align 1
  br i1 %1816, label %1817, label %1818

1817:                                             ; preds = %1815
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %256) #4
  br label %1818

1818:                                             ; preds = %1817, %1815
  %1819 = load i1, ptr %257, align 1
  br i1 %1819, label %1820, label %1821

1820:                                             ; preds = %1818
  call void @llvm.lifetime.end.p0(i64 1, ptr %256) #4
  br label %1821

1821:                                             ; preds = %1820, %1818
  %1822 = load i1, ptr %255, align 1
  br i1 %1822, label %1823, label %1824

1823:                                             ; preds = %1821
  call void @llvm.lifetime.end.p0(i64 32, ptr %254) #4
  br label %1824

1824:                                             ; preds = %1823, %1821
  %1825 = load i1, ptr %253, align 1
  br i1 %1825, label %1826, label %1827

1826:                                             ; preds = %1824
  call void @llvm.lifetime.end.p0(i64 32, ptr %252) #4
  br label %1827

1827:                                             ; preds = %1826, %1824
  %1828 = load i1, ptr %251, align 1
  br i1 %1828, label %1829, label %1830

1829:                                             ; preds = %1827
  call void @llvm.lifetime.end.p0(i64 32, ptr %250) #4
  br label %1830

1830:                                             ; preds = %1829, %1827
  %1831 = load i1, ptr %249, align 1
  br i1 %1831, label %1832, label %1833

1832:                                             ; preds = %1830
  call void @llvm.lifetime.end.p0(i64 32, ptr %248) #4
  br label %1833

1833:                                             ; preds = %1832, %1830
  %1834 = load i1, ptr %247, align 1
  br i1 %1834, label %1835, label %1836

1835:                                             ; preds = %1833
  call void @llvm.lifetime.end.p0(i64 32, ptr %246) #4
  br label %1836

1836:                                             ; preds = %1835, %1833
  %1837 = load i1, ptr %245, align 1
  br i1 %1837, label %1838, label %1839

1838:                                             ; preds = %1836
  call void @llvm.lifetime.end.p0(i64 32, ptr %244) #4
  br label %1839

1839:                                             ; preds = %1838, %1836
  %1840 = load ptr, ptr %5, align 8, !tbaa !5
  %1841 = load ptr, ptr %4, align 8, !tbaa !5
  %1842 = call noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80) %1841)
  %1843 = load double, ptr %13, align 8, !tbaa !9
  %1844 = fdiv double 1.000000e+00, %1843
  call void @_ZNK4Elem17setPoreToPoreCondE6fluidfd(ptr noundef nonnull align 8 dereferenceable(408) %1840, i16 noundef zeroext %1842, double noundef %1844)
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #4
  br label %2021

1845:                                             ; preds = %1719
  %1846 = landingpad { ptr, i32 }
          cleanup
  %1847 = extractvalue { ptr, i32 } %1846, 0
  store ptr %1847, ptr %33, align 8
  %1848 = extractvalue { ptr, i32 } %1846, 1
  store i32 %1848, ptr %34, align 4
  br label %1991

1849:                                             ; preds = %1720
  %1850 = landingpad { ptr, i32 }
          cleanup
  %1851 = extractvalue { ptr, i32 } %1850, 0
  store ptr %1851, ptr %33, align 8
  %1852 = extractvalue { ptr, i32 } %1850, 1
  store i32 %1852, ptr %34, align 4
  br label %1987

1853:                                             ; preds = %1721
  %1854 = landingpad { ptr, i32 }
          cleanup
  %1855 = extractvalue { ptr, i32 } %1854, 0
  store ptr %1855, ptr %33, align 8
  %1856 = extractvalue { ptr, i32 } %1854, 1
  store i32 %1856, ptr %34, align 4
  br label %1974

1857:                                             ; preds = %1722
  %1858 = landingpad { ptr, i32 }
          cleanup
  %1859 = extractvalue { ptr, i32 } %1858, 0
  store ptr %1859, ptr %33, align 8
  %1860 = extractvalue { ptr, i32 } %1858, 1
  store i32 %1860, ptr %34, align 4
  br label %1970

1861:                                             ; preds = %1723
  %1862 = landingpad { ptr, i32 }
          cleanup
  %1863 = extractvalue { ptr, i32 } %1862, 0
  store ptr %1863, ptr %33, align 8
  %1864 = extractvalue { ptr, i32 } %1862, 1
  store i32 %1864, ptr %34, align 4
  br label %1966

1865:                                             ; preds = %1724
  %1866 = landingpad { ptr, i32 }
          cleanup
  %1867 = extractvalue { ptr, i32 } %1866, 0
  store ptr %1867, ptr %33, align 8
  %1868 = extractvalue { ptr, i32 } %1866, 1
  store i32 %1868, ptr %34, align 4
  br label %1953

1869:                                             ; preds = %1725
  %1870 = landingpad { ptr, i32 }
          cleanup
  %1871 = extractvalue { ptr, i32 } %1870, 0
  store ptr %1871, ptr %33, align 8
  %1872 = extractvalue { ptr, i32 } %1870, 1
  store i32 %1872, ptr %34, align 4
  br label %1949

1873:                                             ; preds = %1726
  %1874 = landingpad { ptr, i32 }
          cleanup
  %1875 = extractvalue { ptr, i32 } %1874, 0
  store ptr %1875, ptr %33, align 8
  %1876 = extractvalue { ptr, i32 } %1874, 1
  store i32 %1876, ptr %34, align 4
  br label %1945

1877:                                             ; preds = %1727
  %1878 = landingpad { ptr, i32 }
          cleanup
  %1879 = extractvalue { ptr, i32 } %1878, 0
  store ptr %1879, ptr %33, align 8
  %1880 = extractvalue { ptr, i32 } %1878, 1
  store i32 %1880, ptr %34, align 4
  br label %1938

1881:                                             ; preds = %1728
  %1882 = landingpad { ptr, i32 }
          cleanup
  %1883 = extractvalue { ptr, i32 } %1882, 0
  store ptr %1883, ptr %33, align 8
  %1884 = extractvalue { ptr, i32 } %1882, 1
  store i32 %1884, ptr %34, align 4
  br label %1934

1885:                                             ; preds = %1729
  %1886 = landingpad { ptr, i32 }
          cleanup
  %1887 = extractvalue { ptr, i32 } %1886, 0
  store ptr %1887, ptr %33, align 8
  %1888 = extractvalue { ptr, i32 } %1886, 1
  store i32 %1888, ptr %34, align 4
  br label %1921

1889:                                             ; preds = %1730
  %1890 = landingpad { ptr, i32 }
          cleanup
  %1891 = extractvalue { ptr, i32 } %1890, 0
  store ptr %1891, ptr %33, align 8
  %1892 = extractvalue { ptr, i32 } %1890, 1
  store i32 %1892, ptr %34, align 4
  br label %1908

1893:                                             ; preds = %1731
  %1894 = landingpad { ptr, i32 }
          cleanup
  %1895 = extractvalue { ptr, i32 } %1894, 0
  store ptr %1895, ptr %33, align 8
  %1896 = extractvalue { ptr, i32 } %1894, 1
  store i32 %1896, ptr %34, align 4
  br label %1904

1897:                                             ; preds = %1732
  %1898 = landingpad { ptr, i32 }
          cleanup
  %1899 = extractvalue { ptr, i32 } %1898, 0
  store ptr %1899, ptr %33, align 8
  %1900 = extractvalue { ptr, i32 } %1898, 1
  store i32 %1900, ptr %34, align 4
  %1901 = load i1, ptr %295, align 1
  br i1 %1901, label %1902, label %1903

1902:                                             ; preds = %1897
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %282) #4
  br label %1903

1903:                                             ; preds = %1902, %1897
  br label %1904

1904:                                             ; preds = %1903, %1893
  %1905 = load i1, ptr %294, align 1
  br i1 %1905, label %1906, label %1907

1906:                                             ; preds = %1904
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %289) #4
  br label %1907

1907:                                             ; preds = %1906, %1904
  br label %1908

1908:                                             ; preds = %1907, %1889
  %1909 = load i1, ptr %293, align 1
  br i1 %1909, label %1910, label %1911

1910:                                             ; preds = %1908
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %291) #4
  br label %1911

1911:                                             ; preds = %1910, %1908
  %1912 = load i1, ptr %292, align 1
  br i1 %1912, label %1913, label %1914

1913:                                             ; preds = %1911
  call void @llvm.lifetime.end.p0(i64 1, ptr %291) #4
  br label %1914

1914:                                             ; preds = %1913, %1911
  %1915 = load i1, ptr %290, align 1
  br i1 %1915, label %1916, label %1917

1916:                                             ; preds = %1914
  call void @llvm.lifetime.end.p0(i64 32, ptr %289) #4
  br label %1917

1917:                                             ; preds = %1916, %1914
  %1918 = load i1, ptr %288, align 1
  br i1 %1918, label %1919, label %1920

1919:                                             ; preds = %1917
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %283) #4
  br label %1920

1920:                                             ; preds = %1919, %1917
  br label %1921

1921:                                             ; preds = %1920, %1885
  %1922 = load i1, ptr %287, align 1
  br i1 %1922, label %1923, label %1924

1923:                                             ; preds = %1921
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %285) #4
  br label %1924

1924:                                             ; preds = %1923, %1921
  %1925 = load i1, ptr %286, align 1
  br i1 %1925, label %1926, label %1927

1926:                                             ; preds = %1924
  call void @llvm.lifetime.end.p0(i64 1, ptr %285) #4
  br label %1927

1927:                                             ; preds = %1926, %1924
  %1928 = load i1, ptr %284, align 1
  br i1 %1928, label %1929, label %1930

1929:                                             ; preds = %1927
  call void @llvm.lifetime.end.p0(i64 32, ptr %283) #4
  br label %1930

1930:                                             ; preds = %1929, %1927
  %1931 = load i1, ptr %281, align 1
  br i1 %1931, label %1932, label %1933

1932:                                             ; preds = %1930
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %243) #4
  br label %1933

1933:                                             ; preds = %1932, %1930
  br label %1934

1934:                                             ; preds = %1933, %1881
  %1935 = load i1, ptr %280, align 1
  br i1 %1935, label %1936, label %1937

1936:                                             ; preds = %1934
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #4
  br label %1937

1937:                                             ; preds = %1936, %1934
  br label %1938

1938:                                             ; preds = %1937, %1877
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #4
  %1939 = load i1, ptr %278, align 1
  br i1 %1939, label %1940, label %1941

1940:                                             ; preds = %1938
  call void @llvm.lifetime.end.p0(i64 32, ptr %277) #4
  br label %1941

1941:                                             ; preds = %1940, %1938
  %1942 = load i1, ptr %276, align 1
  br i1 %1942, label %1943, label %1944

1943:                                             ; preds = %1941
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %244) #4
  br label %1944

1944:                                             ; preds = %1943, %1941
  br label %1945

1945:                                             ; preds = %1944, %1873
  %1946 = load i1, ptr %275, align 1
  br i1 %1946, label %1947, label %1948

1947:                                             ; preds = %1945
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %246) #4
  br label %1948

1948:                                             ; preds = %1947, %1945
  br label %1949

1949:                                             ; preds = %1948, %1869
  %1950 = load i1, ptr %274, align 1
  br i1 %1950, label %1951, label %1952

1951:                                             ; preds = %1949
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %269) #4
  br label %1952

1952:                                             ; preds = %1951, %1949
  br label %1953

1953:                                             ; preds = %1952, %1865
  %1954 = load i1, ptr %273, align 1
  br i1 %1954, label %1955, label %1956

1955:                                             ; preds = %1953
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %271) #4
  br label %1956

1956:                                             ; preds = %1955, %1953
  %1957 = load i1, ptr %272, align 1
  br i1 %1957, label %1958, label %1959

1958:                                             ; preds = %1956
  call void @llvm.lifetime.end.p0(i64 1, ptr %271) #4
  br label %1959

1959:                                             ; preds = %1958, %1956
  %1960 = load i1, ptr %270, align 1
  br i1 %1960, label %1961, label %1962

1961:                                             ; preds = %1959
  call void @llvm.lifetime.end.p0(i64 32, ptr %269) #4
  br label %1962

1962:                                             ; preds = %1961, %1959
  %1963 = load i1, ptr %268, align 1
  br i1 %1963, label %1964, label %1965

1964:                                             ; preds = %1962
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %248) #4
  br label %1965

1965:                                             ; preds = %1964, %1962
  br label %1966

1966:                                             ; preds = %1965, %1861
  %1967 = load i1, ptr %267, align 1
  br i1 %1967, label %1968, label %1969

1968:                                             ; preds = %1966
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %250) #4
  br label %1969

1969:                                             ; preds = %1968, %1966
  br label %1970

1970:                                             ; preds = %1969, %1857
  %1971 = load i1, ptr %266, align 1
  br i1 %1971, label %1972, label %1973

1972:                                             ; preds = %1970
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %261) #4
  br label %1973

1973:                                             ; preds = %1972, %1970
  br label %1974

1974:                                             ; preds = %1973, %1853
  %1975 = load i1, ptr %265, align 1
  br i1 %1975, label %1976, label %1977

1976:                                             ; preds = %1974
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %263) #4
  br label %1977

1977:                                             ; preds = %1976, %1974
  %1978 = load i1, ptr %264, align 1
  br i1 %1978, label %1979, label %1980

1979:                                             ; preds = %1977
  call void @llvm.lifetime.end.p0(i64 1, ptr %263) #4
  br label %1980

1980:                                             ; preds = %1979, %1977
  %1981 = load i1, ptr %262, align 1
  br i1 %1981, label %1982, label %1983

1982:                                             ; preds = %1980
  call void @llvm.lifetime.end.p0(i64 32, ptr %261) #4
  br label %1983

1983:                                             ; preds = %1982, %1980
  %1984 = load i1, ptr %260, align 1
  br i1 %1984, label %1985, label %1986

1985:                                             ; preds = %1983
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %252) #4
  br label %1986

1986:                                             ; preds = %1985, %1983
  br label %1987

1987:                                             ; preds = %1986, %1849
  %1988 = load i1, ptr %259, align 1
  br i1 %1988, label %1989, label %1990

1989:                                             ; preds = %1987
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %254) #4
  br label %1990

1990:                                             ; preds = %1989, %1987
  br label %1991

1991:                                             ; preds = %1990, %1845
  %1992 = load i1, ptr %258, align 1
  br i1 %1992, label %1993, label %1994

1993:                                             ; preds = %1991
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %256) #4
  br label %1994

1994:                                             ; preds = %1993, %1991
  %1995 = load i1, ptr %257, align 1
  br i1 %1995, label %1996, label %1997

1996:                                             ; preds = %1994
  call void @llvm.lifetime.end.p0(i64 1, ptr %256) #4
  br label %1997

1997:                                             ; preds = %1996, %1994
  %1998 = load i1, ptr %255, align 1
  br i1 %1998, label %1999, label %2000

1999:                                             ; preds = %1997
  call void @llvm.lifetime.end.p0(i64 32, ptr %254) #4
  br label %2000

2000:                                             ; preds = %1999, %1997
  %2001 = load i1, ptr %253, align 1
  br i1 %2001, label %2002, label %2003

2002:                                             ; preds = %2000
  call void @llvm.lifetime.end.p0(i64 32, ptr %252) #4
  br label %2003

2003:                                             ; preds = %2002, %2000
  %2004 = load i1, ptr %251, align 1
  br i1 %2004, label %2005, label %2006

2005:                                             ; preds = %2003
  call void @llvm.lifetime.end.p0(i64 32, ptr %250) #4
  br label %2006

2006:                                             ; preds = %2005, %2003
  %2007 = load i1, ptr %249, align 1
  br i1 %2007, label %2008, label %2009

2008:                                             ; preds = %2006
  call void @llvm.lifetime.end.p0(i64 32, ptr %248) #4
  br label %2009

2009:                                             ; preds = %2008, %2006
  %2010 = load i1, ptr %247, align 1
  br i1 %2010, label %2011, label %2012

2011:                                             ; preds = %2009
  call void @llvm.lifetime.end.p0(i64 32, ptr %246) #4
  br label %2012

2012:                                             ; preds = %2011, %2009
  %2013 = load i1, ptr %245, align 1
  br i1 %2013, label %2014, label %2015

2014:                                             ; preds = %2012
  call void @llvm.lifetime.end.p0(i64 32, ptr %244) #4
  br label %2015

2015:                                             ; preds = %2014, %2012
  br label %2016

2016:                                             ; preds = %2015, %1677, %709
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #4
  br label %2022

2017:                                             ; preds = %349, %344
  %2018 = load ptr, ptr %5, align 8, !tbaa !5
  %2019 = load ptr, ptr %4, align 8, !tbaa !5
  %2020 = call noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80) %2019)
  call void @_ZNK4Elem17setPoreToPoreCondE6fluidfd(ptr noundef nonnull align 8 dereferenceable(408) %2018, i16 noundef zeroext %2020, double noundef 0.000000e+00)
  br label %2021

2021:                                             ; preds = %2017, %1839
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #4
  ret void

2022:                                             ; preds = %2016
  %2023 = load ptr, ptr %33, align 8
  %2024 = load i32, ptr %34, align 4
  %2025 = insertvalue { ptr, i32 } poison, ptr %2023, 0
  %2026 = insertvalue { ptr, i32 } %2025, i32 %2024, 1
  resume { ptr, i32 } %2026
}

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4Elem4neibEi(ptr noundef nonnull align 8 dereferenceable(408), i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK6Throat10poreLengthEi(ptr noundef nonnull align 8 dereferenceable(456), i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK9ElemModel11conductsAnyERK5Fluid(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(80)) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK5Fluid5isOilEv(ptr noundef nonnull align 8 dereferenceable(80)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK9ElemModel25disConectedCentreWCornerWEv(ptr noundef nonnull align 8 dereferenceable(152)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK9ElemModel21electricalConductanceEv(ptr noundef nonnull align 8 dereferenceable(152)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef, ptr noundef, i32 noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4)) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK4Elem10clayVolumeEv(ptr noundef nonnull align 8 dereferenceable(408)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(80) ptr @_ZNK7GNMData4clayEv(ptr noundef nonnull align 8 dereferenceable(984)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK5Fluid11resistivityEv(ptr noundef nonnull align 8 dereferenceable(80)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152), i32 noundef, i1 noundef zeroext) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef double @_ZNK9ElemModel14getConductanceERK5Fluidb(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(80), i1 noundef zeroext) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK4Elem17setPoreToPoreCondE6fluidfd(ptr noundef nonnull align 8 dereferenceable(408), i16 noundef zeroext, double noundef) #2 align 2

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 448}
!12 = !{!"_ZTS6Throat", !13, i64 0, !16, i64 408, !7, i64 416, !23, i64 432, !10, i64 448}
!13 = !{!"_ZTS4Elem", !14, i64 0, !7, i64 104, !15, i64 224, !16, i64 228, !6, i64 232, !10, i64 240, !10, i64 248, !16, i64 256, !18, i64 264, !6, i64 288, !10, i64 296, !15, i64 304, !15, i64 305, !15, i64 306, !15, i64 307, !15, i64 308, !15, i64 309, !15, i64 310, !15, i64 311, !15, i64 312, !15, i64 313, !17, i64 320, !17, i64 336, !17, i64 352, !16, i64 368, !16, i64 372, !16, i64 376, !16, i64 380, !22, i64 384}
!14 = !{!"_ZTS4Apex", !15, i64 8, !10, i64 16, !10, i64 24, !6, i64 32, !16, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !15, i64 80, !15, i64 81, !15, i64 82, !15, i64 83, !17, i64 88}
!15 = !{!"bool", !7, i64 0}
!16 = !{!"int", !7, i64 0}
!17 = !{!"_ZTSSt4pairIidE", !16, i64 0, !10, i64 8}
!18 = !{!"_ZTSSt6vectorIP4ElemSaIS1_EE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseIP4ElemSaIS1_EE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIP4ElemSaIS1_EE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIP4ElemSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!22 = !{!"_ZTS4var3IdE", !10, i64 0, !10, i64 8, !10, i64 16}
!23 = !{!"_ZTSSt5arrayIdLm2EE", !7, i64 0}
!24 = !{!15, !15, i64 0}
!25 = !{i8 0, i8 2}
!26 = !{}
!27 = !{!13, !15, i64 310}
!28 = !{!16, !16, i64 0}
!29 = !{!13, !6, i64 232}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.2" = type { i8 }

@.str = external hidden unnamed_addr constant [11 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [5 x i8], align 1
@__FUNCTION__._ZN6Throat6calcR2ERK5Fluid = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [20 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6Throat6calcR2ERK5Fluid(ptr noundef nonnull align 8 dereferenceable(456) %0, ptr noundef nonnull align 8 dereferenceable(80) %1) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator.2", align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator.2", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator.2", align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator.2", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator.2", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator.2", align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator.2", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator.2", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca i32, align 4
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator.2", align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator.2", align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator.2", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::allocator.2", align 1
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator.2", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca i32, align 4
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::allocator.2", align 1
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::allocator.2", align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::allocator.2", align 1
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::allocator.2", align 1
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::allocator.2", align 1
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca i32, align 4
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator.2", align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator.2", align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::allocator.2", align 1
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::allocator.2", align 1
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::allocator.2", align 1
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca i32, align 4
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::allocator.2", align 1
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::allocator.2", align 1
  %98 = tail call noundef ptr @_ZNK4Elem4neibEi(ptr noundef nonnull align 8 dereferenceable(408) %0, i32 noundef 0)
  %99 = tail call noundef ptr @_ZNK4Elem4neibEi(ptr noundef nonnull align 8 dereferenceable(408) %0, i32 noundef 1)
  %100 = tail call noundef double @_ZNK6Throat10poreLengthEi(ptr noundef nonnull align 8 dereferenceable(456) %0, i32 noundef 0)
  %101 = tail call noundef double @_ZNK6Throat10poreLengthEi(ptr noundef nonnull align 8 dereferenceable(456) %0, i32 noundef 1)
  %102 = getelementptr inbounds i8, ptr %0, i64 448
  %103 = load double, ptr %102, align 8, !tbaa !5
  %104 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %0)
  %105 = tail call noundef zeroext i1 @_ZNK9ElemModel11conductsAnyERK5Fluid(ptr noundef nonnull align 8 dereferenceable(152) %104, ptr noundef nonnull align 8 dereferenceable(80) %1)
  br i1 %105, label %106, label %116

106:                                              ; preds = %2
  %107 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %108 = tail call noundef zeroext i1 @_ZNK9ElemModel11conductsAnyERK5Fluid(ptr noundef nonnull align 8 dereferenceable(152) %107, ptr noundef nonnull align 8 dereferenceable(80) %1)
  br i1 %108, label %111, label %109

109:                                              ; preds = %106
  %110 = tail call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  br i1 %110, label %111, label %116

111:                                              ; preds = %109, %106
  %112 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %113 = tail call noundef zeroext i1 @_ZNK9ElemModel11conductsAnyERK5Fluid(ptr noundef nonnull align 8 dereferenceable(152) %112, ptr noundef nonnull align 8 dereferenceable(80) %1)
  br i1 %113, label %116, label %114

114:                                              ; preds = %111
  %115 = tail call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  br label %116

116:                                              ; preds = %111, %114, %109, %2
  %117 = phi i1 [ false, %109 ], [ false, %2 ], [ true, %111 ], [ %115, %114 ]
  %118 = tail call noundef zeroext i1 @_ZNK5Fluid5isOilEv(ptr noundef nonnull align 8 dereferenceable(80) %1)
  br i1 %118, label %128, label %119

119:                                              ; preds = %116
  %120 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %0)
  %121 = tail call noundef zeroext i1 @_ZNK9ElemModel25disConectedCentreWCornerWEv(ptr noundef nonnull align 8 dereferenceable(152) %120)
  %brmerge.demorgan = and i1 %117, %121
  br i1 %brmerge.demorgan, label %122, label %128

122:                                              ; preds = %119
  %123 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %124 = tail call noundef zeroext i1 @_ZNK9ElemModel25disConectedCentreWCornerWEv(ptr noundef nonnull align 8 dereferenceable(152) %123)
  br i1 %124, label %125, label %128

125:                                              ; preds = %122
  %126 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %127 = tail call noundef zeroext i1 @_ZNK9ElemModel25disConectedCentreWCornerWEv(ptr noundef nonnull align 8 dereferenceable(152) %126)
  br label %128

128:                                              ; preds = %119, %125, %122, %116
  %129 = phi i1 [ false, %122 ], [ false, %119 ], [ false, %116 ], [ %127, %125 ]
  br i1 %117, label %130, label %545

130:                                              ; preds = %128
  %131 = getelementptr inbounds i8, ptr %0, i64 310
  %132 = load i8, ptr %131, align 2, !tbaa !22, !range !23, !noundef !24
  %133 = trunc nuw i8 %132 to i1
  br i1 %133, label %134, label %545

134:                                              ; preds = %130
  %135 = tail call noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80) %1)
  %136 = icmp ugt i16 %135, 2
  br i1 %136, label %137, label %233

137:                                              ; preds = %134
  %138 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %139 = tail call noundef double @_ZNK9ElemModel21electricalConductanceEv(ptr noundef nonnull align 8 dereferenceable(152) %138)
  %140 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %0)
  %141 = tail call noundef double @_ZNK9ElemModel21electricalConductanceEv(ptr noundef nonnull align 8 dereferenceable(152) %140)
  %142 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %143 = tail call noundef double @_ZNK9ElemModel21electricalConductanceEv(ptr noundef nonnull align 8 dereferenceable(152) %142)
  %144 = fcmp ule double %139, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #4
  %145 = fcmp ule double %141, 0.000000e+00
  %or.cond.not744 = or i1 %144, %145
  %146 = fcmp ule double %143, 0.000000e+00
  %or.cond3.not = or i1 %or.cond.not744, %146
  br i1 %or.cond3.not, label %147, label %162

147:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %148 unwind label %192

148:                                              ; preds = %147
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.1)
          to label %149 unwind label %194

149:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %150 unwind label %196

150:                                              ; preds = %149
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %151 unwind label %198

151:                                              ; preds = %150
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.2)
          to label %152 unwind label %200

152:                                              ; preds = %151
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %153 unwind label %202

153:                                              ; preds = %152
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %154 unwind label %204

154:                                              ; preds = %153
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.4)
          to label %155 unwind label %206

155:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #4
  store i32 68, ptr %16, align 4, !tbaa !25
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %156 unwind label %208

156:                                              ; preds = %155
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %157 unwind label %210

157:                                              ; preds = %156
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %158 unwind label %212

158:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %159 unwind label %214

159:                                              ; preds = %158
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %160 unwind label %216

160:                                              ; preds = %159
  %161 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %3, ptr noundef nonnull %17, i32 noundef 0)
          to label %.critedge774 unwind label %218

162:                                              ; preds = %137
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #4
  br label %.critedge795

.critedge774:                                     ; preds = %160
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #4
  br label %.critedge795

.critedge795:                                     ; preds = %162, %.critedge774
  %163 = fdiv double %103, %141
  %164 = fdiv double %100, %139
  %165 = fdiv double %101, %143
  %166 = call noundef double @_ZNK4Elem10clayVolumeEv(ptr noundef nonnull align 8 dereferenceable(408) %0)
  %167 = call noundef double @_ZNK4Elem10clayVolumeEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %168 = fadd double %166, %167
  %169 = call noundef double @_ZNK4Elem10clayVolumeEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %170 = fadd double %168, %169
  %171 = insertelement <2 x double> poison, double %164, i64 0
  %172 = insertelement <2 x double> %171, double %100, i64 1
  %173 = insertelement <2 x double> poison, double %163, i64 0
  %174 = insertelement <2 x double> %173, double %101, i64 1
  %175 = fadd <2 x double> %172, %174
  %176 = insertelement <2 x double> poison, double %165, i64 0
  %177 = insertelement <2 x double> %176, double %103, i64 1
  %178 = fadd <2 x double> %175, %177
  %179 = extractelement <2 x double> %178, i64 1
  %180 = fdiv double %170, %179
  %181 = insertelement <2 x double> <double 1.000000e+00, double poison>, double %180, i64 1
  %182 = fdiv <2 x double> %181, %178
  %183 = getelementptr inbounds i8, ptr %0, i64 232
  %184 = load ptr, ptr %183, align 8, !tbaa !26
  %185 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNK7GNMData4clayEv(ptr noundef nonnull align 8 dereferenceable(984) %184)
  %186 = call noundef double @_ZNK5Fluid11resistivityEv(ptr noundef nonnull align 8 dereferenceable(80) %185)
  %187 = extractelement <2 x double> %182, i64 1
  %188 = fdiv double %187, %186
  %189 = extractelement <2 x double> %182, i64 0
  %190 = fadd double %189, %188
  %191 = fdiv double 1.000000e+00, %190
  br label %483

192:                                              ; preds = %147
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %232

194:                                              ; preds = %148
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %231

196:                                              ; preds = %149
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %230

198:                                              ; preds = %150
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %229

200:                                              ; preds = %151
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %228

202:                                              ; preds = %152
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %227

204:                                              ; preds = %153
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %226

206:                                              ; preds = %154
  %207 = landingpad { ptr, i32 }
          cleanup
  br label %225

208:                                              ; preds = %155
  %209 = landingpad { ptr, i32 }
          cleanup
  br label %224

210:                                              ; preds = %156
  %211 = landingpad { ptr, i32 }
          cleanup
  br label %223

212:                                              ; preds = %157
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %222

214:                                              ; preds = %158
  %215 = landingpad { ptr, i32 }
          cleanup
  br label %221

216:                                              ; preds = %159
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %220

218:                                              ; preds = %160
  %219 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #4
  br label %220

220:                                              ; preds = %216, %218
  %.pn727 = phi { ptr, i32 } [ %219, %218 ], [ %217, %216 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #4
  br label %221

221:                                              ; preds = %214, %220
  %.pn727.pn = phi { ptr, i32 } [ %.pn727, %220 ], [ %215, %214 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #4
  br label %222

222:                                              ; preds = %212, %221
  %.pn727.pn.pn = phi { ptr, i32 } [ %.pn727.pn, %221 ], [ %213, %212 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #4
  br label %223

223:                                              ; preds = %210, %222
  %.pn727.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn, %222 ], [ %211, %210 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #4
  br label %224

224:                                              ; preds = %223, %208
  %.pn727.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn, %223 ], [ %209, %208 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #4
  br label %225

225:                                              ; preds = %206, %224
  %.pn727.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn.pn, %224 ], [ %207, %206 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #4
  br label %226

226:                                              ; preds = %204, %225
  %.pn727.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn.pn.pn, %225 ], [ %205, %204 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #4
  br label %227

227:                                              ; preds = %202, %226
  %.pn727.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn.pn.pn.pn, %226 ], [ %203, %202 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #4
  br label %228

228:                                              ; preds = %200, %227
  %.pn727.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn.pn.pn.pn.pn, %227 ], [ %201, %200 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #4
  br label %229

229:                                              ; preds = %198, %228
  %.pn727.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn.pn.pn.pn.pn.pn, %228 ], [ %199, %198 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #4
  br label %230

230:                                              ; preds = %196, %229
  %.pn727.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn.pn.pn.pn.pn.pn.pn, %229 ], [ %197, %196 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #4
  br label %231

231:                                              ; preds = %194, %230
  %.pn727.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %230 ], [ %195, %194 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #4
  br label %232

232:                                              ; preds = %192, %231
  %.pn727.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn727.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %231 ], [ %193, %192 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #4
  br label %544

233:                                              ; preds = %134
  br i1 %129, label %234, label %460

234:                                              ; preds = %233
  %235 = tail call noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80) %1)
  %.not = icmp eq i16 %235, 1
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #4
  br i1 %.not, label %.thread940, label %236

236:                                              ; preds = %234
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %237 unwind label %290

237:                                              ; preds = %236
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull @.str.1)
          to label %238 unwind label %292

238:                                              ; preds = %237
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %239 unwind label %294

239:                                              ; preds = %238
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %240 unwind label %296

240:                                              ; preds = %239
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.2)
          to label %241 unwind label %298

241:                                              ; preds = %240
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %242 unwind label %300

242:                                              ; preds = %241
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %243 unwind label %302

243:                                              ; preds = %242
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.4)
          to label %244 unwind label %304

244:                                              ; preds = %243
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #4
  store i32 79, ptr %35, align 4, !tbaa !25
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 4 dereferenceable(4) %35)
          to label %245 unwind label %306

245:                                              ; preds = %244
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %246 unwind label %308

246:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %247 unwind label %310

247:                                              ; preds = %246
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %248 unwind label %312

248:                                              ; preds = %247
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %249 unwind label %314

249:                                              ; preds = %248
  %250 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %22, ptr noundef nonnull %36, i32 noundef 0)
          to label %.critedge810 unwind label %316

.thread940:                                       ; preds = %234
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #4
  br label %.critedge831

.critedge810:                                     ; preds = %249
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #4
  br label %.critedge831

.critedge831:                                     ; preds = %.thread940, %.critedge810
  %251 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %252 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %253 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %251, i32 noundef 0, i1 noundef zeroext %252)
  %254 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %0)
  %255 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %254, i32 noundef 0, i1 noundef zeroext false)
  %256 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %257 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %258 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %256, i32 noundef 0, i1 noundef zeroext %257)
  %259 = fmul double %253, %255
  %260 = fmul double %259, %258
  %261 = fcmp oeq double %260, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #4
  br i1 %261, label %262, label %277

262:                                              ; preds = %.critedge831
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %263 unwind label %331

263:                                              ; preds = %262
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.1)
          to label %264 unwind label %333

264:                                              ; preds = %263
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %265 unwind label %335

265:                                              ; preds = %264
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %266 unwind label %337

266:                                              ; preds = %265
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull @.str.2)
          to label %267 unwind label %339

267:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %268 unwind label %341

268:                                              ; preds = %267
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %269 unwind label %343

269:                                              ; preds = %268
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.4)
          to label %270 unwind label %345

270:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #4
  store i32 83, ptr %54, align 4, !tbaa !25
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 4 dereferenceable(4) %54)
          to label %271 unwind label %347

271:                                              ; preds = %270
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %272 unwind label %349

272:                                              ; preds = %271
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %273 unwind label %351

273:                                              ; preds = %272
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %59) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %274 unwind label %353

274:                                              ; preds = %273
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %275 unwind label %355

275:                                              ; preds = %274
  %276 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %41, ptr noundef nonnull %55, i32 noundef 0)
          to label %.critedge846 unwind label %357

277:                                              ; preds = %.critedge831
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #4
  br label %.critedge867

.critedge846:                                     ; preds = %275
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #4
  br label %.critedge867

.critedge867:                                     ; preds = %277, %.critedge846
  %278 = fcmp ogt double %260, 0.000000e+00
  br i1 %278, label %279, label %372

279:                                              ; preds = %.critedge867
  %280 = fdiv double %103, %255
  %281 = insertelement <2 x double> poison, double %100, i64 0
  %282 = insertelement <2 x double> %281, double %101, i64 1
  %283 = insertelement <2 x double> poison, double %253, i64 0
  %284 = insertelement <2 x double> %283, double %258, i64 1
  %285 = fdiv <2 x double> %282, %284
  %286 = extractelement <2 x double> %285, i64 0
  %287 = fadd double %286, %280
  %288 = extractelement <2 x double> %285, i64 1
  %289 = fadd double %287, %288
  br label %372

290:                                              ; preds = %236
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %330

292:                                              ; preds = %237
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %329

294:                                              ; preds = %238
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %328

296:                                              ; preds = %239
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %327

298:                                              ; preds = %240
  %299 = landingpad { ptr, i32 }
          cleanup
  br label %326

300:                                              ; preds = %241
  %301 = landingpad { ptr, i32 }
          cleanup
  br label %325

302:                                              ; preds = %242
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %324

304:                                              ; preds = %243
  %305 = landingpad { ptr, i32 }
          cleanup
  br label %323

306:                                              ; preds = %244
  %307 = landingpad { ptr, i32 }
          cleanup
  br label %322

308:                                              ; preds = %245
  %309 = landingpad { ptr, i32 }
          cleanup
  br label %321

310:                                              ; preds = %246
  %311 = landingpad { ptr, i32 }
          cleanup
  br label %320

312:                                              ; preds = %247
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %319

314:                                              ; preds = %248
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %318

316:                                              ; preds = %249
  %317 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #4
  br label %318

318:                                              ; preds = %314, %316
  %.pn = phi { ptr, i32 } [ %317, %316 ], [ %315, %314 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #4
  br label %319

319:                                              ; preds = %312, %318
  %.pn.pn = phi { ptr, i32 } [ %.pn, %318 ], [ %313, %312 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #4
  br label %320

320:                                              ; preds = %310, %319
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %319 ], [ %311, %310 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #4
  br label %321

321:                                              ; preds = %308, %320
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %320 ], [ %309, %308 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #4
  br label %322

322:                                              ; preds = %321, %306
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %321 ], [ %307, %306 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #4
  br label %323

323:                                              ; preds = %304, %322
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %322 ], [ %305, %304 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #4
  br label %324

324:                                              ; preds = %302, %323
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %323 ], [ %303, %302 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #4
  br label %325

325:                                              ; preds = %300, %324
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %324 ], [ %301, %300 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #4
  br label %326

326:                                              ; preds = %298, %325
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %325 ], [ %299, %298 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #4
  br label %327

327:                                              ; preds = %296, %326
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %326 ], [ %297, %296 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #4
  br label %328

328:                                              ; preds = %294, %327
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %327 ], [ %295, %294 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #4
  br label %329

329:                                              ; preds = %292, %328
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %328 ], [ %293, %292 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #4
  br label %330

330:                                              ; preds = %290, %329
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %329 ], [ %291, %290 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #4
  br label %544

331:                                              ; preds = %262
  %332 = landingpad { ptr, i32 }
          cleanup
  br label %371

333:                                              ; preds = %263
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %370

335:                                              ; preds = %264
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %369

337:                                              ; preds = %265
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %368

339:                                              ; preds = %266
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %367

341:                                              ; preds = %267
  %342 = landingpad { ptr, i32 }
          cleanup
  br label %366

343:                                              ; preds = %268
  %344 = landingpad { ptr, i32 }
          cleanup
  br label %365

345:                                              ; preds = %269
  %346 = landingpad { ptr, i32 }
          cleanup
  br label %364

347:                                              ; preds = %270
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %363

349:                                              ; preds = %271
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %362

351:                                              ; preds = %272
  %352 = landingpad { ptr, i32 }
          cleanup
  br label %361

353:                                              ; preds = %273
  %354 = landingpad { ptr, i32 }
          cleanup
  br label %360

355:                                              ; preds = %274
  %356 = landingpad { ptr, i32 }
          cleanup
  br label %359

357:                                              ; preds = %275
  %358 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #4
  br label %359

359:                                              ; preds = %355, %357
  %.pn698 = phi { ptr, i32 } [ %358, %357 ], [ %356, %355 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #4
  br label %360

360:                                              ; preds = %353, %359
  %.pn698.pn = phi { ptr, i32 } [ %.pn698, %359 ], [ %354, %353 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #4
  br label %361

361:                                              ; preds = %351, %360
  %.pn698.pn.pn = phi { ptr, i32 } [ %.pn698.pn, %360 ], [ %352, %351 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #4
  br label %362

362:                                              ; preds = %349, %361
  %.pn698.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn, %361 ], [ %350, %349 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #4
  br label %363

363:                                              ; preds = %362, %347
  %.pn698.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn, %362 ], [ %348, %347 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #4
  br label %364

364:                                              ; preds = %345, %363
  %.pn698.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn.pn, %363 ], [ %346, %345 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #4
  br label %365

365:                                              ; preds = %343, %364
  %.pn698.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn.pn.pn, %364 ], [ %344, %343 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #4
  br label %366

366:                                              ; preds = %341, %365
  %.pn698.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn.pn.pn.pn, %365 ], [ %342, %341 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #4
  br label %367

367:                                              ; preds = %339, %366
  %.pn698.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn.pn.pn.pn.pn, %366 ], [ %340, %339 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #4
  br label %368

368:                                              ; preds = %337, %367
  %.pn698.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn.pn.pn.pn.pn.pn, %367 ], [ %338, %337 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #4
  br label %369

369:                                              ; preds = %335, %368
  %.pn698.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn.pn.pn.pn.pn.pn.pn, %368 ], [ %336, %335 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #4
  br label %370

370:                                              ; preds = %333, %369
  %.pn698.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %369 ], [ %334, %333 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #4
  br label %371

371:                                              ; preds = %331, %370
  %.pn698.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn698.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %370 ], [ %332, %331 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #4
  br label %544

372:                                              ; preds = %.critedge867, %279
  %.0477 = phi double [ %289, %279 ], [ 1.000000e+32, %.critedge867 ]
  %373 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %374 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %375 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %373, i32 noundef 1, i1 noundef zeroext %374)
  %376 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %0)
  %377 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %376, i32 noundef 1, i1 noundef zeroext false)
  %378 = call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %379 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %380 = call noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152) %378, i32 noundef 1, i1 noundef zeroext %379)
  %381 = fmul double %375, %377
  %382 = fmul double %381, %380
  %383 = fcmp oeq double %382, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %73) #4
  br i1 %383, label %384, label %399

384:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %67) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %385 unwind label %412

385:                                              ; preds = %384
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str.1)
          to label %386 unwind label %414

386:                                              ; preds = %385
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %69) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %387 unwind label %416

387:                                              ; preds = %386
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %388 unwind label %418

388:                                              ; preds = %387
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.2)
          to label %389 unwind label %420

389:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %71) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %390 unwind label %422

390:                                              ; preds = %389
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %391 unwind label %424

391:                                              ; preds = %390
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.4)
          to label %392 unwind label %426

392:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #4
  store i32 93, ptr %73, align 4, !tbaa !25
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 4 dereferenceable(4) %73)
          to label %393 unwind label %428

393:                                              ; preds = %392
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %394 unwind label %430

394:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %395 unwind label %432

395:                                              ; preds = %394
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %396 unwind label %434

396:                                              ; preds = %395
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %397 unwind label %436

397:                                              ; preds = %396
  %398 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %60, ptr noundef nonnull %74, i32 noundef 0)
          to label %.critedge882 unwind label %438

399:                                              ; preds = %372
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #4
  br label %.critedge903

.critedge882:                                     ; preds = %397
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %67) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #4
  br label %.critedge903

.critedge903:                                     ; preds = %399, %.critedge882
  %400 = fcmp ogt double %382, 0.000000e+00
  br i1 %400, label %401, label %453

401:                                              ; preds = %.critedge903
  %402 = fdiv double %103, %377
  %403 = insertelement <2 x double> poison, double %100, i64 0
  %404 = insertelement <2 x double> %403, double %101, i64 1
  %405 = insertelement <2 x double> poison, double %375, i64 0
  %406 = insertelement <2 x double> %405, double %380, i64 1
  %407 = fdiv <2 x double> %404, %406
  %408 = extractelement <2 x double> %407, i64 0
  %409 = fadd double %408, %402
  %410 = extractelement <2 x double> %407, i64 1
  %411 = fadd double %409, %410
  br label %453

412:                                              ; preds = %384
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %452

414:                                              ; preds = %385
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %451

416:                                              ; preds = %386
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %450

418:                                              ; preds = %387
  %419 = landingpad { ptr, i32 }
          cleanup
  br label %449

420:                                              ; preds = %388
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %448

422:                                              ; preds = %389
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %447

424:                                              ; preds = %390
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %446

426:                                              ; preds = %391
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %445

428:                                              ; preds = %392
  %429 = landingpad { ptr, i32 }
          cleanup
  br label %444

430:                                              ; preds = %393
  %431 = landingpad { ptr, i32 }
          cleanup
  br label %443

432:                                              ; preds = %394
  %433 = landingpad { ptr, i32 }
          cleanup
  br label %442

434:                                              ; preds = %395
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %441

436:                                              ; preds = %396
  %437 = landingpad { ptr, i32 }
          cleanup
  br label %440

438:                                              ; preds = %397
  %439 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #4
  br label %440

440:                                              ; preds = %436, %438
  %.pn712 = phi { ptr, i32 } [ %439, %438 ], [ %437, %436 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #4
  br label %441

441:                                              ; preds = %434, %440
  %.pn712.pn = phi { ptr, i32 } [ %.pn712, %440 ], [ %435, %434 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #4
  br label %442

442:                                              ; preds = %432, %441
  %.pn712.pn.pn = phi { ptr, i32 } [ %.pn712.pn, %441 ], [ %433, %432 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #4
  br label %443

443:                                              ; preds = %430, %442
  %.pn712.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn, %442 ], [ %431, %430 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #4
  br label %444

444:                                              ; preds = %443, %428
  %.pn712.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn, %443 ], [ %429, %428 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #4
  br label %445

445:                                              ; preds = %426, %444
  %.pn712.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn.pn, %444 ], [ %427, %426 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #4
  br label %446

446:                                              ; preds = %424, %445
  %.pn712.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn.pn.pn, %445 ], [ %425, %424 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #4
  br label %447

447:                                              ; preds = %422, %446
  %.pn712.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn.pn.pn.pn, %446 ], [ %423, %422 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #4
  br label %448

448:                                              ; preds = %420, %447
  %.pn712.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn.pn.pn.pn.pn, %447 ], [ %421, %420 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #4
  br label %449

449:                                              ; preds = %418, %448
  %.pn712.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn.pn.pn.pn.pn.pn, %448 ], [ %419, %418 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #4
  br label %450

450:                                              ; preds = %416, %449
  %.pn712.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn.pn.pn.pn.pn.pn.pn, %449 ], [ %417, %416 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #4
  br label %451

451:                                              ; preds = %414, %450
  %.pn712.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %450 ], [ %415, %414 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #4
  br label %452

452:                                              ; preds = %412, %451
  %.pn712.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn712.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %451 ], [ %413, %412 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %67) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #4
  br label %544

453:                                              ; preds = %401, %.critedge903
  %.0480 = phi double [ %411, %401 ], [ 1.000000e+32, %.critedge903 ]
  %454 = insertelement <2 x double> poison, double %.0477, i64 0
  %455 = insertelement <2 x double> %454, double %.0480, i64 1
  %456 = fdiv <2 x double> <double 1.000000e+00, double 1.000000e+00>, %455
  %shift = shufflevector <2 x double> %456, <2 x double> poison, <2 x i32> <i32 1, i32 poison>
  %457 = fadd <2 x double> %456, %shift
  %458 = extractelement <2 x double> %457, i64 0
  %459 = fdiv double 1.000000e+00, %458
  br label %483

460:                                              ; preds = %233
  %461 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %462 = tail call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %98)
  %463 = tail call noundef double @_ZNK9ElemModel14getConductanceERK5Fluidb(ptr noundef nonnull align 8 dereferenceable(152) %461, ptr noundef nonnull align 8 dereferenceable(80) %1, i1 noundef zeroext %462)
  %464 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %0)
  %465 = tail call noundef double @_ZNK9ElemModel14getConductanceERK5Fluidb(ptr noundef nonnull align 8 dereferenceable(152) %464, ptr noundef nonnull align 8 dereferenceable(80) %1, i1 noundef zeroext false)
  %466 = tail call noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %467 = tail call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %99)
  %468 = tail call noundef double @_ZNK9ElemModel14getConductanceERK5Fluidb(ptr noundef nonnull align 8 dereferenceable(152) %466, ptr noundef nonnull align 8 dereferenceable(80) %1, i1 noundef zeroext %467)
  %469 = fmul double %463, %465
  %470 = fmul double %469, %468
  %471 = fcmp ugt double %470, 1.000000e-150
  br i1 %471, label %472, label %.thread943

.thread943:                                       ; preds = %460
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %92) #4
  br label %500

472:                                              ; preds = %460
  %473 = fdiv double %103, %465
  %474 = insertelement <2 x double> poison, double %100, i64 0
  %475 = insertelement <2 x double> %474, double %101, i64 1
  %476 = insertelement <2 x double> poison, double %463, i64 0
  %477 = insertelement <2 x double> %476, double %468, i64 1
  %478 = fdiv <2 x double> %475, %477
  %479 = extractelement <2 x double> %478, i64 0
  %480 = fadd double %479, %473
  %481 = extractelement <2 x double> %478, i64 1
  %482 = fadd double %480, %481
  br label %483

483:                                              ; preds = %472, %453, %.critedge795
  %.2 = phi double [ %191, %.critedge795 ], [ %459, %453 ], [ %482, %472 ]
  %484 = fcmp ule double %.2, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %92) #4
  br i1 %484, label %485, label %500

485:                                              ; preds = %483
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %84) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %86) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %486 unwind label %503

486:                                              ; preds = %485
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull @.str.1)
          to label %487 unwind label %505

487:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @__FUNCTION__._ZN6Throat6calcR2ERK5Fluid, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %488 unwind label %507

488:                                              ; preds = %487
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %489 unwind label %509

489:                                              ; preds = %488
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.2)
          to label %490 unwind label %511

490:                                              ; preds = %489
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %491 unwind label %513

491:                                              ; preds = %490
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %492 unwind label %515

492:                                              ; preds = %491
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull @.str.4)
          to label %493 unwind label %517

493:                                              ; preds = %492
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #4
  store i32 133, ptr %92, align 4, !tbaa !25
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef nonnull align 4 dereferenceable(4) %92)
          to label %494 unwind label %519

494:                                              ; preds = %493
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %495 unwind label %521

495:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %95) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %496 unwind label %523

496:                                              ; preds = %495
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %97) #4
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #4
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %497 unwind label %525

497:                                              ; preds = %496
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %498 unwind label %527

498:                                              ; preds = %497
  %499 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %79, ptr noundef nonnull %93, i32 noundef 0)
          to label %.critedge918 unwind label %529

500:                                              ; preds = %483, %.thread943
  %.2946 = phi double [ 5.000000e+49, %.thread943 ], [ %.2, %483 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %92) #4
  br label %.critedge939

.critedge918:                                     ; preds = %498
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %92) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #4
  br label %.critedge939

.critedge939:                                     ; preds = %500, %.critedge918
  %.2945949 = phi double [ %.2946, %500 ], [ %.2, %.critedge918 ]
  %501 = call noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80) %1)
  %502 = fdiv double 1.000000e+00, %.2945949
  call void @_ZNK4Elem17setPoreToPoreCondE6fluidfd(ptr noundef nonnull align 8 dereferenceable(408) %0, i16 noundef zeroext %501, double noundef %502)
  br label %547

503:                                              ; preds = %485
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %543

505:                                              ; preds = %486
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %542

507:                                              ; preds = %487
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %541

509:                                              ; preds = %488
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %540

511:                                              ; preds = %489
  %512 = landingpad { ptr, i32 }
          cleanup
  br label %539

513:                                              ; preds = %490
  %514 = landingpad { ptr, i32 }
          cleanup
  br label %538

515:                                              ; preds = %491
  %516 = landingpad { ptr, i32 }
          cleanup
  br label %537

517:                                              ; preds = %492
  %518 = landingpad { ptr, i32 }
          cleanup
  br label %536

519:                                              ; preds = %493
  %520 = landingpad { ptr, i32 }
          cleanup
  br label %535

521:                                              ; preds = %494
  %522 = landingpad { ptr, i32 }
          cleanup
  br label %534

523:                                              ; preds = %495
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %533

525:                                              ; preds = %496
  %526 = landingpad { ptr, i32 }
          cleanup
  br label %532

527:                                              ; preds = %497
  %528 = landingpad { ptr, i32 }
          cleanup
  br label %531

529:                                              ; preds = %498
  %530 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #4
  br label %531

531:                                              ; preds = %527, %529
  %.pn745 = phi { ptr, i32 } [ %530, %529 ], [ %528, %527 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #4
  br label %532

532:                                              ; preds = %525, %531
  %.pn745.pn = phi { ptr, i32 } [ %.pn745, %531 ], [ %526, %525 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #4
  br label %533

533:                                              ; preds = %523, %532
  %.pn745.pn.pn = phi { ptr, i32 } [ %.pn745.pn, %532 ], [ %524, %523 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #4
  br label %534

534:                                              ; preds = %521, %533
  %.pn745.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn, %533 ], [ %522, %521 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #4
  br label %535

535:                                              ; preds = %534, %519
  %.pn745.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn, %534 ], [ %520, %519 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %92) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #4
  br label %536

536:                                              ; preds = %517, %535
  %.pn745.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn, %535 ], [ %518, %517 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #4
  br label %537

537:                                              ; preds = %515, %536
  %.pn745.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn.pn, %536 ], [ %516, %515 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #4
  br label %538

538:                                              ; preds = %513, %537
  %.pn745.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn.pn.pn, %537 ], [ %514, %513 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #4
  br label %539

539:                                              ; preds = %511, %538
  %.pn745.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn.pn.pn.pn, %538 ], [ %512, %511 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #4
  br label %540

540:                                              ; preds = %509, %539
  %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn.pn.pn.pn.pn, %539 ], [ %510, %509 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #4
  br label %541

541:                                              ; preds = %507, %540
  %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn, %540 ], [ %508, %507 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #4
  br label %542

542:                                              ; preds = %505, %541
  %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %541 ], [ %506, %505 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #4
  br label %543

543:                                              ; preds = %503, %542
  %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %542 ], [ %504, %503 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #4
  br label %544

544:                                              ; preds = %452, %330, %371, %543, %232
  %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %543 ], [ %.pn727.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %232 ], [ %.pn712.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %452 ], [ %.pn698.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %371 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %330 ]
  resume { ptr, i32 } %.pn745.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn

545:                                              ; preds = %130, %128
  %546 = tail call noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80) %1)
  tail call void @_ZNK4Elem17setPoreToPoreCondE6fluidfd(ptr noundef nonnull align 8 dereferenceable(408) %0, i16 noundef zeroext %546, double noundef 0.000000e+00)
  br label %547

547:                                              ; preds = %545, %.critedge939
  ret void
}

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4Elem4neibEi(ptr noundef nonnull align 8 dereferenceable(408), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK6Throat10poreLengthEi(ptr noundef nonnull align 8 dereferenceable(456), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4Elem5modelEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK9ElemModel11conductsAnyERK5Fluid(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(80)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK5Fluid5isOilEv(ptr noundef nonnull align 8 dereferenceable(80)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK9ElemModel25disConectedCentreWCornerWEv(ptr noundef nonnull align 8 dereferenceable(152)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i16 @_ZNK5Fluid2ffEv(ptr noundef nonnull align 8 dereferenceable(80)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK9ElemModel21electricalConductanceEv(ptr noundef nonnull align 8 dereferenceable(152)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK4Elem10clayVolumeEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(80) ptr @_ZNK7GNMData4clayEv(ptr noundef nonnull align 8 dereferenceable(984)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK5Fluid11resistivityEv(ptr noundef nonnull align 8 dereferenceable(80)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef double @_ZNK9ElemModel19getWaterConductanceE9FluidBlobb(ptr noundef nonnull align 8 dereferenceable(152), i32 noundef, i1 noundef zeroext) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef double @_ZNK9ElemModel14getConductanceERK5Fluidb(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(80), i1 noundef zeroext) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK4Elem17setPoreToPoreCondE6fluidfd(ptr noundef nonnull align 8 dereferenceable(408), i16 noundef zeroext, double noundef) local_unnamed_addr #2 align 2

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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, !12, i64 448}
!6 = !{!"_ZTS6Throat", !7, i64 0, !14, i64 408, !10, i64 416, !21, i64 432, !12, i64 448}
!7 = !{!"_ZTS4Elem", !8, i64 0, !10, i64 104, !9, i64 224, !14, i64 228, !13, i64 232, !12, i64 240, !12, i64 248, !14, i64 256, !16, i64 264, !13, i64 288, !12, i64 296, !9, i64 304, !9, i64 305, !9, i64 306, !9, i64 307, !9, i64 308, !9, i64 309, !9, i64 310, !9, i64 311, !9, i64 312, !9, i64 313, !15, i64 320, !15, i64 336, !15, i64 352, !14, i64 368, !14, i64 372, !14, i64 376, !14, i64 380, !20, i64 384}
!8 = !{!"_ZTS4Apex", !9, i64 8, !12, i64 16, !12, i64 24, !13, i64 32, !14, i64 40, !12, i64 48, !12, i64 56, !12, i64 64, !12, i64 72, !9, i64 80, !9, i64 81, !9, i64 82, !9, i64 83, !15, i64 88}
!9 = !{!"bool", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"double", !10, i64 0}
!13 = !{!"any pointer", !10, i64 0}
!14 = !{!"int", !10, i64 0}
!15 = !{!"_ZTSSt4pairIidE", !14, i64 0, !12, i64 8}
!16 = !{!"_ZTSSt6vectorIP4ElemSaIS1_EE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseIP4ElemSaIS1_EE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIP4ElemSaIS1_EE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIP4ElemSaIS1_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!20 = !{!"_ZTS4var3IdE", !12, i64 0, !12, i64 8, !12, i64 16}
!21 = !{!"_ZTSSt5arrayIdLm2EE", !10, i64 0}
!22 = !{!7, !9, i64 310}
!23 = !{i8 0, i8 2}
!24 = !{}
!25 = !{!14, !14, i64 0}
!26 = !{!7, !13, i64 232}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass