; LLVM IR from ImperialCollegeLondon/pnflow :: src/pnm/pnflow/ElementThroat.ll (ZN6Throat14addConnectionsEP4ElemS1_ddbb)

; 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::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"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.var3 = type { double, double, double }
%"class.std::allocator.5" = type { i8 }
%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.Throat = type { %class.Elem, i32, [2 x ptr], %"struct.std::array", double }
%"struct.std::array" = type { [2 x double] }

@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [11 x i8], align 1
@__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb = external hidden unnamed_addr constant [15 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.17 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [48 x i8], align 1

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #0

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #1

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

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #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) #1

; 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)) #1

; 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) #1

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 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 #4 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)) #4

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16), i64 noundef) #3 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6Throat14addConnectionsEP4ElemS1_ddbb(ptr noundef nonnull align 8 dereferenceable(456) %0, ptr noundef %1, ptr noundef %2, double noundef %3, double noundef %4, i1 noundef zeroext %5, i1 noundef zeroext %6) #4 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca i8, align 1
  %14 = alloca i8, align 1
  %15 = alloca %class.var3, align 8
  %16 = alloca %class.var3, align 8
  %17 = alloca double, align 8
  %18 = alloca double, align 8
  %19 = alloca double, align 8
  %20 = alloca double, align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::__cxx11::basic_string", align 8
  %31 = alloca i1, align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca i1, align 1
  %34 = alloca %"class.std::allocator.5", align 1
  %35 = alloca i1, align 1
  %36 = alloca i1, align 1
  %37 = alloca ptr, align 8
  %38 = alloca i32, align 4
  %39 = alloca i1, align 1
  %40 = alloca i1, align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca i1, align 1
  %43 = alloca %"class.std::allocator.5", align 1
  %44 = alloca i1, align 1
  %45 = alloca i1, align 1
  %46 = alloca i1, align 1
  %47 = alloca i1, align 1
  %48 = alloca i1, align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca i1, align 1
  %51 = alloca %"class.std::allocator.5", align 1
  %52 = alloca i1, align 1
  %53 = alloca i1, align 1
  %54 = alloca i1, align 1
  %55 = alloca i1, align 1
  %56 = alloca i1, align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca i1, align 1
  %59 = alloca i32, align 4
  %60 = alloca i1, align 1
  %61 = alloca i1, align 1
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca i1, align 1
  %65 = alloca %"class.std::allocator.5", align 1
  %66 = alloca i1, align 1
  %67 = alloca i1, align 1
  %68 = alloca i1, align 1
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca i1, align 1
  %71 = alloca %"class.std::allocator.5", align 1
  %72 = alloca i1, align 1
  %73 = alloca i1, align 1
  %74 = alloca i1, align 1
  %75 = alloca i1, align 1
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca i1, align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca i1, align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca i1, align 1
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca i1, align 1
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca i1, align 1
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca i1, align 1
  %89 = alloca %"class.std::allocator.5", align 1
  %90 = alloca i1, align 1
  %91 = alloca i1, align 1
  %92 = alloca i1, align 1
  %93 = alloca i1, align 1
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca i1, align 1
  %96 = alloca %"class.std::allocator.5", align 1
  %97 = alloca i1, align 1
  %98 = alloca i1, align 1
  %99 = alloca i1, align 1
  %100 = alloca i1, align 1
  %101 = alloca i1, align 1
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca i1, align 1
  %104 = alloca %"class.std::allocator.5", align 1
  %105 = alloca i1, align 1
  %106 = alloca i1, align 1
  %107 = alloca i1, align 1
  %108 = alloca i1, align 1
  %109 = alloca i1, align 1
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca i1, align 1
  %112 = alloca i32, align 4
  %113 = alloca i1, align 1
  %114 = alloca i1, align 1
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca i1, align 1
  %118 = alloca %"class.std::allocator.5", align 1
  %119 = alloca i1, align 1
  %120 = alloca i1, align 1
  %121 = alloca i1, align 1
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca i1, align 1
  %124 = alloca %"class.std::allocator.5", align 1
  %125 = alloca i1, align 1
  %126 = alloca i1, align 1
  %127 = alloca i1, align 1
  %128 = alloca i1, align 1
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca i1, align 1
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca i1, align 1
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca i1, align 1
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca i1, align 1
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca i1, align 1
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca i1, align 1
  %142 = alloca %"class.std::allocator.5", align 1
  %143 = alloca i1, align 1
  %144 = alloca i1, align 1
  %145 = alloca i1, align 1
  %146 = alloca i1, align 1
  %147 = alloca %"class.std::__cxx11::basic_string", align 8
  %148 = alloca i1, align 1
  %149 = alloca %"class.std::allocator.5", align 1
  %150 = alloca i1, align 1
  %151 = alloca i1, align 1
  %152 = alloca i1, align 1
  %153 = alloca i1, align 1
  %154 = alloca i1, align 1
  %155 = alloca %"class.std::__cxx11::basic_string", align 8
  %156 = alloca i1, align 1
  %157 = alloca %"class.std::allocator.5", align 1
  %158 = alloca i1, align 1
  %159 = alloca i1, align 1
  %160 = alloca i1, align 1
  %161 = alloca i1, align 1
  %162 = alloca i1, align 1
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca i1, align 1
  %165 = alloca i32, align 4
  %166 = alloca i1, align 1
  %167 = alloca i1, align 1
  %168 = alloca %"class.std::__cxx11::basic_string", align 8
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca i1, align 1
  %171 = alloca %"class.std::allocator.5", align 1
  %172 = alloca i1, align 1
  %173 = alloca i1, align 1
  %174 = alloca i1, align 1
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca i1, align 1
  %177 = alloca %"class.std::allocator.5", align 1
  %178 = alloca i1, align 1
  %179 = alloca i1, align 1
  %180 = alloca i1, align 1
  %181 = alloca i1, align 1
  %182 = alloca %"class.std::__cxx11::basic_string", align 8
  %183 = alloca %"class.std::__cxx11::basic_string", align 8
  %184 = alloca i1, align 1
  %185 = alloca %"class.std::__cxx11::basic_string", align 8
  %186 = alloca i1, align 1
  %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::allocator.5", align 1
  %196 = alloca i1, align 1
  %197 = alloca i1, align 1
  %198 = alloca i1, align 1
  %199 = alloca i1, align 1
  %200 = alloca %"class.std::__cxx11::basic_string", align 8
  %201 = alloca i1, align 1
  %202 = alloca %"class.std::allocator.5", align 1
  %203 = alloca i1, align 1
  %204 = alloca i1, align 1
  %205 = alloca i1, align 1
  %206 = alloca i1, align 1
  %207 = alloca i1, align 1
  %208 = alloca %"class.std::__cxx11::basic_string", align 8
  %209 = alloca i1, align 1
  %210 = alloca %"class.std::allocator.5", align 1
  %211 = alloca i1, align 1
  %212 = alloca i1, align 1
  %213 = alloca i1, align 1
  %214 = alloca i1, align 1
  %215 = alloca i1, align 1
  %216 = alloca %"class.std::__cxx11::basic_string", align 8
  %217 = alloca i1, align 1
  %218 = alloca i32, align 4
  %219 = alloca i1, align 1
  %220 = alloca i1, align 1
  %221 = alloca %"class.std::__cxx11::basic_string", align 8
  %222 = alloca %"class.std::__cxx11::basic_string", align 8
  %223 = alloca i1, align 1
  %224 = alloca %"class.std::allocator.5", align 1
  %225 = alloca i1, align 1
  %226 = alloca i1, align 1
  %227 = alloca i1, align 1
  %228 = alloca %"class.std::__cxx11::basic_string", align 8
  %229 = alloca i1, align 1
  %230 = alloca %"class.std::allocator.5", align 1
  %231 = alloca i1, align 1
  %232 = alloca i1, align 1
  %233 = alloca i1, align 1
  %234 = alloca i1, align 1
  store ptr %0, ptr %8, align 8, !tbaa !5
  store ptr %1, ptr %9, align 8, !tbaa !5
  store ptr %2, ptr %10, align 8, !tbaa !5
  store double %3, ptr %11, align 8, !tbaa !9
  store double %4, ptr %12, align 8, !tbaa !9
  %235 = zext i1 %5 to i8
  store i8 %235, ptr %13, align 1, !tbaa !11
  %236 = zext i1 %6 to i8
  store i8 %236, ptr %14, align 1, !tbaa !11
  %237 = load ptr, ptr %8, align 8
  %238 = load i8, ptr %14, align 1, !tbaa !11, !range !13, !noundef !14
  %239 = trunc i8 %238 to i1
  br i1 %239, label %240, label %278

240:                                              ; preds = %7
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #6
  %241 = load ptr, ptr %10, align 8, !tbaa !5
  %242 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %241)
  %243 = load ptr, ptr %9, align 8, !tbaa !5
  %244 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %243)
  call void @_ZNK4var3IdEplERKS0_(ptr dead_on_unwind writable sret(%class.var3) align 8 %16, ptr noundef nonnull align 8 dereferenceable(24) %242, ptr noundef nonnull align 8 dereferenceable(24) %244)
  call void @_ZmlIdE4var3IT_EdRKS2_(ptr dead_on_unwind writable sret(%class.var3) align 8 %15, double noundef 5.000000e-01, ptr noundef nonnull align 8 dereferenceable(24) %16)
  %245 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 28
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %245, ptr align 8 %15, i64 24, i1 false), !tbaa.struct !15
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #6
  %246 = load ptr, ptr %9, align 8, !tbaa !5
  %247 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %246)
  br i1 %247, label %248, label %261

248:                                              ; preds = %240
  %249 = load ptr, ptr %10, align 8, !tbaa !5
  %250 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %249)
  %251 = getelementptr inbounds %class.var3, ptr %250, i32 0, i32 1
  %252 = load double, ptr %251, align 8, !tbaa !16
  %253 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 28
  %254 = getelementptr inbounds %class.var3, ptr %253, i32 0, i32 1
  store double %252, ptr %254, align 8, !tbaa !18
  %255 = load ptr, ptr %10, align 8, !tbaa !5
  %256 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %255)
  %257 = getelementptr inbounds %class.var3, ptr %256, i32 0, i32 2
  %258 = load double, ptr %257, align 8, !tbaa !27
  %259 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 28
  %260 = getelementptr inbounds %class.var3, ptr %259, i32 0, i32 2
  store double %258, ptr %260, align 8, !tbaa !28
  br label %261

261:                                              ; preds = %248, %240
  %262 = load ptr, ptr %10, align 8, !tbaa !5
  %263 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %262)
  br i1 %263, label %264, label %277

264:                                              ; preds = %261
  %265 = load ptr, ptr %9, align 8, !tbaa !5
  %266 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %265)
  %267 = getelementptr inbounds %class.var3, ptr %266, i32 0, i32 1
  %268 = load double, ptr %267, align 8, !tbaa !16
  %269 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 28
  %270 = getelementptr inbounds %class.var3, ptr %269, i32 0, i32 1
  store double %268, ptr %270, align 8, !tbaa !18
  %271 = load ptr, ptr %9, align 8, !tbaa !5
  %272 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %271)
  %273 = getelementptr inbounds %class.var3, ptr %272, i32 0, i32 2
  %274 = load double, ptr %273, align 8, !tbaa !27
  %275 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 28
  %276 = getelementptr inbounds %class.var3, ptr %275, i32 0, i32 2
  store double %274, ptr %276, align 8, !tbaa !28
  br label %277

277:                                              ; preds = %264, %261
  br label %278

278:                                              ; preds = %277, %7
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #6
  %279 = load double, ptr %11, align 8, !tbaa !9
  %280 = load double, ptr %12, align 8, !tbaa !9
  %281 = fadd double %279, %280
  %282 = fmul double %281, 5.000000e-01
  store double %282, ptr %17, align 8, !tbaa !9
  %283 = load ptr, ptr %9, align 8, !tbaa !5
  %284 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %283)
  br i1 %284, label %288, label %285

285:                                              ; preds = %278
  %286 = load ptr, ptr %9, align 8, !tbaa !5
  %287 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %286)
  br i1 %287, label %288, label %291

288:                                              ; preds = %285, %278
  %289 = load ptr, ptr %10, align 8, !tbaa !5
  %290 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %289)
  call void @_ZN4Elem20setGravityCorrectionERK4var3IdE(ptr noundef nonnull align 8 dereferenceable(408) %237, ptr noundef nonnull align 8 dereferenceable(24) %290)
  br label %306

291:                                              ; preds = %285
  %292 = load ptr, ptr %10, align 8, !tbaa !5
  %293 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %292)
  br i1 %293, label %297, label %294

294:                                              ; preds = %291
  %295 = load ptr, ptr %10, align 8, !tbaa !5
  %296 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %295)
  br i1 %296, label %297, label %300

297:                                              ; preds = %294, %291
  %298 = load ptr, ptr %9, align 8, !tbaa !5
  %299 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %298)
  call void @_ZN4Elem20setGravityCorrectionERK4var3IdE(ptr noundef nonnull align 8 dereferenceable(408) %237, ptr noundef nonnull align 8 dereferenceable(24) %299)
  br label %305

300:                                              ; preds = %294
  %301 = load ptr, ptr %9, align 8, !tbaa !5
  %302 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %301)
  %303 = load ptr, ptr %10, align 8, !tbaa !5
  %304 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %303)
  call void @_ZN4Elem20setGravityCorrectionERK4var3IdES3_(ptr noundef nonnull align 8 dereferenceable(408) %237, ptr noundef nonnull align 8 dereferenceable(24) %302, ptr noundef nonnull align 8 dereferenceable(24) %304)
  br label %305

305:                                              ; preds = %300, %297
  br label %306

306:                                              ; preds = %305, %288
  %307 = load ptr, ptr %9, align 8, !tbaa !5
  %308 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %307)
  br i1 %308, label %312, label %309

309:                                              ; preds = %306
  %310 = load ptr, ptr %10, align 8, !tbaa !5
  %311 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %310)
  br i1 %311, label %312, label %320

312:                                              ; preds = %309, %306
  %313 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 19
  store i8 1, ptr %313, align 8, !tbaa !29
  %314 = load ptr, ptr %9, align 8, !tbaa !5
  %315 = load ptr, ptr %9, align 8, !tbaa !5
  %316 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %315)
  call void @_ZN4Elem18isConnectedToEntryEb(ptr noundef nonnull align 8 dereferenceable(408) %314, i1 noundef zeroext %316)
  %317 = load ptr, ptr %10, align 8, !tbaa !5
  %318 = load ptr, ptr %10, align 8, !tbaa !5
  %319 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %318)
  call void @_ZN4Elem18isConnectedToEntryEb(ptr noundef nonnull align 8 dereferenceable(408) %317, i1 noundef zeroext %319)
  br label %335

320:                                              ; preds = %309
  %321 = load ptr, ptr %9, align 8, !tbaa !5
  %322 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %321)
  br i1 %322, label %326, label %323

323:                                              ; preds = %320
  %324 = load ptr, ptr %10, align 8, !tbaa !5
  %325 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %324)
  br i1 %325, label %326, label %334

326:                                              ; preds = %323, %320
  %327 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 18
  store i8 1, ptr %327, align 1, !tbaa !30
  %328 = load ptr, ptr %9, align 8, !tbaa !5
  %329 = load ptr, ptr %9, align 8, !tbaa !5
  %330 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %329)
  call void @_ZN4Elem17isConnectedToExitEb(ptr noundef nonnull align 8 dereferenceable(408) %328, i1 noundef zeroext %330)
  %331 = load ptr, ptr %10, align 8, !tbaa !5
  %332 = load ptr, ptr %10, align 8, !tbaa !5
  %333 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %332)
  call void @_ZN4Elem17isConnectedToExitEb(ptr noundef nonnull align 8 dereferenceable(408) %331, i1 noundef zeroext %333)
  br label %334

334:                                              ; preds = %326, %323
  br label %335

335:                                              ; preds = %334, %312
  %336 = load ptr, ptr %9, align 8, !tbaa !5
  %337 = call noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %336)
  br i1 %337, label %341, label %338

338:                                              ; preds = %335
  %339 = load ptr, ptr %10, align 8, !tbaa !5
  %340 = call noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %339)
  br label %341

341:                                              ; preds = %338, %335
  %342 = phi i1 [ true, %335 ], [ %340, %338 ]
  %343 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 11
  %344 = zext i1 %342 to i8
  store i8 %344, ptr %343, align 8, !tbaa !31
  %345 = load ptr, ptr %9, align 8, !tbaa !5
  %346 = call noundef zeroext i1 @_ZNK4Elem11isInCalcBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %345)
  br i1 %346, label %350, label %347

347:                                              ; preds = %341
  %348 = load ptr, ptr %10, align 8, !tbaa !5
  %349 = call noundef zeroext i1 @_ZNK4Elem11isInCalcBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %348)
  br label %350

350:                                              ; preds = %347, %341
  %351 = phi i1 [ true, %341 ], [ %349, %347 ]
  %352 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 12
  %353 = zext i1 %351 to i8
  store i8 %353, ptr %352, align 1, !tbaa !32
  %354 = load ptr, ptr %9, align 8, !tbaa !5
  %355 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %354)
  br i1 %355, label %359, label %356

356:                                              ; preds = %350
  %357 = load ptr, ptr %10, align 8, !tbaa !5
  %358 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %357)
  br label %359

359:                                              ; preds = %356, %350
  %360 = phi i1 [ true, %350 ], [ %358, %356 ]
  %361 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 20
  %362 = zext i1 %360 to i8
  store i8 %362, ptr %361, align 1, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #6
  %363 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %364 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %363, i64 noundef 0) #6
  %365 = load double, ptr %364, align 8, !tbaa !9
  store double %365, ptr %18, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #6
  %366 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %367 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %366, i64 noundef 1) #6
  %368 = load double, ptr %367, align 8, !tbaa !9
  store double %368, ptr %19, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  %369 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 4
  %370 = load double, ptr %369, align 8, !tbaa !34
  store double %370, ptr %20, align 8, !tbaa !9
  %371 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 11
  %372 = load i8, ptr %371, align 8, !tbaa !31, !range !13, !noundef !14
  %373 = trunc i8 %372 to i1
  br i1 %373, label %374, label %398

374:                                              ; preds = %359
  %375 = load ptr, ptr %10, align 8, !tbaa !5
  %376 = call noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %375)
  br i1 %376, label %398, label %377

377:                                              ; preds = %374
  %378 = load ptr, ptr %10, align 8, !tbaa !5
  %379 = load ptr, ptr %10, align 8, !tbaa !5
  %380 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %379)
  %381 = getelementptr inbounds %class.var3, ptr %380, i32 0, i32 0
  %382 = load double, ptr %381, align 8, !tbaa !37
  %383 = load double, ptr %17, align 8, !tbaa !9
  %384 = fcmp olt double %382, %383
  call void @_ZN4Elem17setOnInletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408) %378, i1 noundef zeroext %384)
  %385 = load ptr, ptr %10, align 8, !tbaa !5
  %386 = load ptr, ptr %10, align 8, !tbaa !5
  %387 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %386)
  %388 = getelementptr inbounds %class.var3, ptr %387, i32 0, i32 0
  %389 = load double, ptr %388, align 8, !tbaa !37
  %390 = load double, ptr %17, align 8, !tbaa !9
  %391 = fcmp ogt double %389, %390
  call void @_ZN4Elem18setOnOutletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408) %385, i1 noundef zeroext %391)
  %392 = load ptr, ptr %10, align 8, !tbaa !5
  %393 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %392)
  br i1 %393, label %394, label %397

394:                                              ; preds = %377
  %395 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %396 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %395, i64 noundef 1) #6
  store double 1.000000e-300, ptr %396, align 8, !tbaa !9
  br label %397

397:                                              ; preds = %394, %377
  br label %1019

398:                                              ; preds = %374, %359
  %399 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 11
  %400 = load i8, ptr %399, align 8, !tbaa !31, !range !13, !noundef !14
  %401 = trunc i8 %400 to i1
  br i1 %401, label %402, label %1018

402:                                              ; preds = %398
  %403 = load ptr, ptr %9, align 8, !tbaa !5
  %404 = call noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %403)
  br i1 %404, label %1018, label %405

405:                                              ; preds = %402
  %406 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %407 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %406, i64 noundef 0) #6
  %408 = load double, ptr %407, align 8, !tbaa !9
  %409 = fcmp ogt double %408, 0.000000e+00
  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 %33, align 1
  store i1 false, ptr %35, align 1
  store i1 false, ptr %36, align 1
  store i1 false, ptr %39, align 1
  store i1 false, ptr %40, align 1
  store i1 false, ptr %42, align 1
  store i1 false, ptr %44, align 1
  store i1 false, ptr %45, align 1
  store i1 false, ptr %46, align 1
  store i1 false, ptr %47, align 1
  store i1 false, ptr %48, align 1
  store i1 false, ptr %50, align 1
  store i1 false, ptr %52, align 1
  store i1 false, ptr %53, align 1
  store i1 false, ptr %54, align 1
  store i1 false, ptr %55, align 1
  store i1 false, ptr %56, align 1
  store i1 false, ptr %58, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #6
  store i1 false, ptr %60, align 1
  store i1 false, ptr %61, align 1
  store i1 false, ptr %64, align 1
  store i1 false, ptr %66, align 1
  store i1 false, ptr %67, align 1
  store i1 false, ptr %68, align 1
  store i1 false, ptr %70, align 1
  store i1 false, ptr %72, align 1
  store i1 false, ptr %73, align 1
  store i1 false, ptr %74, align 1
  store i1 false, ptr %75, align 1
  br i1 %409, label %426, label %410

410:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #6
  store i1 true, ptr %23, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #6
  store i1 true, ptr %25, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  store i1 true, ptr %27, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #6
  store i1 true, ptr %29, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  store i1 true, ptr %31, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #6
  store i1 true, ptr %33, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #6
  store i1 true, ptr %35, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  store i1 true, ptr %36, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %411 unwind label %675

411:                                              ; preds = %410
  store i1 true, ptr %39, 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 %30, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef @.str.7)
          to label %412 unwind label %679

412:                                              ; preds = %411
  store i1 true, ptr %40, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  store i1 true, ptr %42, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #6
  store i1 true, ptr %44, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  store i1 true, ptr %45, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %413 unwind label %683

413:                                              ; preds = %412
  store i1 true, ptr %46, 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 %28, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %414 unwind label %687

414:                                              ; preds = %413
  store i1 true, ptr %47, 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.8)
          to label %415 unwind label %691

415:                                              ; preds = %414
  store i1 true, ptr %48, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #6
  store i1 true, ptr %50, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #6
  store i1 true, ptr %52, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  store i1 true, ptr %53, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %416 unwind label %695

416:                                              ; preds = %415
  store i1 true, ptr %54, 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) %49)
          to label %417 unwind label %699

417:                                              ; preds = %416
  store i1 true, ptr %55, 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 %418 unwind label %703

418:                                              ; preds = %417
  store i1 true, ptr %56, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #6
  store i1 true, ptr %58, align 1
  store i32 180, ptr %59, align 4, !tbaa !38
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %419 unwind label %707

419:                                              ; preds = %418
  store i1 true, ptr %60, 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 %21, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %420 unwind label %711

420:                                              ; preds = %419
  store i1 true, ptr %61, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #6
  store i1 true, ptr %64, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #6
  store i1 true, ptr %66, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #6
  store i1 true, ptr %67, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %421 unwind label %715

421:                                              ; preds = %420
  store i1 true, ptr %68, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #6
  store i1 true, ptr %70, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #6
  store i1 true, ptr %72, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #6
  store i1 true, ptr %73, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %422 unwind label %719

422:                                              ; preds = %421
  store i1 true, ptr %74, 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 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %423 unwind label %723

423:                                              ; preds = %422
  store i1 true, ptr %75, align 1
  %424 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %21, ptr noundef %62, i32 noundef 0)
          to label %425 unwind label %727

425:                                              ; preds = %423
  br label %426

426:                                              ; preds = %425, %405
  %427 = phi i1 [ true, %405 ], [ %424, %425 ]
  %428 = xor i1 %427, true
  %429 = load i1, ptr %75, align 1
  br i1 %429, label %430, label %431

430:                                              ; preds = %426
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %431

431:                                              ; preds = %430, %426
  %432 = load i1, ptr %74, align 1
  br i1 %432, label %433, label %434

433:                                              ; preds = %431
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %434

434:                                              ; preds = %433, %431
  %435 = load i1, ptr %73, align 1
  br i1 %435, label %436, label %437

436:                                              ; preds = %434
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #6
  br label %437

437:                                              ; preds = %436, %434
  %438 = load i1, ptr %72, align 1
  br i1 %438, label %439, label %440

439:                                              ; preds = %437
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #6
  br label %440

440:                                              ; preds = %439, %437
  %441 = load i1, ptr %70, align 1
  br i1 %441, label %442, label %443

442:                                              ; preds = %440
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  br label %443

443:                                              ; preds = %442, %440
  %444 = load i1, ptr %68, align 1
  br i1 %444, label %445, label %446

445:                                              ; preds = %443
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %446

446:                                              ; preds = %445, %443
  %447 = load i1, ptr %67, align 1
  br i1 %447, label %448, label %449

448:                                              ; preds = %446
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #6
  br label %449

449:                                              ; preds = %448, %446
  %450 = load i1, ptr %66, align 1
  br i1 %450, label %451, label %452

451:                                              ; preds = %449
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #6
  br label %452

452:                                              ; preds = %451, %449
  %453 = load i1, ptr %64, align 1
  br i1 %453, label %454, label %455

454:                                              ; preds = %452
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  br label %455

455:                                              ; preds = %454, %452
  %456 = load i1, ptr %61, align 1
  br i1 %456, label %457, label %458

457:                                              ; preds = %455
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %458

458:                                              ; preds = %457, %455
  %459 = load i1, ptr %60, align 1
  br i1 %459, label %460, label %461

460:                                              ; preds = %458
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %461

461:                                              ; preds = %460, %458
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  %462 = load i1, ptr %58, align 1
  br i1 %462, label %463, label %464

463:                                              ; preds = %461
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  br label %464

464:                                              ; preds = %463, %461
  %465 = load i1, ptr %56, align 1
  br i1 %465, label %466, label %467

466:                                              ; preds = %464
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %467

467:                                              ; preds = %466, %464
  %468 = load i1, ptr %55, align 1
  br i1 %468, label %469, label %470

469:                                              ; preds = %467
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %470

470:                                              ; preds = %469, %467
  %471 = load i1, ptr %54, align 1
  br i1 %471, label %472, label %473

472:                                              ; preds = %470
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %473

473:                                              ; preds = %472, %470
  %474 = load i1, ptr %53, align 1
  br i1 %474, label %475, label %476

475:                                              ; preds = %473
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  br label %476

476:                                              ; preds = %475, %473
  %477 = load i1, ptr %52, align 1
  br i1 %477, label %478, label %479

478:                                              ; preds = %476
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #6
  br label %479

479:                                              ; preds = %478, %476
  %480 = load i1, ptr %50, align 1
  br i1 %480, label %481, label %482

481:                                              ; preds = %479
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  br label %482

482:                                              ; preds = %481, %479
  %483 = load i1, ptr %48, align 1
  br i1 %483, label %484, label %485

484:                                              ; preds = %482
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %485

485:                                              ; preds = %484, %482
  %486 = load i1, ptr %47, align 1
  br i1 %486, label %487, label %488

487:                                              ; preds = %485
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %488

488:                                              ; preds = %487, %485
  %489 = load i1, ptr %46, align 1
  br i1 %489, label %490, label %491

490:                                              ; preds = %488
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %491

491:                                              ; preds = %490, %488
  %492 = load i1, ptr %45, align 1
  br i1 %492, label %493, label %494

493:                                              ; preds = %491
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  br label %494

494:                                              ; preds = %493, %491
  %495 = load i1, ptr %44, align 1
  br i1 %495, label %496, label %497

496:                                              ; preds = %494
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #6
  br label %497

497:                                              ; preds = %496, %494
  %498 = load i1, ptr %42, align 1
  br i1 %498, label %499, label %500

499:                                              ; preds = %497
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %500

500:                                              ; preds = %499, %497
  %501 = load i1, ptr %40, align 1
  br i1 %501, label %502, label %503

502:                                              ; preds = %500
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %503

503:                                              ; preds = %502, %500
  %504 = load i1, ptr %39, align 1
  br i1 %504, label %505, label %506

505:                                              ; preds = %503
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %506

506:                                              ; preds = %505, %503
  %507 = load i1, ptr %36, align 1
  br i1 %507, label %508, label %509

508:                                              ; preds = %506
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  br label %509

509:                                              ; preds = %508, %506
  %510 = load i1, ptr %35, align 1
  br i1 %510, label %511, label %512

511:                                              ; preds = %509
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #6
  br label %512

512:                                              ; preds = %511, %509
  %513 = load i1, ptr %33, align 1
  br i1 %513, label %514, label %515

514:                                              ; preds = %512
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %515

515:                                              ; preds = %514, %512
  %516 = load i1, ptr %31, align 1
  br i1 %516, label %517, label %518

517:                                              ; preds = %515
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %518

518:                                              ; preds = %517, %515
  %519 = load i1, ptr %29, align 1
  br i1 %519, label %520, label %521

520:                                              ; preds = %518
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #6
  br label %521

521:                                              ; preds = %520, %518
  %522 = load i1, ptr %27, align 1
  br i1 %522, label %523, label %524

523:                                              ; preds = %521
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  br label %524

524:                                              ; preds = %523, %521
  %525 = load i1, ptr %25, align 1
  br i1 %525, label %526, label %527

526:                                              ; preds = %524
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  br label %527

527:                                              ; preds = %526, %524
  %528 = load i1, ptr %23, align 1
  br i1 %528, label %529, label %530

529:                                              ; preds = %527
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  br label %530

530:                                              ; preds = %529, %527
  %531 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %532 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %531, i64 noundef 1) #6
  %533 = load double, ptr %532, align 8, !tbaa !9
  %534 = fcmp ogt double %533, 0.000000e+00
  store i1 false, ptr %78, align 1
  store i1 false, ptr %80, align 1
  store i1 false, ptr %82, align 1
  store i1 false, ptr %84, align 1
  store i1 false, ptr %86, align 1
  store i1 false, ptr %88, align 1
  store i1 false, ptr %90, 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 %95, align 1
  store i1 false, ptr %97, 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 %103, align 1
  store i1 false, ptr %105, 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 %111, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #6
  store i1 false, ptr %113, align 1
  store i1 false, ptr %114, align 1
  store i1 false, ptr %117, align 1
  store i1 false, ptr %119, align 1
  store i1 false, ptr %120, align 1
  store i1 false, ptr %121, align 1
  store i1 false, ptr %123, align 1
  store i1 false, ptr %125, align 1
  store i1 false, ptr %126, align 1
  store i1 false, ptr %127, align 1
  store i1 false, ptr %128, align 1
  br i1 %534, label %551, label %535

535:                                              ; preds = %530
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #6
  store i1 true, ptr %78, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #6
  store i1 true, ptr %80, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #6
  store i1 true, ptr %82, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #6
  store i1 true, ptr %84, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #6
  store i1 true, ptr %86, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #6
  store i1 true, ptr %88, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %89) #6
  store i1 true, ptr %90, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #6
  store i1 true, ptr %91, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %89)
          to label %536 unwind label %846

536:                                              ; preds = %535
  store i1 true, ptr %92, 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 %85, ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef @.str.7)
          to label %537 unwind label %850

537:                                              ; preds = %536
  store i1 true, ptr %93, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #6
  store i1 true, ptr %95, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %96) #6
  store i1 true, ptr %97, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  store i1 true, ptr %98, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef @__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %538 unwind label %854

538:                                              ; preds = %537
  store i1 true, ptr %99, 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 %83, ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %539 unwind label %858

539:                                              ; preds = %538
  store i1 true, ptr %100, 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 %81, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef @.str.8)
          to label %540 unwind label %862

540:                                              ; preds = %539
  store i1 true, ptr %101, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #6
  store i1 true, ptr %103, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %104) #6
  store i1 true, ptr %105, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  store i1 true, ptr %106, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %541 unwind label %866

541:                                              ; preds = %540
  store i1 true, ptr %107, 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 %79, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %542 unwind label %870

542:                                              ; preds = %541
  store i1 true, ptr %108, 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 %77, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.2)
          to label %543 unwind label %874

543:                                              ; preds = %542
  store i1 true, ptr %109, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #6
  store i1 true, ptr %111, align 1
  store i32 180, ptr %112, align 4, !tbaa !38
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef nonnull align 4 dereferenceable(4) %112)
          to label %544 unwind label %878

544:                                              ; preds = %543
  store i1 true, ptr %113, 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 %76, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %545 unwind label %882

545:                                              ; preds = %544
  store i1 true, ptr %114, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %116) #6
  store i1 true, ptr %117, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %118) #6
  store i1 true, ptr %119, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #6
  store i1 true, ptr %120, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %546 unwind label %886

546:                                              ; preds = %545
  store i1 true, ptr %121, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %122) #6
  store i1 true, ptr %123, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %124) #6
  store i1 true, ptr %125, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #6
  store i1 true, ptr %126, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %124)
          to label %547 unwind label %890

547:                                              ; preds = %546
  store i1 true, ptr %127, 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 %115, ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %548 unwind label %894

548:                                              ; preds = %547
  store i1 true, ptr %128, align 1
  %549 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %76, ptr noundef %115, i32 noundef 0)
          to label %550 unwind label %898

550:                                              ; preds = %548
  br label %551

551:                                              ; preds = %550, %530
  %552 = phi i1 [ true, %530 ], [ %549, %550 ]
  %553 = xor i1 %552, true
  %554 = load i1, ptr %128, align 1
  br i1 %554, label %555, label %556

555:                                              ; preds = %551
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %556

556:                                              ; preds = %555, %551
  %557 = load i1, ptr %127, align 1
  br i1 %557, label %558, label %559

558:                                              ; preds = %556
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %559

559:                                              ; preds = %558, %556
  %560 = load i1, ptr %126, align 1
  br i1 %560, label %561, label %562

561:                                              ; preds = %559
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #6
  br label %562

562:                                              ; preds = %561, %559
  %563 = load i1, ptr %125, align 1
  br i1 %563, label %564, label %565

564:                                              ; preds = %562
  call void @llvm.lifetime.end.p0(i64 1, ptr %124) #6
  br label %565

565:                                              ; preds = %564, %562
  %566 = load i1, ptr %123, align 1
  br i1 %566, label %567, label %568

567:                                              ; preds = %565
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  br label %568

568:                                              ; preds = %567, %565
  %569 = load i1, ptr %121, align 1
  br i1 %569, label %570, label %571

570:                                              ; preds = %568
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %571

571:                                              ; preds = %570, %568
  %572 = load i1, ptr %120, align 1
  br i1 %572, label %573, label %574

573:                                              ; preds = %571
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #6
  br label %574

574:                                              ; preds = %573, %571
  %575 = load i1, ptr %119, align 1
  br i1 %575, label %576, label %577

576:                                              ; preds = %574
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #6
  br label %577

577:                                              ; preds = %576, %574
  %578 = load i1, ptr %117, align 1
  br i1 %578, label %579, label %580

579:                                              ; preds = %577
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #6
  br label %580

580:                                              ; preds = %579, %577
  %581 = load i1, ptr %114, align 1
  br i1 %581, label %582, label %583

582:                                              ; preds = %580
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br label %583

583:                                              ; preds = %582, %580
  %584 = load i1, ptr %113, align 1
  br i1 %584, label %585, label %586

585:                                              ; preds = %583
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %586

586:                                              ; preds = %585, %583
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #6
  %587 = load i1, ptr %111, align 1
  br i1 %587, label %588, label %589

588:                                              ; preds = %586
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #6
  br label %589

589:                                              ; preds = %588, %586
  %590 = load i1, ptr %109, align 1
  br i1 %590, label %591, label %592

591:                                              ; preds = %589
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %592

592:                                              ; preds = %591, %589
  %593 = load i1, ptr %108, align 1
  br i1 %593, label %594, label %595

594:                                              ; preds = %592
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %595

595:                                              ; preds = %594, %592
  %596 = load i1, ptr %107, align 1
  br i1 %596, label %597, label %598

597:                                              ; preds = %595
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %598

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

600:                                              ; preds = %598
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  br label %601

601:                                              ; preds = %600, %598
  %602 = load i1, ptr %105, align 1
  br i1 %602, label %603, label %604

603:                                              ; preds = %601
  call void @llvm.lifetime.end.p0(i64 1, ptr %104) #6
  br label %604

604:                                              ; preds = %603, %601
  %605 = load i1, ptr %103, align 1
  br i1 %605, label %606, label %607

606:                                              ; preds = %604
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #6
  br label %607

607:                                              ; preds = %606, %604
  %608 = load i1, ptr %101, align 1
  br i1 %608, label %609, label %610

609:                                              ; preds = %607
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %610

610:                                              ; preds = %609, %607
  %611 = load i1, ptr %100, align 1
  br i1 %611, label %612, label %613

612:                                              ; preds = %610
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %613

613:                                              ; preds = %612, %610
  %614 = load i1, ptr %99, align 1
  br i1 %614, label %615, label %616

615:                                              ; preds = %613
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %616

616:                                              ; preds = %615, %613
  %617 = load i1, ptr %98, align 1
  br i1 %617, label %618, label %619

618:                                              ; preds = %616
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  br label %619

619:                                              ; preds = %618, %616
  %620 = load i1, ptr %97, align 1
  br i1 %620, label %621, label %622

621:                                              ; preds = %619
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #6
  br label %622

622:                                              ; preds = %621, %619
  %623 = load i1, ptr %95, align 1
  br i1 %623, label %624, label %625

624:                                              ; preds = %622
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  br label %625

625:                                              ; preds = %624, %622
  %626 = load i1, ptr %93, align 1
  br i1 %626, label %627, label %628

627:                                              ; preds = %625
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %628

628:                                              ; preds = %627, %625
  %629 = load i1, ptr %92, 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) %87) #6
  br label %631

631:                                              ; preds = %630, %628
  %632 = load i1, ptr %91, align 1
  br i1 %632, label %633, label %634

633:                                              ; preds = %631
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #6
  br label %634

634:                                              ; preds = %633, %631
  %635 = load i1, ptr %90, align 1
  br i1 %635, label %636, label %637

636:                                              ; preds = %634
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #6
  br label %637

637:                                              ; preds = %636, %634
  %638 = load i1, ptr %88, align 1
  br i1 %638, label %639, label %640

639:                                              ; preds = %637
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #6
  br label %640

640:                                              ; preds = %639, %637
  %641 = load i1, ptr %86, align 1
  br i1 %641, label %642, label %643

642:                                              ; preds = %640
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #6
  br label %643

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

645:                                              ; preds = %643
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  br label %646

646:                                              ; preds = %645, %643
  %647 = load i1, ptr %82, align 1
  br i1 %647, label %648, label %649

648:                                              ; preds = %646
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  br label %649

649:                                              ; preds = %648, %646
  %650 = load i1, ptr %80, align 1
  br i1 %650, label %651, label %652

651:                                              ; preds = %649
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  br label %652

652:                                              ; preds = %651, %649
  %653 = load i1, ptr %78, align 1
  br i1 %653, label %654, label %655

654:                                              ; preds = %652
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  br label %655

655:                                              ; preds = %654, %652
  %656 = load ptr, ptr %9, align 8, !tbaa !5
  %657 = load ptr, ptr %9, align 8, !tbaa !5
  %658 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %657)
  %659 = getelementptr inbounds %class.var3, ptr %658, i32 0, i32 0
  %660 = load double, ptr %659, align 8, !tbaa !37
  %661 = load double, ptr %17, align 8, !tbaa !9
  %662 = fcmp olt double %660, %661
  call void @_ZN4Elem17setOnInletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408) %656, i1 noundef zeroext %662)
  %663 = load ptr, ptr %9, align 8, !tbaa !5
  %664 = load ptr, ptr %9, align 8, !tbaa !5
  %665 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %664)
  %666 = getelementptr inbounds %class.var3, ptr %665, i32 0, i32 0
  %667 = load double, ptr %666, align 8, !tbaa !37
  %668 = load double, ptr %17, align 8, !tbaa !9
  %669 = fcmp ogt double %667, %668
  call void @_ZN4Elem18setOnOutletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408) %663, i1 noundef zeroext %669)
  %670 = load ptr, ptr %9, align 8, !tbaa !5
  %671 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %670)
  br i1 %671, label %672, label %1017

672:                                              ; preds = %655
  %673 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %674 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %673, i64 noundef 0) #6
  store double 1.000000e-300, ptr %674, align 8, !tbaa !9
  br label %1017

675:                                              ; preds = %410
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %37, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %38, align 4
  br label %821

679:                                              ; preds = %411
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %37, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %38, align 4
  br label %817

683:                                              ; preds = %412
  %684 = landingpad { ptr, i32 }
          cleanup
  %685 = extractvalue { ptr, i32 } %684, 0
  store ptr %685, ptr %37, align 8
  %686 = extractvalue { ptr, i32 } %684, 1
  store i32 %686, ptr %38, align 4
  br label %804

687:                                              ; preds = %413
  %688 = landingpad { ptr, i32 }
          cleanup
  %689 = extractvalue { ptr, i32 } %688, 0
  store ptr %689, ptr %37, align 8
  %690 = extractvalue { ptr, i32 } %688, 1
  store i32 %690, ptr %38, align 4
  br label %800

691:                                              ; preds = %414
  %692 = landingpad { ptr, i32 }
          cleanup
  %693 = extractvalue { ptr, i32 } %692, 0
  store ptr %693, ptr %37, align 8
  %694 = extractvalue { ptr, i32 } %692, 1
  store i32 %694, ptr %38, align 4
  br label %796

695:                                              ; preds = %415
  %696 = landingpad { ptr, i32 }
          cleanup
  %697 = extractvalue { ptr, i32 } %696, 0
  store ptr %697, ptr %37, align 8
  %698 = extractvalue { ptr, i32 } %696, 1
  store i32 %698, ptr %38, align 4
  br label %783

699:                                              ; preds = %416
  %700 = landingpad { ptr, i32 }
          cleanup
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %37, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %38, align 4
  br label %779

703:                                              ; preds = %417
  %704 = landingpad { ptr, i32 }
          cleanup
  %705 = extractvalue { ptr, i32 } %704, 0
  store ptr %705, ptr %37, align 8
  %706 = extractvalue { ptr, i32 } %704, 1
  store i32 %706, ptr %38, align 4
  br label %775

707:                                              ; preds = %418
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %37, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %38, align 4
  br label %768

711:                                              ; preds = %419
  %712 = landingpad { ptr, i32 }
          cleanup
  %713 = extractvalue { ptr, i32 } %712, 0
  store ptr %713, ptr %37, align 8
  %714 = extractvalue { ptr, i32 } %712, 1
  store i32 %714, ptr %38, align 4
  br label %764

715:                                              ; preds = %420
  %716 = landingpad { ptr, i32 }
          cleanup
  %717 = extractvalue { ptr, i32 } %716, 0
  store ptr %717, ptr %37, align 8
  %718 = extractvalue { ptr, i32 } %716, 1
  store i32 %718, ptr %38, align 4
  br label %751

719:                                              ; preds = %421
  %720 = landingpad { ptr, i32 }
          cleanup
  %721 = extractvalue { ptr, i32 } %720, 0
  store ptr %721, ptr %37, align 8
  %722 = extractvalue { ptr, i32 } %720, 1
  store i32 %722, ptr %38, align 4
  br label %738

723:                                              ; preds = %422
  %724 = landingpad { ptr, i32 }
          cleanup
  %725 = extractvalue { ptr, i32 } %724, 0
  store ptr %725, ptr %37, align 8
  %726 = extractvalue { ptr, i32 } %724, 1
  store i32 %726, ptr %38, align 4
  br label %734

727:                                              ; preds = %423
  %728 = landingpad { ptr, i32 }
          cleanup
  %729 = extractvalue { ptr, i32 } %728, 0
  store ptr %729, ptr %37, align 8
  %730 = extractvalue { ptr, i32 } %728, 1
  store i32 %730, ptr %38, align 4
  %731 = load i1, ptr %75, align 1
  br i1 %731, label %732, label %733

732:                                              ; preds = %727
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %733

733:                                              ; preds = %732, %727
  br label %734

734:                                              ; preds = %733, %723
  %735 = load i1, ptr %74, align 1
  br i1 %735, label %736, label %737

736:                                              ; preds = %734
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %737

737:                                              ; preds = %736, %734
  br label %738

738:                                              ; preds = %737, %719
  %739 = load i1, ptr %73, align 1
  br i1 %739, label %740, label %741

740:                                              ; preds = %738
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #6
  br label %741

741:                                              ; preds = %740, %738
  %742 = load i1, ptr %72, align 1
  br i1 %742, label %743, label %744

743:                                              ; preds = %741
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #6
  br label %744

744:                                              ; preds = %743, %741
  %745 = load i1, ptr %70, align 1
  br i1 %745, label %746, label %747

746:                                              ; preds = %744
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  br label %747

747:                                              ; preds = %746, %744
  %748 = load i1, ptr %68, align 1
  br i1 %748, label %749, label %750

749:                                              ; preds = %747
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %750

750:                                              ; preds = %749, %747
  br label %751

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

753:                                              ; preds = %751
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #6
  br label %754

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

756:                                              ; preds = %754
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #6
  br label %757

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

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

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

762:                                              ; preds = %760
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %763

763:                                              ; preds = %762, %760
  br label %764

764:                                              ; preds = %763, %711
  %765 = load i1, ptr %60, align 1
  br i1 %765, label %766, label %767

766:                                              ; preds = %764
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %767

767:                                              ; preds = %766, %764
  br label %768

768:                                              ; preds = %767, %707
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  %769 = load i1, ptr %58, align 1
  br i1 %769, label %770, label %771

770:                                              ; preds = %768
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  br label %771

771:                                              ; preds = %770, %768
  %772 = load i1, ptr %56, align 1
  br i1 %772, label %773, label %774

773:                                              ; preds = %771
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %774

774:                                              ; preds = %773, %771
  br label %775

775:                                              ; preds = %774, %703
  %776 = load i1, ptr %55, 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) %24) #6
  br label %778

778:                                              ; preds = %777, %775
  br label %779

779:                                              ; preds = %778, %699
  %780 = load i1, ptr %54, align 1
  br i1 %780, label %781, label %782

781:                                              ; preds = %779
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %782

782:                                              ; preds = %781, %779
  br label %783

783:                                              ; preds = %782, %695
  %784 = load i1, ptr %53, align 1
  br i1 %784, label %785, label %786

785:                                              ; preds = %783
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  br label %786

786:                                              ; preds = %785, %783
  %787 = load i1, ptr %52, align 1
  br i1 %787, label %788, label %789

788:                                              ; preds = %786
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #6
  br label %789

789:                                              ; preds = %788, %786
  %790 = load i1, ptr %50, align 1
  br i1 %790, label %791, label %792

791:                                              ; preds = %789
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  br label %792

792:                                              ; preds = %791, %789
  %793 = load i1, ptr %48, align 1
  br i1 %793, label %794, label %795

794:                                              ; preds = %792
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %795

795:                                              ; preds = %794, %792
  br label %796

796:                                              ; preds = %795, %691
  %797 = load i1, ptr %47, 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) %28) #6
  br label %799

799:                                              ; preds = %798, %796
  br label %800

800:                                              ; preds = %799, %687
  %801 = load i1, ptr %46, align 1
  br i1 %801, label %802, label %803

802:                                              ; preds = %800
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %803

803:                                              ; preds = %802, %800
  br label %804

804:                                              ; preds = %803, %683
  %805 = load i1, ptr %45, align 1
  br i1 %805, label %806, label %807

806:                                              ; preds = %804
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  br label %807

807:                                              ; preds = %806, %804
  %808 = load i1, ptr %44, align 1
  br i1 %808, label %809, label %810

809:                                              ; preds = %807
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #6
  br label %810

810:                                              ; preds = %809, %807
  %811 = load i1, ptr %42, align 1
  br i1 %811, label %812, label %813

812:                                              ; preds = %810
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %813

813:                                              ; preds = %812, %810
  %814 = load i1, ptr %40, align 1
  br i1 %814, label %815, label %816

815:                                              ; preds = %813
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %816

816:                                              ; preds = %815, %813
  br label %817

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

819:                                              ; preds = %817
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %820

820:                                              ; preds = %819, %817
  br label %821

821:                                              ; preds = %820, %675
  %822 = load i1, ptr %36, align 1
  br i1 %822, label %823, label %824

823:                                              ; preds = %821
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  br label %824

824:                                              ; preds = %823, %821
  %825 = load i1, ptr %35, align 1
  br i1 %825, label %826, label %827

826:                                              ; preds = %824
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #6
  br label %827

827:                                              ; preds = %826, %824
  %828 = load i1, ptr %33, align 1
  br i1 %828, label %829, label %830

829:                                              ; preds = %827
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %830

830:                                              ; preds = %829, %827
  %831 = load i1, ptr %31, align 1
  br i1 %831, label %832, label %833

832:                                              ; preds = %830
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %833

833:                                              ; preds = %832, %830
  %834 = load i1, ptr %29, align 1
  br i1 %834, label %835, label %836

835:                                              ; preds = %833
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #6
  br label %836

836:                                              ; preds = %835, %833
  %837 = load i1, ptr %27, align 1
  br i1 %837, label %838, label %839

838:                                              ; preds = %836
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  br label %839

839:                                              ; preds = %838, %836
  %840 = load i1, ptr %25, align 1
  br i1 %840, label %841, label %842

841:                                              ; preds = %839
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  br label %842

842:                                              ; preds = %841, %839
  %843 = load i1, ptr %23, align 1
  br i1 %843, label %844, label %845

844:                                              ; preds = %842
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  br label %845

845:                                              ; preds = %844, %842
  br label %1659

846:                                              ; preds = %535
  %847 = landingpad { ptr, i32 }
          cleanup
  %848 = extractvalue { ptr, i32 } %847, 0
  store ptr %848, ptr %37, align 8
  %849 = extractvalue { ptr, i32 } %847, 1
  store i32 %849, ptr %38, align 4
  br label %992

850:                                              ; preds = %536
  %851 = landingpad { ptr, i32 }
          cleanup
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %37, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %38, align 4
  br label %988

854:                                              ; preds = %537
  %855 = landingpad { ptr, i32 }
          cleanup
  %856 = extractvalue { ptr, i32 } %855, 0
  store ptr %856, ptr %37, align 8
  %857 = extractvalue { ptr, i32 } %855, 1
  store i32 %857, ptr %38, align 4
  br label %975

858:                                              ; preds = %538
  %859 = landingpad { ptr, i32 }
          cleanup
  %860 = extractvalue { ptr, i32 } %859, 0
  store ptr %860, ptr %37, align 8
  %861 = extractvalue { ptr, i32 } %859, 1
  store i32 %861, ptr %38, align 4
  br label %971

862:                                              ; preds = %539
  %863 = landingpad { ptr, i32 }
          cleanup
  %864 = extractvalue { ptr, i32 } %863, 0
  store ptr %864, ptr %37, align 8
  %865 = extractvalue { ptr, i32 } %863, 1
  store i32 %865, ptr %38, align 4
  br label %967

866:                                              ; preds = %540
  %867 = landingpad { ptr, i32 }
          cleanup
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %37, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %38, align 4
  br label %954

870:                                              ; preds = %541
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %37, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %38, align 4
  br label %950

874:                                              ; preds = %542
  %875 = landingpad { ptr, i32 }
          cleanup
  %876 = extractvalue { ptr, i32 } %875, 0
  store ptr %876, ptr %37, align 8
  %877 = extractvalue { ptr, i32 } %875, 1
  store i32 %877, ptr %38, align 4
  br label %946

878:                                              ; preds = %543
  %879 = landingpad { ptr, i32 }
          cleanup
  %880 = extractvalue { ptr, i32 } %879, 0
  store ptr %880, ptr %37, align 8
  %881 = extractvalue { ptr, i32 } %879, 1
  store i32 %881, ptr %38, align 4
  br label %939

882:                                              ; preds = %544
  %883 = landingpad { ptr, i32 }
          cleanup
  %884 = extractvalue { ptr, i32 } %883, 0
  store ptr %884, ptr %37, align 8
  %885 = extractvalue { ptr, i32 } %883, 1
  store i32 %885, ptr %38, align 4
  br label %935

886:                                              ; preds = %545
  %887 = landingpad { ptr, i32 }
          cleanup
  %888 = extractvalue { ptr, i32 } %887, 0
  store ptr %888, ptr %37, align 8
  %889 = extractvalue { ptr, i32 } %887, 1
  store i32 %889, ptr %38, align 4
  br label %922

890:                                              ; preds = %546
  %891 = landingpad { ptr, i32 }
          cleanup
  %892 = extractvalue { ptr, i32 } %891, 0
  store ptr %892, ptr %37, align 8
  %893 = extractvalue { ptr, i32 } %891, 1
  store i32 %893, ptr %38, align 4
  br label %909

894:                                              ; preds = %547
  %895 = landingpad { ptr, i32 }
          cleanup
  %896 = extractvalue { ptr, i32 } %895, 0
  store ptr %896, ptr %37, align 8
  %897 = extractvalue { ptr, i32 } %895, 1
  store i32 %897, ptr %38, align 4
  br label %905

898:                                              ; preds = %548
  %899 = landingpad { ptr, i32 }
          cleanup
  %900 = extractvalue { ptr, i32 } %899, 0
  store ptr %900, ptr %37, align 8
  %901 = extractvalue { ptr, i32 } %899, 1
  store i32 %901, ptr %38, align 4
  %902 = load i1, ptr %128, align 1
  br i1 %902, label %903, label %904

903:                                              ; preds = %898
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %904

904:                                              ; preds = %903, %898
  br label %905

905:                                              ; preds = %904, %894
  %906 = load i1, ptr %127, align 1
  br i1 %906, label %907, label %908

907:                                              ; preds = %905
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %908

908:                                              ; preds = %907, %905
  br label %909

909:                                              ; preds = %908, %890
  %910 = load i1, ptr %126, align 1
  br i1 %910, label %911, label %912

911:                                              ; preds = %909
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #6
  br label %912

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

914:                                              ; preds = %912
  call void @llvm.lifetime.end.p0(i64 1, ptr %124) #6
  br label %915

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

917:                                              ; preds = %915
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  br label %918

918:                                              ; preds = %917, %915
  %919 = load i1, ptr %121, 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) %116) #6
  br label %921

921:                                              ; preds = %920, %918
  br label %922

922:                                              ; preds = %921, %886
  %923 = load i1, ptr %120, align 1
  br i1 %923, label %924, label %925

924:                                              ; preds = %922
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #6
  br label %925

925:                                              ; preds = %924, %922
  %926 = load i1, ptr %119, align 1
  br i1 %926, label %927, label %928

927:                                              ; preds = %925
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #6
  br label %928

928:                                              ; preds = %927, %925
  %929 = load i1, ptr %117, align 1
  br i1 %929, label %930, label %931

930:                                              ; preds = %928
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #6
  br label %931

931:                                              ; preds = %930, %928
  %932 = load i1, ptr %114, align 1
  br i1 %932, label %933, label %934

933:                                              ; preds = %931
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br label %934

934:                                              ; preds = %933, %931
  br label %935

935:                                              ; preds = %934, %882
  %936 = load i1, ptr %113, align 1
  br i1 %936, label %937, label %938

937:                                              ; preds = %935
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %938

938:                                              ; preds = %937, %935
  br label %939

939:                                              ; preds = %938, %878
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #6
  %940 = load i1, ptr %111, align 1
  br i1 %940, label %941, label %942

941:                                              ; preds = %939
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #6
  br label %942

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

944:                                              ; preds = %942
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %945

945:                                              ; preds = %944, %942
  br label %946

946:                                              ; preds = %945, %874
  %947 = load i1, ptr %108, align 1
  br i1 %947, label %948, label %949

948:                                              ; preds = %946
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %949

949:                                              ; preds = %948, %946
  br label %950

950:                                              ; preds = %949, %870
  %951 = load i1, ptr %107, align 1
  br i1 %951, label %952, label %953

952:                                              ; preds = %950
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %953

953:                                              ; preds = %952, %950
  br label %954

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

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

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

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

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

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

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

965:                                              ; preds = %963
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %966

966:                                              ; preds = %965, %963
  br label %967

967:                                              ; preds = %966, %862
  %968 = load i1, ptr %100, align 1
  br i1 %968, label %969, label %970

969:                                              ; preds = %967
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %970

970:                                              ; preds = %969, %967
  br label %971

971:                                              ; preds = %970, %858
  %972 = load i1, ptr %99, align 1
  br i1 %972, label %973, label %974

973:                                              ; preds = %971
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %974

974:                                              ; preds = %973, %971
  br label %975

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

977:                                              ; preds = %975
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  br label %978

978:                                              ; preds = %977, %975
  %979 = load i1, ptr %97, align 1
  br i1 %979, label %980, label %981

980:                                              ; preds = %978
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #6
  br label %981

981:                                              ; preds = %980, %978
  %982 = load i1, ptr %95, align 1
  br i1 %982, label %983, label %984

983:                                              ; preds = %981
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  br label %984

984:                                              ; preds = %983, %981
  %985 = load i1, ptr %93, align 1
  br i1 %985, label %986, label %987

986:                                              ; preds = %984
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %987

987:                                              ; preds = %986, %984
  br label %988

988:                                              ; preds = %987, %850
  %989 = load i1, ptr %92, align 1
  br i1 %989, label %990, label %991

990:                                              ; preds = %988
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br label %991

991:                                              ; preds = %990, %988
  br label %992

992:                                              ; preds = %991, %846
  %993 = load i1, ptr %91, align 1
  br i1 %993, label %994, label %995

994:                                              ; preds = %992
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #6
  br label %995

995:                                              ; preds = %994, %992
  %996 = load i1, ptr %90, align 1
  br i1 %996, label %997, label %998

997:                                              ; preds = %995
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #6
  br label %998

998:                                              ; preds = %997, %995
  %999 = load i1, ptr %88, align 1
  br i1 %999, label %1000, label %1001

1000:                                             ; preds = %998
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #6
  br label %1001

1001:                                             ; preds = %1000, %998
  %1002 = load i1, ptr %86, align 1
  br i1 %1002, label %1003, label %1004

1003:                                             ; preds = %1001
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #6
  br label %1004

1004:                                             ; preds = %1003, %1001
  %1005 = load i1, ptr %84, align 1
  br i1 %1005, label %1006, label %1007

1006:                                             ; preds = %1004
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  br label %1007

1007:                                             ; preds = %1006, %1004
  %1008 = load i1, ptr %82, align 1
  br i1 %1008, label %1009, label %1010

1009:                                             ; preds = %1007
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  br label %1010

1010:                                             ; preds = %1009, %1007
  %1011 = load i1, ptr %80, align 1
  br i1 %1011, label %1012, label %1013

1012:                                             ; preds = %1010
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  br label %1013

1013:                                             ; preds = %1012, %1010
  %1014 = load i1, ptr %78, align 1
  br i1 %1014, label %1015, label %1016

1015:                                             ; preds = %1013
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  br label %1016

1016:                                             ; preds = %1015, %1013
  br label %1659

1017:                                             ; preds = %672, %655
  br label %1018

1018:                                             ; preds = %1017, %402, %398
  br label %1019

1019:                                             ; preds = %1018, %397
  %1020 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %1021 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %1020, i64 noundef 0) #6
  %1022 = load double, ptr %1021, align 8, !tbaa !9
  %1023 = load double, ptr %18, align 8, !tbaa !9
  %1024 = fmul double 1.100000e+00, %1023
  %1025 = fcmp ogt double %1022, %1024
  br i1 %1025, label %1039, label %1026

1026:                                             ; preds = %1019
  %1027 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %1028 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %1027, i64 noundef 1) #6
  %1029 = load double, ptr %1028, align 8, !tbaa !9
  %1030 = load double, ptr %19, align 8, !tbaa !9
  %1031 = fmul double 1.100000e+00, %1030
  %1032 = fcmp ogt double %1029, %1031
  br i1 %1032, label %1039, label %1033

1033:                                             ; preds = %1026
  %1034 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 4
  %1035 = load double, ptr %1034, align 8, !tbaa !34
  %1036 = load double, ptr %20, align 8, !tbaa !9
  %1037 = fmul double 1.100000e+00, %1036
  %1038 = fcmp ogt double %1035, %1037
  br i1 %1038, label %1039, label %1058

1039:                                             ; preds = %1033, %1026, %1019
  %1040 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1041 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1040, ptr noundef @.str.17)
  %1042 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1041, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1043 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1042, ptr noundef @.str.18)
  %1044 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1043, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1045 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1044, ptr noundef @.str.19)
  %1046 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1045, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1047 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1046, ptr noundef @.str.20)
  %1048 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1047, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1049 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1048, ptr noundef @.str.21)
  %1050 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1049, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1051 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1050, ptr noundef @.str.22)
  %1052 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1051, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1053 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1052, ptr noundef @.str.23)
  %1054 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1053, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1055 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1054, ptr noundef @.str.24)
  %1056 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1055, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %1057 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1056, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %1058

1058:                                             ; preds = %1039, %1033
  %1059 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %1060 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %1059, i64 noundef 0) #6
  %1061 = load double, ptr %1060, align 8, !tbaa !9
  %1062 = fcmp ogt double %1061, 0.000000e+00
  store i1 false, ptr %131, align 1
  store i1 false, ptr %133, align 1
  store i1 false, ptr %135, align 1
  store i1 false, ptr %137, align 1
  store i1 false, ptr %139, align 1
  store i1 false, ptr %141, align 1
  store i1 false, ptr %143, 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 %148, align 1
  store i1 false, ptr %150, 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 %156, align 1
  store i1 false, ptr %158, 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 %164, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #6
  store i1 false, ptr %166, align 1
  store i1 false, ptr %167, align 1
  store i1 false, ptr %170, align 1
  store i1 false, ptr %172, align 1
  store i1 false, ptr %173, align 1
  store i1 false, ptr %174, align 1
  store i1 false, ptr %176, align 1
  store i1 false, ptr %178, align 1
  store i1 false, ptr %179, align 1
  store i1 false, ptr %180, align 1
  store i1 false, ptr %181, align 1
  br i1 %1062, label %1079, label %1063

1063:                                             ; preds = %1058
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #6
  store i1 true, ptr %131, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #6
  store i1 true, ptr %133, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #6
  store i1 true, ptr %135, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %136) #6
  store i1 true, ptr %137, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %138) #6
  store i1 true, ptr %139, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %140) #6
  store i1 true, ptr %141, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %142) #6
  store i1 true, ptr %143, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #6
  store i1 true, ptr %144, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %142)
          to label %1064 unwind label %1317

1064:                                             ; preds = %1063
  store i1 true, ptr %145, 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 %138, ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef @.str.7)
          to label %1065 unwind label %1321

1065:                                             ; preds = %1064
  store i1 true, ptr %146, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %147) #6
  store i1 true, ptr %148, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %149) #6
  store i1 true, ptr %150, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #6
  store i1 true, ptr %151, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef @__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb, ptr noundef nonnull align 1 dereferenceable(1) %149)
          to label %1066 unwind label %1325

1066:                                             ; preds = %1065
  store i1 true, ptr %152, 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 %136, ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %1067 unwind label %1329

1067:                                             ; preds = %1066
  store i1 true, ptr %153, 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 %134, ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef @.str.8)
          to label %1068 unwind label %1333

1068:                                             ; preds = %1067
  store i1 true, ptr %154, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %155) #6
  store i1 true, ptr %156, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %157) #6
  store i1 true, ptr %158, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %157) #6
  store i1 true, ptr %159, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %157)
          to label %1069 unwind label %1337

1069:                                             ; preds = %1068
  store i1 true, ptr %160, 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 %132, ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull align 8 dereferenceable(32) %155)
          to label %1070 unwind label %1341

1070:                                             ; preds = %1069
  store i1 true, ptr %161, 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 %130, ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.2)
          to label %1071 unwind label %1345

1071:                                             ; preds = %1070
  store i1 true, ptr %162, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %163) #6
  store i1 true, ptr %164, align 1
  store i32 224, ptr %165, align 4, !tbaa !38
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %163, ptr noundef nonnull align 4 dereferenceable(4) %165)
          to label %1072 unwind label %1349

1072:                                             ; preds = %1071
  store i1 true, ptr %166, 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 %129, ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull align 8 dereferenceable(32) %163)
          to label %1073 unwind label %1353

1073:                                             ; preds = %1072
  store i1 true, ptr %167, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %169) #6
  store i1 true, ptr %170, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %171) #6
  store i1 true, ptr %172, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #6
  store i1 true, ptr %173, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %169, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %171)
          to label %1074 unwind label %1357

1074:                                             ; preds = %1073
  store i1 true, ptr %174, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %175) #6
  store i1 true, ptr %176, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %177) #6
  store i1 true, ptr %178, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #6
  store i1 true, ptr %179, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %177)
          to label %1075 unwind label %1361

1075:                                             ; preds = %1074
  store i1 true, ptr %180, 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 %168, ptr noundef nonnull align 8 dereferenceable(32) %169, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %1076 unwind label %1365

1076:                                             ; preds = %1075
  store i1 true, ptr %181, align 1
  %1077 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %129, ptr noundef %168, i32 noundef 0)
          to label %1078 unwind label %1369

1078:                                             ; preds = %1076
  br label %1079

1079:                                             ; preds = %1078, %1058
  %1080 = phi i1 [ true, %1058 ], [ %1077, %1078 ]
  %1081 = xor i1 %1080, true
  %1082 = load i1, ptr %181, align 1
  br i1 %1082, label %1083, label %1084

1083:                                             ; preds = %1079
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  br label %1084

1084:                                             ; preds = %1083, %1079
  %1085 = load i1, ptr %180, align 1
  br i1 %1085, label %1086, label %1087

1086:                                             ; preds = %1084
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %1087

1087:                                             ; preds = %1086, %1084
  %1088 = load i1, ptr %179, align 1
  br i1 %1088, label %1089, label %1090

1089:                                             ; preds = %1087
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #6
  br label %1090

1090:                                             ; preds = %1089, %1087
  %1091 = load i1, ptr %178, align 1
  br i1 %1091, label %1092, label %1093

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

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

1095:                                             ; preds = %1093
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #6
  br label %1096

1096:                                             ; preds = %1095, %1093
  %1097 = load i1, ptr %174, align 1
  br i1 %1097, label %1098, label %1099

1098:                                             ; preds = %1096
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1099

1099:                                             ; preds = %1098, %1096
  %1100 = load i1, ptr %173, align 1
  br i1 %1100, label %1101, label %1102

1101:                                             ; preds = %1099
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #6
  br label %1102

1102:                                             ; preds = %1101, %1099
  %1103 = load i1, ptr %172, align 1
  br i1 %1103, label %1104, label %1105

1104:                                             ; preds = %1102
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #6
  br label %1105

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

1107:                                             ; preds = %1105
  call void @llvm.lifetime.end.p0(i64 32, ptr %169) #6
  br label %1108

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

1110:                                             ; preds = %1108
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %1111

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

1113:                                             ; preds = %1111
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1114

1114:                                             ; preds = %1113, %1111
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #6
  %1115 = load i1, ptr %164, align 1
  br i1 %1115, label %1116, label %1117

1116:                                             ; preds = %1114
  call void @llvm.lifetime.end.p0(i64 32, ptr %163) #6
  br label %1117

1117:                                             ; preds = %1116, %1114
  %1118 = load i1, ptr %162, align 1
  br i1 %1118, label %1119, label %1120

1119:                                             ; preds = %1117
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1120

1120:                                             ; preds = %1119, %1117
  %1121 = load i1, ptr %161, align 1
  br i1 %1121, label %1122, label %1123

1122:                                             ; preds = %1120
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %1123

1123:                                             ; preds = %1122, %1120
  %1124 = load i1, ptr %160, align 1
  br i1 %1124, label %1125, label %1126

1125:                                             ; preds = %1123
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1126

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

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

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

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

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

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

1135:                                             ; preds = %1134, %1132
  %1136 = load i1, ptr %154, 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) %134) #6
  br label %1138

1138:                                             ; preds = %1137, %1135
  %1139 = load i1, ptr %153, align 1
  br i1 %1139, label %1140, label %1141

1140:                                             ; preds = %1138
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  br label %1141

1141:                                             ; preds = %1140, %1138
  %1142 = load i1, ptr %152, align 1
  br i1 %1142, label %1143, label %1144

1143:                                             ; preds = %1141
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %1144

1144:                                             ; preds = %1143, %1141
  %1145 = load i1, ptr %151, align 1
  br i1 %1145, label %1146, label %1147

1146:                                             ; preds = %1144
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #6
  br label %1147

1147:                                             ; preds = %1146, %1144
  %1148 = load i1, ptr %150, align 1
  br i1 %1148, label %1149, label %1150

1149:                                             ; preds = %1147
  call void @llvm.lifetime.end.p0(i64 1, ptr %149) #6
  br label %1150

1150:                                             ; preds = %1149, %1147
  %1151 = load i1, ptr %148, align 1
  br i1 %1151, label %1152, label %1153

1152:                                             ; preds = %1150
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #6
  br label %1153

1153:                                             ; preds = %1152, %1150
  %1154 = load i1, ptr %146, align 1
  br i1 %1154, label %1155, label %1156

1155:                                             ; preds = %1153
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1156

1156:                                             ; preds = %1155, %1153
  %1157 = load i1, ptr %145, align 1
  br i1 %1157, label %1158, label %1159

1158:                                             ; preds = %1156
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  br label %1159

1159:                                             ; preds = %1158, %1156
  %1160 = load i1, ptr %144, align 1
  br i1 %1160, label %1161, label %1162

1161:                                             ; preds = %1159
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #6
  br label %1162

1162:                                             ; preds = %1161, %1159
  %1163 = load i1, ptr %143, align 1
  br i1 %1163, label %1164, label %1165

1164:                                             ; preds = %1162
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #6
  br label %1165

1165:                                             ; preds = %1164, %1162
  %1166 = load i1, ptr %141, align 1
  br i1 %1166, label %1167, label %1168

1167:                                             ; preds = %1165
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #6
  br label %1168

1168:                                             ; preds = %1167, %1165
  %1169 = load i1, ptr %139, align 1
  br i1 %1169, label %1170, label %1171

1170:                                             ; preds = %1168
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #6
  br label %1171

1171:                                             ; preds = %1170, %1168
  %1172 = load i1, ptr %137, align 1
  br i1 %1172, label %1173, label %1174

1173:                                             ; preds = %1171
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #6
  br label %1174

1174:                                             ; preds = %1173, %1171
  %1175 = load i1, ptr %135, align 1
  br i1 %1175, label %1176, label %1177

1176:                                             ; preds = %1174
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #6
  br label %1177

1177:                                             ; preds = %1176, %1174
  %1178 = load i1, ptr %133, align 1
  br i1 %1178, label %1179, label %1180

1179:                                             ; preds = %1177
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  br label %1180

1180:                                             ; preds = %1179, %1177
  %1181 = load i1, ptr %131, align 1
  br i1 %1181, label %1182, label %1183

1182:                                             ; preds = %1180
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  br label %1183

1183:                                             ; preds = %1182, %1180
  %1184 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 3
  %1185 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %1184, i64 noundef 1) #6
  %1186 = load double, ptr %1185, align 8, !tbaa !9
  %1187 = fcmp ogt double %1186, 0.000000e+00
  store i1 false, ptr %184, align 1
  store i1 false, ptr %186, align 1
  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 %197, align 1
  store i1 false, ptr %198, align 1
  store i1 false, ptr %199, align 1
  store i1 false, ptr %201, align 1
  store i1 false, ptr %203, align 1
  store i1 false, ptr %204, align 1
  store i1 false, ptr %205, align 1
  store i1 false, ptr %206, align 1
  store i1 false, ptr %207, align 1
  store i1 false, ptr %209, align 1
  store i1 false, ptr %211, align 1
  store i1 false, ptr %212, align 1
  store i1 false, ptr %213, align 1
  store i1 false, ptr %214, align 1
  store i1 false, ptr %215, align 1
  store i1 false, ptr %217, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #6
  store i1 false, ptr %219, align 1
  store i1 false, ptr %220, align 1
  store i1 false, ptr %223, align 1
  store i1 false, ptr %225, align 1
  store i1 false, ptr %226, align 1
  store i1 false, ptr %227, align 1
  store i1 false, ptr %229, align 1
  store i1 false, ptr %231, align 1
  store i1 false, ptr %232, align 1
  store i1 false, ptr %233, align 1
  store i1 false, ptr %234, align 1
  br i1 %1187, label %1204, label %1188

1188:                                             ; preds = %1183
  call void @llvm.lifetime.start.p0(i64 32, ptr %183) #6
  store i1 true, ptr %184, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %185) #6
  store i1 true, ptr %186, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %187) #6
  store i1 true, ptr %188, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %189) #6
  store i1 true, ptr %190, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #6
  store i1 true, ptr %192, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %193) #6
  store i1 true, ptr %194, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %195) #6
  store i1 true, ptr %196, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #6
  store i1 true, ptr %197, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %195)
          to label %1189 unwind label %1488

1189:                                             ; preds = %1188
  store i1 true, ptr %198, 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.7)
          to label %1190 unwind label %1492

1190:                                             ; preds = %1189
  store i1 true, ptr %199, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %200) #6
  store i1 true, ptr %201, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %202) #6
  store i1 true, ptr %203, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #6
  store i1 true, ptr %204, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %200, ptr noundef @__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb, ptr noundef nonnull align 1 dereferenceable(1) %202)
          to label %1191 unwind label %1496

1191:                                             ; preds = %1190
  store i1 true, ptr %205, 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) %200)
          to label %1192 unwind label %1500

1192:                                             ; preds = %1191
  store i1 true, ptr %206, 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.8)
          to label %1193 unwind label %1504

1193:                                             ; preds = %1192
  store i1 true, ptr %207, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %208) #6
  store i1 true, ptr %209, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %210) #6
  store i1 true, ptr %211, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  store i1 true, ptr %212, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %210)
          to label %1194 unwind label %1508

1194:                                             ; preds = %1193
  store i1 true, ptr %213, 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 %185, ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef nonnull align 8 dereferenceable(32) %208)
          to label %1195 unwind label %1512

1195:                                             ; preds = %1194
  store i1 true, ptr %214, 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 %183, ptr noundef nonnull align 8 dereferenceable(32) %185, ptr noundef @.str.2)
          to label %1196 unwind label %1516

1196:                                             ; preds = %1195
  store i1 true, ptr %215, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %216) #6
  store i1 true, ptr %217, align 1
  store i32 224, ptr %218, align 4, !tbaa !38
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %216, ptr noundef nonnull align 4 dereferenceable(4) %218)
          to label %1197 unwind label %1520

1197:                                             ; preds = %1196
  store i1 true, ptr %219, 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 %182, ptr noundef nonnull align 8 dereferenceable(32) %183, ptr noundef nonnull align 8 dereferenceable(32) %216)
          to label %1198 unwind label %1524

1198:                                             ; preds = %1197
  store i1 true, ptr %220, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %222) #6
  store i1 true, ptr %223, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %224) #6
  store i1 true, ptr %225, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  store i1 true, ptr %226, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %222, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %224)
          to label %1199 unwind label %1528

1199:                                             ; preds = %1198
  store i1 true, ptr %227, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %228) #6
  store i1 true, ptr %229, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %230) #6
  store i1 true, ptr %231, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %230) #6
  store i1 true, ptr %232, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %228, ptr noundef @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %230)
          to label %1200 unwind label %1532

1200:                                             ; preds = %1199
  store i1 true, ptr %233, 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 %221, ptr noundef nonnull align 8 dereferenceable(32) %222, ptr noundef nonnull align 8 dereferenceable(32) %228)
          to label %1201 unwind label %1536

1201:                                             ; preds = %1200
  store i1 true, ptr %234, align 1
  %1202 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %182, ptr noundef %221, i32 noundef 0)
          to label %1203 unwind label %1540

1203:                                             ; preds = %1201
  br label %1204

1204:                                             ; preds = %1203, %1183
  %1205 = phi i1 [ true, %1183 ], [ %1202, %1203 ]
  %1206 = xor i1 %1205, true
  %1207 = load i1, ptr %234, align 1
  br i1 %1207, label %1208, label %1209

1208:                                             ; preds = %1204
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #6
  br label %1209

1209:                                             ; preds = %1208, %1204
  %1210 = load i1, ptr %233, align 1
  br i1 %1210, label %1211, label %1212

1211:                                             ; preds = %1209
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #6
  br label %1212

1212:                                             ; preds = %1211, %1209
  %1213 = load i1, ptr %232, align 1
  br i1 %1213, label %1214, label %1215

1214:                                             ; preds = %1212
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %230) #6
  br label %1215

1215:                                             ; preds = %1214, %1212
  %1216 = load i1, ptr %231, align 1
  br i1 %1216, label %1217, label %1218

1217:                                             ; preds = %1215
  call void @llvm.lifetime.end.p0(i64 1, ptr %230) #6
  br label %1218

1218:                                             ; preds = %1217, %1215
  %1219 = load i1, ptr %229, align 1
  br i1 %1219, label %1220, label %1221

1220:                                             ; preds = %1218
  call void @llvm.lifetime.end.p0(i64 32, ptr %228) #6
  br label %1221

1221:                                             ; preds = %1220, %1218
  %1222 = load i1, ptr %227, align 1
  br i1 %1222, label %1223, label %1224

1223:                                             ; preds = %1221
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #6
  br label %1224

1224:                                             ; preds = %1223, %1221
  %1225 = load i1, ptr %226, align 1
  br i1 %1225, label %1226, label %1227

1226:                                             ; preds = %1224
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  br label %1227

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

1229:                                             ; preds = %1227
  call void @llvm.lifetime.end.p0(i64 1, ptr %224) #6
  br label %1230

1230:                                             ; preds = %1229, %1227
  %1231 = load i1, ptr %223, align 1
  br i1 %1231, label %1232, label %1233

1232:                                             ; preds = %1230
  call void @llvm.lifetime.end.p0(i64 32, ptr %222) #6
  br label %1233

1233:                                             ; preds = %1232, %1230
  %1234 = load i1, ptr %220, align 1
  br i1 %1234, label %1235, label %1236

1235:                                             ; preds = %1233
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  br label %1236

1236:                                             ; preds = %1235, %1233
  %1237 = load i1, ptr %219, align 1
  br i1 %1237, label %1238, label %1239

1238:                                             ; preds = %1236
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #6
  br label %1239

1239:                                             ; preds = %1238, %1236
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #6
  %1240 = load i1, ptr %217, align 1
  br i1 %1240, label %1241, label %1242

1241:                                             ; preds = %1239
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #6
  br label %1242

1242:                                             ; preds = %1241, %1239
  %1243 = load i1, ptr %215, align 1
  br i1 %1243, label %1244, label %1245

1244:                                             ; preds = %1242
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  br label %1245

1245:                                             ; preds = %1244, %1242
  %1246 = load i1, ptr %214, align 1
  br i1 %1246, label %1247, label %1248

1247:                                             ; preds = %1245
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #6
  br label %1248

1248:                                             ; preds = %1247, %1245
  %1249 = load i1, ptr %213, align 1
  br i1 %1249, label %1250, label %1251

1250:                                             ; preds = %1248
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %1251

1251:                                             ; preds = %1250, %1248
  %1252 = load i1, ptr %212, align 1
  br i1 %1252, label %1253, label %1254

1253:                                             ; preds = %1251
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  br label %1254

1254:                                             ; preds = %1253, %1251
  %1255 = load i1, ptr %211, align 1
  br i1 %1255, label %1256, label %1257

1256:                                             ; preds = %1254
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #6
  br label %1257

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

1259:                                             ; preds = %1257
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #6
  br label %1260

1260:                                             ; preds = %1259, %1257
  %1261 = load i1, ptr %207, align 1
  br i1 %1261, label %1262, label %1263

1262:                                             ; preds = %1260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %1263

1263:                                             ; preds = %1262, %1260
  %1264 = load i1, ptr %206, align 1
  br i1 %1264, label %1265, label %1266

1265:                                             ; preds = %1263
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  br label %1266

1266:                                             ; preds = %1265, %1263
  %1267 = load i1, ptr %205, align 1
  br i1 %1267, label %1268, label %1269

1268:                                             ; preds = %1266
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #6
  br label %1269

1269:                                             ; preds = %1268, %1266
  %1270 = load i1, ptr %204, align 1
  br i1 %1270, label %1271, label %1272

1271:                                             ; preds = %1269
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #6
  br label %1272

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

1274:                                             ; preds = %1272
  call void @llvm.lifetime.end.p0(i64 1, ptr %202) #6
  br label %1275

1275:                                             ; preds = %1274, %1272
  %1276 = load i1, ptr %201, align 1
  br i1 %1276, label %1277, label %1278

1277:                                             ; preds = %1275
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #6
  br label %1278

1278:                                             ; preds = %1277, %1275
  %1279 = load i1, ptr %199, align 1
  br i1 %1279, label %1280, label %1281

1280:                                             ; preds = %1278
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  br label %1281

1281:                                             ; preds = %1280, %1278
  %1282 = load i1, ptr %198, align 1
  br i1 %1282, label %1283, label %1284

1283:                                             ; preds = %1281
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %1284

1284:                                             ; preds = %1283, %1281
  %1285 = load i1, ptr %197, align 1
  br i1 %1285, label %1286, label %1287

1286:                                             ; preds = %1284
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #6
  br label %1287

1287:                                             ; preds = %1286, %1284
  %1288 = load i1, ptr %196, align 1
  br i1 %1288, label %1289, label %1290

1289:                                             ; preds = %1287
  call void @llvm.lifetime.end.p0(i64 1, ptr %195) #6
  br label %1290

1290:                                             ; preds = %1289, %1287
  %1291 = load i1, ptr %194, align 1
  br i1 %1291, label %1292, label %1293

1292:                                             ; preds = %1290
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #6
  br label %1293

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

1295:                                             ; preds = %1293
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #6
  br label %1296

1296:                                             ; preds = %1295, %1293
  %1297 = load i1, ptr %190, align 1
  br i1 %1297, label %1298, label %1299

1298:                                             ; preds = %1296
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #6
  br label %1299

1299:                                             ; preds = %1298, %1296
  %1300 = load i1, ptr %188, align 1
  br i1 %1300, label %1301, label %1302

1301:                                             ; preds = %1299
  call void @llvm.lifetime.end.p0(i64 32, ptr %187) #6
  br label %1302

1302:                                             ; preds = %1301, %1299
  %1303 = load i1, ptr %186, align 1
  br i1 %1303, label %1304, label %1305

1304:                                             ; preds = %1302
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #6
  br label %1305

1305:                                             ; preds = %1304, %1302
  %1306 = load i1, ptr %184, align 1
  br i1 %1306, label %1307, label %1308

1307:                                             ; preds = %1305
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #6
  br label %1308

1308:                                             ; preds = %1307, %1305
  %1309 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 8
  call void @_ZNSt6vectorIP4ElemSaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %1309, ptr noundef nonnull align 8 dereferenceable(8) %9)
  %1310 = getelementptr inbounds %class.Elem, ptr %237, i32 0, i32 8
  call void @_ZNSt6vectorIP4ElemSaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %1310, ptr noundef nonnull align 8 dereferenceable(8) %10)
  %1311 = load ptr, ptr %9, align 8, !tbaa !5
  %1312 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 2
  %1313 = getelementptr inbounds [2 x ptr], ptr %1312, i64 0, i64 0
  store ptr %1311, ptr %1313, align 8, !tbaa !5
  %1314 = load ptr, ptr %10, align 8, !tbaa !5
  %1315 = getelementptr inbounds %class.Throat, ptr %237, i32 0, i32 2
  %1316 = getelementptr inbounds [2 x ptr], ptr %1315, i64 0, i64 1
  store ptr %1314, ptr %1316, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #6
  ret void

1317:                                             ; preds = %1063
  %1318 = landingpad { ptr, i32 }
          cleanup
  %1319 = extractvalue { ptr, i32 } %1318, 0
  store ptr %1319, ptr %37, align 8
  %1320 = extractvalue { ptr, i32 } %1318, 1
  store i32 %1320, ptr %38, align 4
  br label %1463

1321:                                             ; preds = %1064
  %1322 = landingpad { ptr, i32 }
          cleanup
  %1323 = extractvalue { ptr, i32 } %1322, 0
  store ptr %1323, ptr %37, align 8
  %1324 = extractvalue { ptr, i32 } %1322, 1
  store i32 %1324, ptr %38, align 4
  br label %1459

1325:                                             ; preds = %1065
  %1326 = landingpad { ptr, i32 }
          cleanup
  %1327 = extractvalue { ptr, i32 } %1326, 0
  store ptr %1327, ptr %37, align 8
  %1328 = extractvalue { ptr, i32 } %1326, 1
  store i32 %1328, ptr %38, align 4
  br label %1446

1329:                                             ; preds = %1066
  %1330 = landingpad { ptr, i32 }
          cleanup
  %1331 = extractvalue { ptr, i32 } %1330, 0
  store ptr %1331, ptr %37, align 8
  %1332 = extractvalue { ptr, i32 } %1330, 1
  store i32 %1332, ptr %38, align 4
  br label %1442

1333:                                             ; preds = %1067
  %1334 = landingpad { ptr, i32 }
          cleanup
  %1335 = extractvalue { ptr, i32 } %1334, 0
  store ptr %1335, ptr %37, align 8
  %1336 = extractvalue { ptr, i32 } %1334, 1
  store i32 %1336, ptr %38, align 4
  br label %1438

1337:                                             ; preds = %1068
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %37, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %38, align 4
  br label %1425

1341:                                             ; preds = %1069
  %1342 = landingpad { ptr, i32 }
          cleanup
  %1343 = extractvalue { ptr, i32 } %1342, 0
  store ptr %1343, ptr %37, align 8
  %1344 = extractvalue { ptr, i32 } %1342, 1
  store i32 %1344, ptr %38, align 4
  br label %1421

1345:                                             ; preds = %1070
  %1346 = landingpad { ptr, i32 }
          cleanup
  %1347 = extractvalue { ptr, i32 } %1346, 0
  store ptr %1347, ptr %37, align 8
  %1348 = extractvalue { ptr, i32 } %1346, 1
  store i32 %1348, ptr %38, align 4
  br label %1417

1349:                                             ; preds = %1071
  %1350 = landingpad { ptr, i32 }
          cleanup
  %1351 = extractvalue { ptr, i32 } %1350, 0
  store ptr %1351, ptr %37, align 8
  %1352 = extractvalue { ptr, i32 } %1350, 1
  store i32 %1352, ptr %38, align 4
  br label %1410

1353:                                             ; preds = %1072
  %1354 = landingpad { ptr, i32 }
          cleanup
  %1355 = extractvalue { ptr, i32 } %1354, 0
  store ptr %1355, ptr %37, align 8
  %1356 = extractvalue { ptr, i32 } %1354, 1
  store i32 %1356, ptr %38, align 4
  br label %1406

1357:                                             ; preds = %1073
  %1358 = landingpad { ptr, i32 }
          cleanup
  %1359 = extractvalue { ptr, i32 } %1358, 0
  store ptr %1359, ptr %37, align 8
  %1360 = extractvalue { ptr, i32 } %1358, 1
  store i32 %1360, ptr %38, align 4
  br label %1393

1361:                                             ; preds = %1074
  %1362 = landingpad { ptr, i32 }
          cleanup
  %1363 = extractvalue { ptr, i32 } %1362, 0
  store ptr %1363, ptr %37, align 8
  %1364 = extractvalue { ptr, i32 } %1362, 1
  store i32 %1364, ptr %38, align 4
  br label %1380

1365:                                             ; preds = %1075
  %1366 = landingpad { ptr, i32 }
          cleanup
  %1367 = extractvalue { ptr, i32 } %1366, 0
  store ptr %1367, ptr %37, align 8
  %1368 = extractvalue { ptr, i32 } %1366, 1
  store i32 %1368, ptr %38, align 4
  br label %1376

1369:                                             ; preds = %1076
  %1370 = landingpad { ptr, i32 }
          cleanup
  %1371 = extractvalue { ptr, i32 } %1370, 0
  store ptr %1371, ptr %37, align 8
  %1372 = extractvalue { ptr, i32 } %1370, 1
  store i32 %1372, ptr %38, align 4
  %1373 = load i1, ptr %181, align 1
  br i1 %1373, label %1374, label %1375

1374:                                             ; preds = %1369
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  br label %1375

1375:                                             ; preds = %1374, %1369
  br label %1376

1376:                                             ; preds = %1375, %1365
  %1377 = load i1, ptr %180, align 1
  br i1 %1377, label %1378, label %1379

1378:                                             ; preds = %1376
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %1379

1379:                                             ; preds = %1378, %1376
  br label %1380

1380:                                             ; preds = %1379, %1361
  %1381 = load i1, ptr %179, align 1
  br i1 %1381, label %1382, label %1383

1382:                                             ; preds = %1380
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #6
  br label %1383

1383:                                             ; preds = %1382, %1380
  %1384 = load i1, ptr %178, align 1
  br i1 %1384, label %1385, label %1386

1385:                                             ; preds = %1383
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #6
  br label %1386

1386:                                             ; preds = %1385, %1383
  %1387 = load i1, ptr %176, align 1
  br i1 %1387, label %1388, label %1389

1388:                                             ; preds = %1386
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #6
  br label %1389

1389:                                             ; preds = %1388, %1386
  %1390 = load i1, ptr %174, align 1
  br i1 %1390, label %1391, label %1392

1391:                                             ; preds = %1389
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1392

1392:                                             ; preds = %1391, %1389
  br label %1393

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

1395:                                             ; preds = %1393
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #6
  br label %1396

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

1398:                                             ; preds = %1396
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #6
  br label %1399

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

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

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

1404:                                             ; preds = %1402
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %1405

1405:                                             ; preds = %1404, %1402
  br label %1406

1406:                                             ; preds = %1405, %1353
  %1407 = load i1, ptr %166, align 1
  br i1 %1407, label %1408, label %1409

1408:                                             ; preds = %1406
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1409

1409:                                             ; preds = %1408, %1406
  br label %1410

1410:                                             ; preds = %1409, %1349
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #6
  %1411 = load i1, ptr %164, align 1
  br i1 %1411, label %1412, label %1413

1412:                                             ; preds = %1410
  call void @llvm.lifetime.end.p0(i64 32, ptr %163) #6
  br label %1413

1413:                                             ; preds = %1412, %1410
  %1414 = load i1, ptr %162, align 1
  br i1 %1414, label %1415, label %1416

1415:                                             ; preds = %1413
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1416

1416:                                             ; preds = %1415, %1413
  br label %1417

1417:                                             ; preds = %1416, %1345
  %1418 = load i1, ptr %161, 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) %132) #6
  br label %1420

1420:                                             ; preds = %1419, %1417
  br label %1421

1421:                                             ; preds = %1420, %1341
  %1422 = load i1, ptr %160, align 1
  br i1 %1422, label %1423, label %1424

1423:                                             ; preds = %1421
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1424

1424:                                             ; preds = %1423, %1421
  br label %1425

1425:                                             ; preds = %1424, %1337
  %1426 = load i1, ptr %159, align 1
  br i1 %1426, label %1427, label %1428

1427:                                             ; preds = %1425
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %157) #6
  br label %1428

1428:                                             ; preds = %1427, %1425
  %1429 = load i1, ptr %158, align 1
  br i1 %1429, label %1430, label %1431

1430:                                             ; preds = %1428
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #6
  br label %1431

1431:                                             ; preds = %1430, %1428
  %1432 = load i1, ptr %156, align 1
  br i1 %1432, label %1433, label %1434

1433:                                             ; preds = %1431
  call void @llvm.lifetime.end.p0(i64 32, ptr %155) #6
  br label %1434

1434:                                             ; preds = %1433, %1431
  %1435 = load i1, ptr %154, align 1
  br i1 %1435, label %1436, label %1437

1436:                                             ; preds = %1434
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %1437

1437:                                             ; preds = %1436, %1434
  br label %1438

1438:                                             ; preds = %1437, %1333
  %1439 = load i1, ptr %153, 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) %136) #6
  br label %1441

1441:                                             ; preds = %1440, %1438
  br label %1442

1442:                                             ; preds = %1441, %1329
  %1443 = load i1, ptr %152, align 1
  br i1 %1443, label %1444, label %1445

1444:                                             ; preds = %1442
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %1445

1445:                                             ; preds = %1444, %1442
  br label %1446

1446:                                             ; preds = %1445, %1325
  %1447 = load i1, ptr %151, align 1
  br i1 %1447, label %1448, label %1449

1448:                                             ; preds = %1446
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #6
  br label %1449

1449:                                             ; preds = %1448, %1446
  %1450 = load i1, ptr %150, align 1
  br i1 %1450, label %1451, label %1452

1451:                                             ; preds = %1449
  call void @llvm.lifetime.end.p0(i64 1, ptr %149) #6
  br label %1452

1452:                                             ; preds = %1451, %1449
  %1453 = load i1, ptr %148, align 1
  br i1 %1453, label %1454, label %1455

1454:                                             ; preds = %1452
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #6
  br label %1455

1455:                                             ; preds = %1454, %1452
  %1456 = load i1, ptr %146, align 1
  br i1 %1456, label %1457, label %1458

1457:                                             ; preds = %1455
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1458

1458:                                             ; preds = %1457, %1455
  br label %1459

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

1461:                                             ; preds = %1459
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  br label %1462

1462:                                             ; preds = %1461, %1459
  br label %1463

1463:                                             ; preds = %1462, %1317
  %1464 = load i1, ptr %144, align 1
  br i1 %1464, label %1465, label %1466

1465:                                             ; preds = %1463
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #6
  br label %1466

1466:                                             ; preds = %1465, %1463
  %1467 = load i1, ptr %143, align 1
  br i1 %1467, label %1468, label %1469

1468:                                             ; preds = %1466
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #6
  br label %1469

1469:                                             ; preds = %1468, %1466
  %1470 = load i1, ptr %141, align 1
  br i1 %1470, label %1471, label %1472

1471:                                             ; preds = %1469
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #6
  br label %1472

1472:                                             ; preds = %1471, %1469
  %1473 = load i1, ptr %139, align 1
  br i1 %1473, label %1474, label %1475

1474:                                             ; preds = %1472
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #6
  br label %1475

1475:                                             ; preds = %1474, %1472
  %1476 = load i1, ptr %137, align 1
  br i1 %1476, label %1477, label %1478

1477:                                             ; preds = %1475
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #6
  br label %1478

1478:                                             ; preds = %1477, %1475
  %1479 = load i1, ptr %135, align 1
  br i1 %1479, label %1480, label %1481

1480:                                             ; preds = %1478
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #6
  br label %1481

1481:                                             ; preds = %1480, %1478
  %1482 = load i1, ptr %133, align 1
  br i1 %1482, label %1483, label %1484

1483:                                             ; preds = %1481
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  br label %1484

1484:                                             ; preds = %1483, %1481
  %1485 = load i1, ptr %131, align 1
  br i1 %1485, label %1486, label %1487

1486:                                             ; preds = %1484
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  br label %1487

1487:                                             ; preds = %1486, %1484
  br label %1659

1488:                                             ; preds = %1188
  %1489 = landingpad { ptr, i32 }
          cleanup
  %1490 = extractvalue { ptr, i32 } %1489, 0
  store ptr %1490, ptr %37, align 8
  %1491 = extractvalue { ptr, i32 } %1489, 1
  store i32 %1491, ptr %38, align 4
  br label %1634

1492:                                             ; preds = %1189
  %1493 = landingpad { ptr, i32 }
          cleanup
  %1494 = extractvalue { ptr, i32 } %1493, 0
  store ptr %1494, ptr %37, align 8
  %1495 = extractvalue { ptr, i32 } %1493, 1
  store i32 %1495, ptr %38, align 4
  br label %1630

1496:                                             ; preds = %1190
  %1497 = landingpad { ptr, i32 }
          cleanup
  %1498 = extractvalue { ptr, i32 } %1497, 0
  store ptr %1498, ptr %37, align 8
  %1499 = extractvalue { ptr, i32 } %1497, 1
  store i32 %1499, ptr %38, align 4
  br label %1617

1500:                                             ; preds = %1191
  %1501 = landingpad { ptr, i32 }
          cleanup
  %1502 = extractvalue { ptr, i32 } %1501, 0
  store ptr %1502, ptr %37, align 8
  %1503 = extractvalue { ptr, i32 } %1501, 1
  store i32 %1503, ptr %38, align 4
  br label %1613

1504:                                             ; preds = %1192
  %1505 = landingpad { ptr, i32 }
          cleanup
  %1506 = extractvalue { ptr, i32 } %1505, 0
  store ptr %1506, ptr %37, align 8
  %1507 = extractvalue { ptr, i32 } %1505, 1
  store i32 %1507, ptr %38, align 4
  br label %1609

1508:                                             ; preds = %1193
  %1509 = landingpad { ptr, i32 }
          cleanup
  %1510 = extractvalue { ptr, i32 } %1509, 0
  store ptr %1510, ptr %37, align 8
  %1511 = extractvalue { ptr, i32 } %1509, 1
  store i32 %1511, ptr %38, align 4
  br label %1596

1512:                                             ; preds = %1194
  %1513 = landingpad { ptr, i32 }
          cleanup
  %1514 = extractvalue { ptr, i32 } %1513, 0
  store ptr %1514, ptr %37, align 8
  %1515 = extractvalue { ptr, i32 } %1513, 1
  store i32 %1515, ptr %38, align 4
  br label %1592

1516:                                             ; preds = %1195
  %1517 = landingpad { ptr, i32 }
          cleanup
  %1518 = extractvalue { ptr, i32 } %1517, 0
  store ptr %1518, ptr %37, align 8
  %1519 = extractvalue { ptr, i32 } %1517, 1
  store i32 %1519, ptr %38, align 4
  br label %1588

1520:                                             ; preds = %1196
  %1521 = landingpad { ptr, i32 }
          cleanup
  %1522 = extractvalue { ptr, i32 } %1521, 0
  store ptr %1522, ptr %37, align 8
  %1523 = extractvalue { ptr, i32 } %1521, 1
  store i32 %1523, ptr %38, align 4
  br label %1581

1524:                                             ; preds = %1197
  %1525 = landingpad { ptr, i32 }
          cleanup
  %1526 = extractvalue { ptr, i32 } %1525, 0
  store ptr %1526, ptr %37, align 8
  %1527 = extractvalue { ptr, i32 } %1525, 1
  store i32 %1527, ptr %38, align 4
  br label %1577

1528:                                             ; preds = %1198
  %1529 = landingpad { ptr, i32 }
          cleanup
  %1530 = extractvalue { ptr, i32 } %1529, 0
  store ptr %1530, ptr %37, align 8
  %1531 = extractvalue { ptr, i32 } %1529, 1
  store i32 %1531, ptr %38, align 4
  br label %1564

1532:                                             ; preds = %1199
  %1533 = landingpad { ptr, i32 }
          cleanup
  %1534 = extractvalue { ptr, i32 } %1533, 0
  store ptr %1534, ptr %37, align 8
  %1535 = extractvalue { ptr, i32 } %1533, 1
  store i32 %1535, ptr %38, align 4
  br label %1551

1536:                                             ; preds = %1200
  %1537 = landingpad { ptr, i32 }
          cleanup
  %1538 = extractvalue { ptr, i32 } %1537, 0
  store ptr %1538, ptr %37, align 8
  %1539 = extractvalue { ptr, i32 } %1537, 1
  store i32 %1539, ptr %38, align 4
  br label %1547

1540:                                             ; preds = %1201
  %1541 = landingpad { ptr, i32 }
          cleanup
  %1542 = extractvalue { ptr, i32 } %1541, 0
  store ptr %1542, ptr %37, align 8
  %1543 = extractvalue { ptr, i32 } %1541, 1
  store i32 %1543, ptr %38, align 4
  %1544 = load i1, ptr %234, align 1
  br i1 %1544, label %1545, label %1546

1545:                                             ; preds = %1540
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #6
  br label %1546

1546:                                             ; preds = %1545, %1540
  br label %1547

1547:                                             ; preds = %1546, %1536
  %1548 = load i1, ptr %233, align 1
  br i1 %1548, label %1549, label %1550

1549:                                             ; preds = %1547
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #6
  br label %1550

1550:                                             ; preds = %1549, %1547
  br label %1551

1551:                                             ; preds = %1550, %1532
  %1552 = load i1, ptr %232, align 1
  br i1 %1552, label %1553, label %1554

1553:                                             ; preds = %1551
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %230) #6
  br label %1554

1554:                                             ; preds = %1553, %1551
  %1555 = load i1, ptr %231, align 1
  br i1 %1555, label %1556, label %1557

1556:                                             ; preds = %1554
  call void @llvm.lifetime.end.p0(i64 1, ptr %230) #6
  br label %1557

1557:                                             ; preds = %1556, %1554
  %1558 = load i1, ptr %229, align 1
  br i1 %1558, label %1559, label %1560

1559:                                             ; preds = %1557
  call void @llvm.lifetime.end.p0(i64 32, ptr %228) #6
  br label %1560

1560:                                             ; preds = %1559, %1557
  %1561 = load i1, ptr %227, align 1
  br i1 %1561, label %1562, label %1563

1562:                                             ; preds = %1560
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #6
  br label %1563

1563:                                             ; preds = %1562, %1560
  br label %1564

1564:                                             ; preds = %1563, %1528
  %1565 = load i1, ptr %226, align 1
  br i1 %1565, label %1566, label %1567

1566:                                             ; preds = %1564
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  br label %1567

1567:                                             ; preds = %1566, %1564
  %1568 = load i1, ptr %225, align 1
  br i1 %1568, label %1569, label %1570

1569:                                             ; preds = %1567
  call void @llvm.lifetime.end.p0(i64 1, ptr %224) #6
  br label %1570

1570:                                             ; preds = %1569, %1567
  %1571 = load i1, ptr %223, align 1
  br i1 %1571, label %1572, label %1573

1572:                                             ; preds = %1570
  call void @llvm.lifetime.end.p0(i64 32, ptr %222) #6
  br label %1573

1573:                                             ; preds = %1572, %1570
  %1574 = load i1, ptr %220, align 1
  br i1 %1574, label %1575, label %1576

1575:                                             ; preds = %1573
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  br label %1576

1576:                                             ; preds = %1575, %1573
  br label %1577

1577:                                             ; preds = %1576, %1524
  %1578 = load i1, ptr %219, align 1
  br i1 %1578, label %1579, label %1580

1579:                                             ; preds = %1577
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #6
  br label %1580

1580:                                             ; preds = %1579, %1577
  br label %1581

1581:                                             ; preds = %1580, %1520
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #6
  %1582 = load i1, ptr %217, align 1
  br i1 %1582, label %1583, label %1584

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

1584:                                             ; preds = %1583, %1581
  %1585 = load i1, ptr %215, 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) %183) #6
  br label %1587

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

1588:                                             ; preds = %1587, %1516
  %1589 = load i1, ptr %214, 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) %185) #6
  br label %1591

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

1592:                                             ; preds = %1591, %1512
  %1593 = load i1, ptr %213, align 1
  br i1 %1593, label %1594, label %1595

1594:                                             ; preds = %1592
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %1595

1595:                                             ; preds = %1594, %1592
  br label %1596

1596:                                             ; preds = %1595, %1508
  %1597 = load i1, ptr %212, align 1
  br i1 %1597, label %1598, label %1599

1598:                                             ; preds = %1596
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  br label %1599

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

1601:                                             ; preds = %1599
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #6
  br label %1602

1602:                                             ; preds = %1601, %1599
  %1603 = load i1, ptr %209, align 1
  br i1 %1603, label %1604, label %1605

1604:                                             ; preds = %1602
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #6
  br label %1605

1605:                                             ; preds = %1604, %1602
  %1606 = load i1, ptr %207, align 1
  br i1 %1606, label %1607, label %1608

1607:                                             ; preds = %1605
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %1608

1608:                                             ; preds = %1607, %1605
  br label %1609

1609:                                             ; preds = %1608, %1504
  %1610 = load i1, ptr %206, align 1
  br i1 %1610, label %1611, label %1612

1611:                                             ; preds = %1609
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  br label %1612

1612:                                             ; preds = %1611, %1609
  br label %1613

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

1615:                                             ; preds = %1613
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #6
  br label %1616

1616:                                             ; preds = %1615, %1613
  br label %1617

1617:                                             ; preds = %1616, %1496
  %1618 = load i1, ptr %204, align 1
  br i1 %1618, label %1619, label %1620

1619:                                             ; preds = %1617
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #6
  br label %1620

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

1622:                                             ; preds = %1620
  call void @llvm.lifetime.end.p0(i64 1, ptr %202) #6
  br label %1623

1623:                                             ; preds = %1622, %1620
  %1624 = load i1, ptr %201, align 1
  br i1 %1624, label %1625, label %1626

1625:                                             ; preds = %1623
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #6
  br label %1626

1626:                                             ; preds = %1625, %1623
  %1627 = load i1, ptr %199, align 1
  br i1 %1627, label %1628, label %1629

1628:                                             ; preds = %1626
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  br label %1629

1629:                                             ; preds = %1628, %1626
  br label %1630

1630:                                             ; preds = %1629, %1492
  %1631 = load i1, ptr %198, align 1
  br i1 %1631, label %1632, label %1633

1632:                                             ; preds = %1630
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %1633

1633:                                             ; preds = %1632, %1630
  br label %1634

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

1636:                                             ; preds = %1634
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #6
  br label %1637

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

1639:                                             ; preds = %1637
  call void @llvm.lifetime.end.p0(i64 1, ptr %195) #6
  br label %1640

1640:                                             ; preds = %1639, %1637
  %1641 = load i1, ptr %194, align 1
  br i1 %1641, label %1642, label %1643

1642:                                             ; preds = %1640
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #6
  br label %1643

1643:                                             ; preds = %1642, %1640
  %1644 = load i1, ptr %192, align 1
  br i1 %1644, label %1645, label %1646

1645:                                             ; preds = %1643
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #6
  br label %1646

1646:                                             ; preds = %1645, %1643
  %1647 = load i1, ptr %190, align 1
  br i1 %1647, label %1648, label %1649

1648:                                             ; preds = %1646
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #6
  br label %1649

1649:                                             ; preds = %1648, %1646
  %1650 = load i1, ptr %188, align 1
  br i1 %1650, label %1651, label %1652

1651:                                             ; preds = %1649
  call void @llvm.lifetime.end.p0(i64 32, ptr %187) #6
  br label %1652

1652:                                             ; preds = %1651, %1649
  %1653 = load i1, ptr %186, align 1
  br i1 %1653, label %1654, label %1655

1654:                                             ; preds = %1652
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #6
  br label %1655

1655:                                             ; preds = %1654, %1652
  %1656 = load i1, ptr %184, align 1
  br i1 %1656, label %1657, label %1658

1657:                                             ; preds = %1655
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #6
  br label %1658

1658:                                             ; preds = %1657, %1655
  br label %1659

1659:                                             ; preds = %1658, %1487, %1016, %845
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #6
  br label %1660

1660:                                             ; preds = %1659
  %1661 = load ptr, ptr %37, align 8
  %1662 = load i32, ptr %38, align 4
  %1663 = insertvalue { ptr, i32 } poison, ptr %1661, 0
  %1664 = insertvalue { ptr, i32 } %1663, i32 %1662, 1
  resume { ptr, i32 } %1664
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZmlIdE4var3IT_EdRKS2_(ptr dead_on_unwind noalias writable sret(%class.var3) align 8, double noundef, ptr noundef nonnull align 8 dereferenceable(24)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4var3IdEplERKS0_(ptr dead_on_unwind noalias writable sret(%class.var3) align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408)) #3 align 2

declare void @_ZN4Elem20setGravityCorrectionERK4var3IdE(ptr noundef nonnull align 8 dereferenceable(408), ptr noundef nonnull align 8 dereferenceable(24)) #5

declare void @_ZN4Elem20setGravityCorrectionERK4var3IdES3_(ptr noundef nonnull align 8 dereferenceable(408), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4Elem18isConnectedToEntryEb(ptr noundef nonnull align 8 dereferenceable(408), i1 noundef zeroext) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4Elem17isConnectedToExitEb(ptr noundef nonnull align 8 dereferenceable(408), i1 noundef zeroext) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem11isInCalcBoxEv(ptr noundef nonnull align 8 dereferenceable(408)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4Elem17setOnInletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408), i1 noundef zeroext) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4Elem18setOnOutletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408), i1 noundef zeroext) #3 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #1

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

attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{i64 0, i64 8, !9, i64 8, i64 8, !9, i64 16, i64 8, !9}
!16 = !{!17, !10, i64 8}
!17 = !{!"_ZTS4var3IdE", !10, i64 0, !10, i64 8, !10, i64 16}
!18 = !{!19, !10, i64 392}
!19 = !{!"_ZTS4Elem", !20, i64 0, !7, i64 104, !12, i64 224, !21, i64 228, !6, i64 232, !10, i64 240, !10, i64 248, !21, i64 256, !23, i64 264, !6, i64 288, !10, i64 296, !12, i64 304, !12, i64 305, !12, i64 306, !12, i64 307, !12, i64 308, !12, i64 309, !12, i64 310, !12, i64 311, !12, i64 312, !12, i64 313, !22, i64 320, !22, i64 336, !22, i64 352, !21, i64 368, !21, i64 372, !21, i64 376, !21, i64 380, !17, i64 384}
!20 = !{!"_ZTS4Apex", !12, i64 8, !10, i64 16, !10, i64 24, !6, i64 32, !21, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !12, i64 80, !12, i64 81, !12, i64 82, !12, i64 83, !22, i64 88}
!21 = !{!"int", !7, i64 0}
!22 = !{!"_ZTSSt4pairIidE", !21, i64 0, !10, i64 8}
!23 = !{!"_ZTSSt6vectorIP4ElemSaIS1_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIP4ElemSaIS1_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIP4ElemSaIS1_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIP4ElemSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!27 = !{!17, !10, i64 16}
!28 = !{!19, !10, i64 400}
!29 = !{!19, !12, i64 312}
!30 = !{!19, !12, i64 311}
!31 = !{!19, !12, i64 304}
!32 = !{!19, !12, i64 305}
!33 = !{!19, !12, i64 313}
!34 = !{!35, !10, i64 448}
!35 = !{!"_ZTS6Throat", !19, i64 0, !21, i64 408, !7, i64 416, !36, i64 432, !10, i64 448}
!36 = !{!"_ZTSSt5arrayIdLm2EE", !7, i64 0}
!37 = !{!17, !10, i64 0}
!38 = !{!21, !21, i64 0}


; 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::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"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.var3 = type { double, double, double }
%"class.std::allocator.5" = type { i8 }

@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [11 x i8], align 1
@__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb = external hidden unnamed_addr constant [15 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.17 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [48 x i8], align 1

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #0

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #1

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #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 #1

; 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 #1

; 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 #1

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 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 #4 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 #4

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16), i64 noundef) local_unnamed_addr #3 align 2

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

88:                                               ; preds = %7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #6
  %89 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  %90 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  call void @_ZNK4var3IdEplERKS0_(ptr dead_on_unwind nonnull writable sret(%class.var3) align 8 %11, ptr noundef nonnull align 8 dereferenceable(24) %89, ptr noundef nonnull align 8 dereferenceable(24) %90)
  call void @_ZmlIdE4var3IT_EdRKS2_(ptr dead_on_unwind nonnull writable sret(%class.var3) align 8 %10, double noundef 5.000000e-01, ptr noundef nonnull align 8 dereferenceable(24) %11)
  %91 = getelementptr inbounds i8, ptr %0, i64 384
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #6
  %92 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %92, label %93, label %102

93:                                               ; preds = %88
  %94 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  %95 = getelementptr inbounds i8, ptr %94, i64 8
  %96 = load double, ptr %95, align 8, !tbaa !12
  %97 = getelementptr inbounds i8, ptr %0, i64 392
  store double %96, ptr %97, align 8, !tbaa !14
  %98 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  %99 = getelementptr inbounds i8, ptr %98, i64 16
  %100 = load double, ptr %99, align 8, !tbaa !24
  %101 = getelementptr inbounds i8, ptr %0, i64 400
  store double %100, ptr %101, align 8, !tbaa !25
  br label %102

102:                                              ; preds = %93, %88
  %103 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br i1 %103, label %104, label %113

104:                                              ; preds = %102
  %105 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  %106 = getelementptr inbounds i8, ptr %105, i64 8
  %107 = load double, ptr %106, align 8, !tbaa !12
  %108 = getelementptr inbounds i8, ptr %0, i64 392
  store double %107, ptr %108, align 8, !tbaa !14
  %109 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  %110 = getelementptr inbounds i8, ptr %109, i64 16
  %111 = load double, ptr %110, align 8, !tbaa !24
  %112 = getelementptr inbounds i8, ptr %0, i64 400
  store double %111, ptr %112, align 8, !tbaa !25
  br label %113

113:                                              ; preds = %102, %104, %7
  %114 = fadd double %3, %4
  %115 = fmul double %114, 5.000000e-01
  %116 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %116, label %119, label %117

117:                                              ; preds = %113
  %118 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %118, label %119, label %121

119:                                              ; preds = %117, %113
  %120 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  call void @_ZN4Elem20setGravityCorrectionERK4var3IdE(ptr noundef nonnull align 8 dereferenceable(408) %0, ptr noundef nonnull align 8 dereferenceable(24) %120)
  br label %130

121:                                              ; preds = %117
  %122 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br i1 %122, label %125, label %123

123:                                              ; preds = %121
  %124 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br i1 %124, label %125, label %127

125:                                              ; preds = %123, %121
  %126 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  call void @_ZN4Elem20setGravityCorrectionERK4var3IdE(ptr noundef nonnull align 8 dereferenceable(408) %0, ptr noundef nonnull align 8 dereferenceable(24) %126)
  br label %130

127:                                              ; preds = %123
  %128 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  %129 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  call void @_ZN4Elem20setGravityCorrectionERK4var3IdES3_(ptr noundef nonnull align 8 dereferenceable(408) %0, ptr noundef nonnull align 8 dereferenceable(24) %128, ptr noundef nonnull align 8 dereferenceable(24) %129)
  br label %130

130:                                              ; preds = %125, %127, %119
  %131 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %131, label %134, label %132

132:                                              ; preds = %130
  %133 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br i1 %133, label %134, label %138

134:                                              ; preds = %132, %130
  %135 = getelementptr inbounds i8, ptr %0, i64 312
  store i8 1, ptr %135, align 8, !tbaa !26
  %136 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  call void @_ZN4Elem18isConnectedToEntryEb(ptr noundef nonnull align 8 dereferenceable(408) %1, i1 noundef zeroext %136)
  %137 = call noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  call void @_ZN4Elem18isConnectedToEntryEb(ptr noundef nonnull align 8 dereferenceable(408) %2, i1 noundef zeroext %137)
  br label %146

138:                                              ; preds = %132
  %139 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %139, label %142, label %140

140:                                              ; preds = %138
  %141 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br i1 %141, label %142, label %146

142:                                              ; preds = %140, %138
  %143 = getelementptr inbounds i8, ptr %0, i64 311
  store i8 1, ptr %143, align 1, !tbaa !27
  %144 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  call void @_ZN4Elem17isConnectedToExitEb(ptr noundef nonnull align 8 dereferenceable(408) %1, i1 noundef zeroext %144)
  %145 = call noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  call void @_ZN4Elem17isConnectedToExitEb(ptr noundef nonnull align 8 dereferenceable(408) %2, i1 noundef zeroext %145)
  br label %146

146:                                              ; preds = %140, %142, %134
  %147 = call noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %147, label %150, label %148

148:                                              ; preds = %146
  %149 = call noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br label %150

150:                                              ; preds = %148, %146
  %151 = phi i1 [ true, %146 ], [ %149, %148 ]
  %152 = getelementptr inbounds i8, ptr %0, i64 304
  %153 = zext i1 %151 to i8
  store i8 %153, ptr %152, align 8, !tbaa !28
  %154 = call noundef zeroext i1 @_ZNK4Elem11isInCalcBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %154, label %157, label %155

155:                                              ; preds = %150
  %156 = call noundef zeroext i1 @_ZNK4Elem11isInCalcBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br label %157

157:                                              ; preds = %155, %150
  %158 = phi i1 [ true, %150 ], [ %156, %155 ]
  %159 = getelementptr inbounds i8, ptr %0, i64 305
  %160 = zext i1 %158 to i8
  store i8 %160, ptr %159, align 1, !tbaa !29
  %161 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %161, label %164, label %162

162:                                              ; preds = %157
  %163 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br label %164

164:                                              ; preds = %162, %157
  %165 = phi i1 [ true, %157 ], [ %163, %162 ]
  %166 = getelementptr inbounds i8, ptr %0, i64 313
  %167 = zext i1 %165 to i8
  store i8 %167, ptr %166, align 1, !tbaa !30
  %168 = getelementptr inbounds i8, ptr %0, i64 432
  %169 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 0) #6
  %170 = load double, ptr %169, align 8, !tbaa !10
  %171 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 1) #6
  %172 = load double, ptr %171, align 8, !tbaa !10
  %173 = getelementptr inbounds i8, ptr %0, i64 448
  %174 = load double, ptr %173, align 8, !tbaa !31
  %175 = load i8, ptr %152, align 8, !tbaa !28, !range !34, !noundef !35
  %176 = trunc nuw i8 %175 to i1
  br i1 %176, label %177, label %187

177:                                              ; preds = %164
  %178 = call noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br i1 %178, label %._crit_edge, label %179

._crit_edge:                                      ; preds = %177
  %.pre = load i8, ptr %152, align 8, !tbaa !28, !range !34
  br label %187

179:                                              ; preds = %177
  %180 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  %181 = load double, ptr %180, align 8, !tbaa !36
  %182 = fcmp olt double %181, %115
  call void @_ZN4Elem17setOnInletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408) %2, i1 noundef zeroext %182)
  %183 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  %184 = load double, ptr %183, align 8, !tbaa !36
  %185 = fcmp ogt double %184, %115
  call void @_ZN4Elem18setOnOutletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408) %2, i1 noundef zeroext %185)
  %186 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %2)
  br i1 %186, label %.sink.split, label %321

187:                                              ; preds = %._crit_edge, %164
  %188 = phi i8 [ %.pre, %._crit_edge ], [ %175, %164 ]
  %189 = trunc nuw i8 %188 to i1
  br i1 %189, label %190, label %321

190:                                              ; preds = %187
  %191 = call noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %191, label %321, label %192

192:                                              ; preds = %190
  %193 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 0) #6
  %194 = load double, ptr %193, align 8, !tbaa !10
  %195 = fcmp ule double %194, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #6
  br i1 %195, label %196, label %211

196:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %197 unwind label %238

197:                                              ; preds = %196
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(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 @.str.7)
          to label %198 unwind label %240

198:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %199 unwind label %242

199:                                              ; preds = %198
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %200 unwind label %244

200:                                              ; preds = %199
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.8)
          to label %201 unwind label %246

201:                                              ; preds = %200
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %202 unwind label %248

202:                                              ; preds = %201
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %203 unwind label %250

203:                                              ; preds = %202
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.2)
          to label %204 unwind label %252

204:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  store i32 180, ptr %25, align 4, !tbaa !37
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 4 dereferenceable(4) %25)
          to label %205 unwind label %254

205:                                              ; preds = %204
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %206 unwind label %256

206:                                              ; preds = %205
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %207 unwind label %258

207:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %208 unwind label %260

208:                                              ; preds = %207
  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) %29)
          to label %209 unwind label %262

209:                                              ; preds = %208
  %210 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %12, ptr noundef nonnull %26, i32 noundef 0)
          to label %.critedge541 unwind label %264

211:                                              ; preds = %192
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #6
  br label %.critedge562

.critedge541:                                     ; preds = %209
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  br label %.critedge562

.critedge562:                                     ; preds = %211, %.critedge541
  %212 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 1) #6
  %213 = load double, ptr %212, align 8, !tbaa !10
  %214 = fcmp ule double %213, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #6
  br i1 %214, label %215, label %230

215:                                              ; preds = %.critedge562
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %216 unwind label %279

216:                                              ; preds = %215
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(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 @.str.7)
          to label %217 unwind label %281

217:                                              ; preds = %216
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %218 unwind label %283

218:                                              ; preds = %217
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %219 unwind label %285

219:                                              ; preds = %218
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.8)
          to label %220 unwind label %287

220:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %221 unwind label %289

221:                                              ; preds = %220
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %222 unwind label %291

222:                                              ; preds = %221
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.2)
          to label %223 unwind label %293

223:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  store i32 180, ptr %44, align 4, !tbaa !37
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 4 dereferenceable(4) %44)
          to label %224 unwind label %295

224:                                              ; preds = %223
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %225 unwind label %297

225:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %226 unwind label %299

226:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %49) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %227 unwind label %301

227:                                              ; preds = %226
  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) %48)
          to label %228 unwind label %303

228:                                              ; preds = %227
  %229 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %31, ptr noundef nonnull %45, i32 noundef 0)
          to label %.critedge577 unwind label %305

230:                                              ; preds = %.critedge562
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  br label %.critedge598

.critedge577:                                     ; preds = %228
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  br label %.critedge598

.critedge598:                                     ; preds = %230, %.critedge577
  %231 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  %232 = load double, ptr %231, align 8, !tbaa !36
  %233 = fcmp olt double %232, %115
  call void @_ZN4Elem17setOnInletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408) %1, i1 noundef zeroext %233)
  %234 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4Elem4nodeEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  %235 = load double, ptr %234, align 8, !tbaa !36
  %236 = fcmp ogt double %235, %115
  call void @_ZN4Elem18setOnOutletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408) %1, i1 noundef zeroext %236)
  %237 = call noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408) %1)
  br i1 %237, label %.sink.split, label %321

238:                                              ; preds = %196
  %239 = landingpad { ptr, i32 }
          cleanup
  br label %278

240:                                              ; preds = %197
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %277

242:                                              ; preds = %198
  %243 = landingpad { ptr, i32 }
          cleanup
  br label %276

244:                                              ; preds = %199
  %245 = landingpad { ptr, i32 }
          cleanup
  br label %275

246:                                              ; preds = %200
  %247 = landingpad { ptr, i32 }
          cleanup
  br label %274

248:                                              ; preds = %201
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %273

250:                                              ; preds = %202
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %272

252:                                              ; preds = %203
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %271

254:                                              ; preds = %204
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %270

256:                                              ; preds = %205
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %269

258:                                              ; preds = %206
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %268

260:                                              ; preds = %207
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %267

262:                                              ; preds = %208
  %263 = landingpad { ptr, i32 }
          cleanup
  br label %266

264:                                              ; preds = %209
  %265 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %266

266:                                              ; preds = %262, %264
  %.pn = phi { ptr, i32 } [ %265, %264 ], [ %263, %262 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %267

267:                                              ; preds = %260, %266
  %.pn.pn = phi { ptr, i32 } [ %.pn, %266 ], [ %261, %260 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %268

268:                                              ; preds = %258, %267
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %267 ], [ %259, %258 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %269

269:                                              ; preds = %256, %268
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %268 ], [ %257, %256 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %270

270:                                              ; preds = %269, %254
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %269 ], [ %255, %254 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %271

271:                                              ; preds = %252, %270
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %270 ], [ %253, %252 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %272

272:                                              ; preds = %250, %271
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %271 ], [ %251, %250 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %273

273:                                              ; preds = %248, %272
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %272 ], [ %249, %248 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %274

274:                                              ; preds = %246, %273
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %273 ], [ %247, %246 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %275

275:                                              ; preds = %244, %274
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %274 ], [ %245, %244 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %276

276:                                              ; preds = %242, %275
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %275 ], [ %243, %242 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %277

277:                                              ; preds = %240, %276
  %.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, %276 ], [ %241, %240 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %278

278:                                              ; preds = %238, %277
  %.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, %277 ], [ %239, %238 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  br label %480

279:                                              ; preds = %215
  %280 = landingpad { ptr, i32 }
          cleanup
  br label %319

281:                                              ; preds = %216
  %282 = landingpad { ptr, i32 }
          cleanup
  br label %318

283:                                              ; preds = %217
  %284 = landingpad { ptr, i32 }
          cleanup
  br label %317

285:                                              ; preds = %218
  %286 = landingpad { ptr, i32 }
          cleanup
  br label %316

287:                                              ; preds = %219
  %288 = landingpad { ptr, i32 }
          cleanup
  br label %315

289:                                              ; preds = %220
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %314

291:                                              ; preds = %221
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %313

293:                                              ; preds = %222
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %312

295:                                              ; preds = %223
  %296 = landingpad { ptr, i32 }
          cleanup
  br label %311

297:                                              ; preds = %224
  %298 = landingpad { ptr, i32 }
          cleanup
  br label %310

299:                                              ; preds = %225
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %309

301:                                              ; preds = %226
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %308

303:                                              ; preds = %227
  %304 = landingpad { ptr, i32 }
          cleanup
  br label %307

305:                                              ; preds = %228
  %306 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %307

307:                                              ; preds = %303, %305
  %.pn486 = phi { ptr, i32 } [ %306, %305 ], [ %304, %303 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %308

308:                                              ; preds = %301, %307
  %.pn486.pn = phi { ptr, i32 } [ %.pn486, %307 ], [ %302, %301 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %309

309:                                              ; preds = %299, %308
  %.pn486.pn.pn = phi { ptr, i32 } [ %.pn486.pn, %308 ], [ %300, %299 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %310

310:                                              ; preds = %297, %309
  %.pn486.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn, %309 ], [ %298, %297 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %311

311:                                              ; preds = %310, %295
  %.pn486.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn, %310 ], [ %296, %295 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %312

312:                                              ; preds = %293, %311
  %.pn486.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn.pn, %311 ], [ %294, %293 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %313

313:                                              ; preds = %291, %312
  %.pn486.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn.pn.pn, %312 ], [ %292, %291 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %314

314:                                              ; preds = %289, %313
  %.pn486.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn.pn.pn.pn, %313 ], [ %290, %289 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %315

315:                                              ; preds = %287, %314
  %.pn486.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn.pn.pn.pn.pn, %314 ], [ %288, %287 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %316

316:                                              ; preds = %285, %315
  %.pn486.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn.pn.pn.pn.pn.pn, %315 ], [ %286, %285 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %317

317:                                              ; preds = %283, %316
  %.pn486.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn.pn.pn.pn.pn.pn.pn, %316 ], [ %284, %283 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %318

318:                                              ; preds = %281, %317
  %.pn486.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %317 ], [ %282, %281 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %319

319:                                              ; preds = %279, %318
  %.pn486.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn486.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %318 ], [ %280, %279 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  br label %480

.sink.split:                                      ; preds = %.critedge598, %179
  %.sink674 = phi i64 [ 1, %179 ], [ 0, %.critedge598 ]
  %320 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef %.sink674) #6
  store double 1.000000e-300, ptr %320, align 8, !tbaa !10
  br label %321

321:                                              ; preds = %.sink.split, %187, %190, %.critedge598, %179
  %322 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 0) #6
  %323 = load double, ptr %322, align 8, !tbaa !10
  %324 = fmul double %170, 1.100000e+00
  %325 = fcmp ogt double %323, %324
  br i1 %325, label %335, label %326

326:                                              ; preds = %321
  %327 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 1) #6
  %328 = load double, ptr %327, align 8, !tbaa !10
  %329 = fmul double %172, 1.100000e+00
  %330 = fcmp ogt double %328, %329
  br i1 %330, label %335, label %331

331:                                              ; preds = %326
  %332 = load double, ptr %173, align 8, !tbaa !31
  %333 = fmul double %174, 1.100000e+00
  %334 = fcmp ogt double %332, %333
  br i1 %334, label %335, label %354

335:                                              ; preds = %331, %326, %321
  %336 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %337 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %336, ptr noundef nonnull @.str.17)
  %338 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %337, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %339 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %338, ptr noundef nonnull @.str.18)
  %340 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %339, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %341 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %340, ptr noundef nonnull @.str.19)
  %342 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %341, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %343 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %342, ptr noundef nonnull @.str.20)
  %344 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %343, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %345 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef nonnull @.str.21)
  %346 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %345, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %347 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %346, ptr noundef nonnull @.str.22)
  %348 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %347, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %349 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %348, ptr noundef nonnull @.str.23)
  %350 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %349, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %351 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %350, ptr noundef nonnull @.str.24)
  %352 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %351, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %353 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %352, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %354

354:                                              ; preds = %335, %331
  %355 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 0) #6
  %356 = load double, ptr %355, align 8, !tbaa !10
  %357 = fcmp ule double %356, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %63) #6
  br i1 %357, label %358, label %373

358:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %359 unwind label %398

359:                                              ; preds = %358
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(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 @.str.7)
          to label %360 unwind label %400

360:                                              ; preds = %359
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %59) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %361 unwind label %402

361:                                              ; preds = %360
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %362 unwind label %404

362:                                              ; preds = %361
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.8)
          to label %363 unwind label %406

363:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %61) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %364 unwind label %408

364:                                              ; preds = %363
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %365 unwind label %410

365:                                              ; preds = %364
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.2)
          to label %366 unwind label %412

366:                                              ; preds = %365
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #6
  store i32 224, ptr %63, align 4, !tbaa !37
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %367 unwind label %414

367:                                              ; preds = %366
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %368 unwind label %416

368:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %66) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %369 unwind label %418

369:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %370 unwind label %420

370:                                              ; preds = %369
  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) %67)
          to label %371 unwind label %422

371:                                              ; preds = %370
  %372 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %50, ptr noundef nonnull %64, i32 noundef 0)
          to label %.critedge613 unwind label %424

373:                                              ; preds = %354
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #6
  br label %.critedge634

.critedge613:                                     ; preds = %371
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %.critedge634

.critedge634:                                     ; preds = %373, %.critedge613
  %374 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 1) #6
  %375 = load double, ptr %374, align 8, !tbaa !10
  %376 = fcmp ule double %375, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %82) #6
  br i1 %376, label %377, label %392

377:                                              ; preds = %.critedge634
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %378 unwind label %439

378:                                              ; preds = %377
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(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 @.str.7)
          to label %379 unwind label %441

379:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull @__FUNCTION__._ZN6Throat14addConnectionsEP4ElemS1_ddbb, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %380 unwind label %443

380:                                              ; preds = %379
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %381 unwind label %445

381:                                              ; preds = %380
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull @.str.8)
          to label %382 unwind label %447

382:                                              ; preds = %381
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %383 unwind label %449

383:                                              ; preds = %382
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %384 unwind label %451

384:                                              ; preds = %383
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.2)
          to label %385 unwind label %453

385:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #6
  store i32 224, ptr %82, align 4, !tbaa !37
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 4 dereferenceable(4) %82)
          to label %386 unwind label %455

386:                                              ; preds = %385
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %387 unwind label %457

387:                                              ; preds = %386
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %84) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %85) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %85)
          to label %388 unwind label %459

388:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %87) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %87)
          to label %389 unwind label %461

389:                                              ; preds = %388
  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) %86)
          to label %390 unwind label %463

390:                                              ; preds = %389
  %391 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %69, ptr noundef nonnull %83, i32 noundef 0)
          to label %.critedge649 unwind label %465

392:                                              ; preds = %.critedge634
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %82) #6
  br label %.critedge670

.critedge649:                                     ; preds = %390
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %87) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  br label %.critedge670

.critedge670:                                     ; preds = %392, %.critedge649
  %393 = getelementptr inbounds i8, ptr %0, i64 264
  call void @_ZNSt6vectorIP4ElemSaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %393, ptr noundef nonnull align 8 dereferenceable(8) %8)
  call void @_ZNSt6vectorIP4ElemSaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %393, ptr noundef nonnull align 8 dereferenceable(8) %9)
  %394 = load ptr, ptr %8, align 8, !tbaa !5
  %395 = getelementptr inbounds i8, ptr %0, i64 416
  store ptr %394, ptr %395, align 8, !tbaa !5
  %396 = load ptr, ptr %9, align 8, !tbaa !5
  %397 = getelementptr inbounds i8, ptr %0, i64 424
  store ptr %396, ptr %397, align 8, !tbaa !5
  ret void

398:                                              ; preds = %358
  %399 = landingpad { ptr, i32 }
          cleanup
  br label %438

400:                                              ; preds = %359
  %401 = landingpad { ptr, i32 }
          cleanup
  br label %437

402:                                              ; preds = %360
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %436

404:                                              ; preds = %361
  %405 = landingpad { ptr, i32 }
          cleanup
  br label %435

406:                                              ; preds = %362
  %407 = landingpad { ptr, i32 }
          cleanup
  br label %434

408:                                              ; preds = %363
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %433

410:                                              ; preds = %364
  %411 = landingpad { ptr, i32 }
          cleanup
  br label %432

412:                                              ; preds = %365
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %431

414:                                              ; preds = %366
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %430

416:                                              ; preds = %367
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %429

418:                                              ; preds = %368
  %419 = landingpad { ptr, i32 }
          cleanup
  br label %428

420:                                              ; preds = %369
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %427

422:                                              ; preds = %370
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %426

424:                                              ; preds = %371
  %425 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %426

426:                                              ; preds = %422, %424
  %.pn500 = phi { ptr, i32 } [ %425, %424 ], [ %423, %422 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %427

427:                                              ; preds = %420, %426
  %.pn500.pn = phi { ptr, i32 } [ %.pn500, %426 ], [ %421, %420 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %428

428:                                              ; preds = %418, %427
  %.pn500.pn.pn = phi { ptr, i32 } [ %.pn500.pn, %427 ], [ %419, %418 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %429

429:                                              ; preds = %416, %428
  %.pn500.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn, %428 ], [ %417, %416 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %430

430:                                              ; preds = %429, %414
  %.pn500.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn, %429 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %431

431:                                              ; preds = %412, %430
  %.pn500.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn.pn, %430 ], [ %413, %412 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %432

432:                                              ; preds = %410, %431
  %.pn500.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn.pn.pn, %431 ], [ %411, %410 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %433

433:                                              ; preds = %408, %432
  %.pn500.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn.pn.pn.pn, %432 ], [ %409, %408 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %434

434:                                              ; preds = %406, %433
  %.pn500.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn.pn.pn.pn.pn, %433 ], [ %407, %406 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %435

435:                                              ; preds = %404, %434
  %.pn500.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn.pn.pn.pn.pn.pn, %434 ], [ %405, %404 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %436

436:                                              ; preds = %402, %435
  %.pn500.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn.pn.pn.pn.pn.pn.pn, %435 ], [ %403, %402 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %437

437:                                              ; preds = %400, %436
  %.pn500.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %436 ], [ %401, %400 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %438

438:                                              ; preds = %398, %437
  %.pn500.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn500.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %437 ], [ %399, %398 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %480

439:                                              ; preds = %377
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %479

441:                                              ; preds = %378
  %442 = landingpad { ptr, i32 }
          cleanup
  br label %478

443:                                              ; preds = %379
  %444 = landingpad { ptr, i32 }
          cleanup
  br label %477

445:                                              ; preds = %380
  %446 = landingpad { ptr, i32 }
          cleanup
  br label %476

447:                                              ; preds = %381
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %475

449:                                              ; preds = %382
  %450 = landingpad { ptr, i32 }
          cleanup
  br label %474

451:                                              ; preds = %383
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %473

453:                                              ; preds = %384
  %454 = landingpad { ptr, i32 }
          cleanup
  br label %472

455:                                              ; preds = %385
  %456 = landingpad { ptr, i32 }
          cleanup
  br label %471

457:                                              ; preds = %386
  %458 = landingpad { ptr, i32 }
          cleanup
  br label %470

459:                                              ; preds = %387
  %460 = landingpad { ptr, i32 }
          cleanup
  br label %469

461:                                              ; preds = %388
  %462 = landingpad { ptr, i32 }
          cleanup
  br label %468

463:                                              ; preds = %389
  %464 = landingpad { ptr, i32 }
          cleanup
  br label %467

465:                                              ; preds = %390
  %466 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %467

467:                                              ; preds = %463, %465
  %.pn514 = phi { ptr, i32 } [ %466, %465 ], [ %464, %463 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %468

468:                                              ; preds = %461, %467
  %.pn514.pn = phi { ptr, i32 } [ %.pn514, %467 ], [ %462, %461 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %87) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  br label %469

469:                                              ; preds = %459, %468
  %.pn514.pn.pn = phi { ptr, i32 } [ %.pn514.pn, %468 ], [ %460, %459 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %470

470:                                              ; preds = %457, %469
  %.pn514.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn, %469 ], [ %458, %457 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %471

471:                                              ; preds = %470, %455
  %.pn514.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn, %470 ], [ %456, %455 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %472

472:                                              ; preds = %453, %471
  %.pn514.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn, %471 ], [ %454, %453 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %473

473:                                              ; preds = %451, %472
  %.pn514.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn.pn, %472 ], [ %452, %451 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %474

474:                                              ; preds = %449, %473
  %.pn514.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn.pn.pn, %473 ], [ %450, %449 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %475

475:                                              ; preds = %447, %474
  %.pn514.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn.pn.pn.pn, %474 ], [ %448, %447 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %476

476:                                              ; preds = %445, %475
  %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn.pn.pn.pn.pn, %475 ], [ %446, %445 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %477

477:                                              ; preds = %443, %476
  %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn, %476 ], [ %444, %443 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %478

478:                                              ; preds = %441, %477
  %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %477 ], [ %442, %441 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %479

479:                                              ; preds = %439, %478
  %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %478 ], [ %440, %439 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  br label %480

480:                                              ; preds = %479, %438, %319, %278
  %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %479 ], [ %.pn500.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %438 ], [ %.pn486.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %319 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %278 ]
  resume { ptr, i32 } %.pn514.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZmlIdE4var3IT_EdRKS2_(ptr dead_on_unwind noalias writable sret(%class.var3) align 8, double noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4var3IdEplERKS0_(ptr dead_on_unwind noalias writable sret(%class.var3) align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem16isEntryOrExitResEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem10isEntryResEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem9isExitResEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #3 align 2

declare void @_ZN4Elem20setGravityCorrectionERK4var3IdE(ptr noundef nonnull align 8 dereferenceable(408), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

declare void @_ZN4Elem20setGravityCorrectionERK4var3IdES3_(ptr noundef nonnull align 8 dereferenceable(408), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4Elem18isConnectedToEntryEb(ptr noundef nonnull align 8 dereferenceable(408), i1 noundef zeroext) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4Elem17isConnectedToExitEb(ptr noundef nonnull align 8 dereferenceable(408), i1 noundef zeroext) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem17isInsideSolverBoxEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Elem11isInCalcBoxEv(ptr noundef nonnull align 8 dereferenceable(408)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4Elem17setOnInletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408), i1 noundef zeroext) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4Elem18setOnOutletSlvrBdrEb(ptr noundef nonnull align 8 dereferenceable(408), i1 noundef zeroext) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIP4ElemSaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

attributes #0 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 = !{i64 0, i64 8, !10, i64 8, i64 8, !10, i64 16, i64 8, !10}
!10 = !{!11, !11, i64 0}
!11 = !{!"double", !7, i64 0}
!12 = !{!13, !11, i64 8}
!13 = !{!"_ZTS4var3IdE", !11, i64 0, !11, i64 8, !11, i64 16}
!14 = !{!15, !11, i64 392}
!15 = !{!"_ZTS4Elem", !16, i64 0, !7, i64 104, !17, i64 224, !18, i64 228, !6, i64 232, !11, i64 240, !11, i64 248, !18, i64 256, !20, i64 264, !6, i64 288, !11, i64 296, !17, i64 304, !17, i64 305, !17, i64 306, !17, i64 307, !17, i64 308, !17, i64 309, !17, i64 310, !17, i64 311, !17, i64 312, !17, i64 313, !19, i64 320, !19, i64 336, !19, i64 352, !18, i64 368, !18, i64 372, !18, i64 376, !18, i64 380, !13, i64 384}
!16 = !{!"_ZTS4Apex", !17, i64 8, !11, i64 16, !11, i64 24, !6, i64 32, !18, i64 40, !11, i64 48, !11, i64 56, !11, i64 64, !11, i64 72, !17, i64 80, !17, i64 81, !17, i64 82, !17, i64 83, !19, i64 88}
!17 = !{!"bool", !7, i64 0}
!18 = !{!"int", !7, i64 0}
!19 = !{!"_ZTSSt4pairIidE", !18, i64 0, !11, i64 8}
!20 = !{!"_ZTSSt6vectorIP4ElemSaIS1_EE", !21, i64 0}
!21 = !{!"_ZTSSt12_Vector_baseIP4ElemSaIS1_EE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIP4ElemSaIS1_EE12_Vector_implE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIP4ElemSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!24 = !{!13, !11, i64 16}
!25 = !{!15, !11, i64 400}
!26 = !{!15, !17, i64 312}
!27 = !{!15, !17, i64 311}
!28 = !{!15, !17, i64 304}
!29 = !{!15, !17, i64 305}
!30 = !{!15, !17, i64 313}
!31 = !{!32, !11, i64 448}
!32 = !{!"_ZTS6Throat", !15, i64 0, !18, i64 408, !7, i64 416, !33, i64 432, !11, i64 448}
!33 = !{!"_ZTSSt5arrayIdLm2EE", !7, i64 0}
!34 = !{i8 0, i8 2}
!35 = !{}
!36 = !{!13, !11, i64 0}
!37 = !{!18, !18, i64 0}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,SROAPass,SimplifyCFGPass,TailCallElimPass