; LLVM IR from ImperialCollegeLondon/pnflow :: src/pnm/pnflow/polygon (polygonDrain)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.2" = type { i8 }
%class.Polygon = type { %class.VoidElem, i32, %"class.std::vector.16", ptr, ptr, i16, i8, double }
%class.VoidElem = type { %class.ElemModel, double, double, double, double }
%class.ElemModel = type { ptr, double, double, ptr, ptr, double, ptr, i8, i8, i8, i8, i32, double, double, double, double, double, double, double, %"struct.std::pair", %"struct.std::pair" }
%"struct.std::pair" = type { double, double }
%"class.std::vector.16" = type { %"struct.std::_Vector_base.17" }
%"struct.std::_Vector_base.17" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.LayerApex = type { %class.Apex, i32, ptr, double, ptr, double }
%class.Apex = type { ptr, i8, double, double, ptr, i32, double, double, double, double, i8, i8, i8, i8, %"struct.std::pair.0" }
%"struct.std::pair.0" = type { i32, double }

@.str = external hidden unnamed_addr constant [11 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [4 x i8], align 1
@__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi = external hidden unnamed_addr constant [35 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [44 x i8], align 1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef, ptr noundef, i32 noundef) #0

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 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)) #3

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZNK7GNMData7sigmaOWEv(ptr noundef nonnull align 8 dereferenceable(984)) #3 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK9LayerApex14pinnedApexDistEv(ptr noundef nonnull align 8 dereferenceable(144)) #2 align 2

; Function Attrs: nounwind
declare double @tan(double noundef) #4

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

232:                                              ; preds = %3
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #6
  store i1 true, ptr %10, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  store i1 true, ptr %12, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #6
  store i1 true, ptr %14, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  store i1 true, ptr %16, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  store i1 true, ptr %18, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #6
  store i1 true, ptr %20, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #6
  store i1 true, ptr %22, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  store i1 true, ptr %23, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %233 unwind label %784

233:                                              ; preds = %232
  store i1 true, ptr %26, 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 %17, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef @.str.1)
          to label %234 unwind label %788

234:                                              ; preds = %233
  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 1, ptr %30) #6
  store i1 true, ptr %31, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  store i1 true, ptr %32, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %235 unwind label %792

235:                                              ; preds = %234
  store i1 true, ptr %33, 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 %15, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %236 unwind label %796

236:                                              ; preds = %235
  store i1 true, ptr %34, 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 %13, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef @.str.2)
          to label %237 unwind label %800

237:                                              ; preds = %236
  store i1 true, ptr %35, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  store i1 true, ptr %37, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #6
  store i1 true, ptr %39, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  store i1 true, ptr %40, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %238 unwind label %804

238:                                              ; preds = %237
  store i1 true, ptr %41, 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 %11, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %239 unwind label %808

239:                                              ; preds = %238
  store i1 true, ptr %42, 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 %9, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef @.str.4)
          to label %240 unwind label %812

240:                                              ; preds = %239
  store i1 true, ptr %43, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  store i1 true, ptr %45, align 1
  store i32 351, ptr %46, align 4, !tbaa !11
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %241 unwind label %816

241:                                              ; preds = %240
  store i1 true, ptr %47, 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 %8, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %242 unwind label %820

242:                                              ; preds = %241
  store i1 true, ptr %48, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #6
  store i1 true, ptr %51, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #6
  store i1 true, ptr %53, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  store i1 true, ptr %54, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %243 unwind label %824

243:                                              ; preds = %242
  store i1 true, ptr %55, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #6
  store i1 true, ptr %57, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #6
  store i1 true, ptr %59, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #6
  store i1 true, ptr %60, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.27, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %244 unwind label %828

244:                                              ; preds = %243
  store i1 true, ptr %61, 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 %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %245 unwind label %832

245:                                              ; preds = %244
  store i1 true, ptr %62, align 1
  %246 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %8, ptr noundef %49, i32 noundef 0)
          to label %247 unwind label %836

247:                                              ; preds = %245
  br label %248

248:                                              ; preds = %247, %3
  %249 = phi i1 [ true, %3 ], [ %246, %247 ]
  %250 = xor i1 %249, true
  %251 = load i1, ptr %62, align 1
  br i1 %251, label %252, label %253

252:                                              ; preds = %248
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %253

253:                                              ; preds = %252, %248
  %254 = load i1, ptr %61, align 1
  br i1 %254, label %255, label %256

255:                                              ; preds = %253
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %256

256:                                              ; preds = %255, %253
  %257 = load i1, ptr %60, align 1
  br i1 %257, label %258, label %259

258:                                              ; preds = %256
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #6
  br label %259

259:                                              ; preds = %258, %256
  %260 = load i1, ptr %59, align 1
  br i1 %260, label %261, label %262

261:                                              ; preds = %259
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #6
  br label %262

262:                                              ; preds = %261, %259
  %263 = load i1, ptr %57, align 1
  br i1 %263, label %264, label %265

264:                                              ; preds = %262
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %265

265:                                              ; preds = %264, %262
  %266 = load i1, ptr %55, align 1
  br i1 %266, label %267, label %268

267:                                              ; preds = %265
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %268

268:                                              ; preds = %267, %265
  %269 = load i1, ptr %54, align 1
  br i1 %269, label %270, label %271

270:                                              ; preds = %268
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  br label %271

271:                                              ; preds = %270, %268
  %272 = load i1, ptr %53, align 1
  br i1 %272, label %273, label %274

273:                                              ; preds = %271
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #6
  br label %274

274:                                              ; preds = %273, %271
  %275 = load i1, ptr %51, align 1
  br i1 %275, label %276, label %277

276:                                              ; preds = %274
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  br label %277

277:                                              ; preds = %276, %274
  %278 = load i1, ptr %48, align 1
  br i1 %278, label %279, label %280

279:                                              ; preds = %277
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  br label %280

280:                                              ; preds = %279, %277
  %281 = load i1, ptr %47, align 1
  br i1 %281, label %282, label %283

282:                                              ; preds = %280
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %283

283:                                              ; preds = %282, %280
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  %284 = load i1, ptr %45, align 1
  br i1 %284, label %285, label %286

285:                                              ; preds = %283
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %286

286:                                              ; preds = %285, %283
  %287 = load i1, ptr %43, align 1
  br i1 %287, label %288, label %289

288:                                              ; preds = %286
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %289

289:                                              ; preds = %288, %286
  %290 = load i1, ptr %42, align 1
  br i1 %290, label %291, label %292

291:                                              ; preds = %289
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %292

292:                                              ; preds = %291, %289
  %293 = load i1, ptr %41, align 1
  br i1 %293, label %294, label %295

294:                                              ; preds = %292
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %295

295:                                              ; preds = %294, %292
  %296 = load i1, ptr %40, align 1
  br i1 %296, label %297, label %298

297:                                              ; preds = %295
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  br label %298

298:                                              ; preds = %297, %295
  %299 = load i1, ptr %39, align 1
  br i1 %299, label %300, label %301

300:                                              ; preds = %298
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #6
  br label %301

301:                                              ; preds = %300, %298
  %302 = load i1, ptr %37, align 1
  br i1 %302, label %303, label %304

303:                                              ; preds = %301
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %304

304:                                              ; preds = %303, %301
  %305 = load i1, ptr %35, align 1
  br i1 %305, label %306, label %307

306:                                              ; preds = %304
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %307

307:                                              ; preds = %306, %304
  %308 = load i1, ptr %34, align 1
  br i1 %308, label %309, label %310

309:                                              ; preds = %307
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %310

310:                                              ; preds = %309, %307
  %311 = load i1, ptr %33, align 1
  br i1 %311, label %312, label %313

312:                                              ; preds = %310
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %313

313:                                              ; preds = %312, %310
  %314 = load i1, ptr %32, align 1
  br i1 %314, label %315, label %316

315:                                              ; preds = %313
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  br label %316

316:                                              ; preds = %315, %313
  %317 = load i1, ptr %31, align 1
  br i1 %317, label %318, label %319

318:                                              ; preds = %316
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #6
  br label %319

319:                                              ; preds = %318, %316
  %320 = load i1, ptr %29, align 1
  br i1 %320, label %321, label %322

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

322:                                              ; preds = %321, %319
  %323 = load i1, ptr %27, align 1
  br i1 %323, label %324, label %325

324:                                              ; preds = %322
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %325

325:                                              ; preds = %324, %322
  %326 = load i1, ptr %26, align 1
  br i1 %326, label %327, label %328

327:                                              ; preds = %325
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %328

328:                                              ; preds = %327, %325
  %329 = load i1, ptr %23, align 1
  br i1 %329, label %330, label %331

330:                                              ; preds = %328
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  br label %331

331:                                              ; preds = %330, %328
  %332 = load i1, ptr %22, align 1
  br i1 %332, label %333, label %334

333:                                              ; preds = %331
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  br label %334

334:                                              ; preds = %333, %331
  %335 = load i1, ptr %20, align 1
  br i1 %335, label %336, label %337

336:                                              ; preds = %334
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #6
  br label %337

337:                                              ; preds = %336, %334
  %338 = load i1, ptr %18, align 1
  br i1 %338, label %339, label %340

339:                                              ; preds = %337
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br label %340

340:                                              ; preds = %339, %337
  %341 = load i1, ptr %16, align 1
  br i1 %341, label %342, label %343

342:                                              ; preds = %340
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  br label %343

343:                                              ; preds = %342, %340
  %344 = load i1, ptr %14, align 1
  br i1 %344, label %345, label %346

345:                                              ; preds = %343
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  br label %346

346:                                              ; preds = %345, %343
  %347 = load i1, ptr %12, align 1
  br i1 %347, label %348, label %349

348:                                              ; preds = %346
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  br label %349

349:                                              ; preds = %348, %346
  %350 = load i1, ptr %10, align 1
  br i1 %350, label %351, label %352

351:                                              ; preds = %349
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #6
  br label %352

352:                                              ; preds = %351, %349
  %353 = load ptr, ptr %7, align 8, !tbaa !5
  %354 = call noundef zeroext i1 @_ZNK4Apex6existsEv(ptr noundef nonnull align 8 dereferenceable(104) %353)
  store i1 false, ptr %65, align 1
  store i1 false, ptr %67, align 1
  store i1 false, ptr %69, align 1
  store i1 false, ptr %71, align 1
  store i1 false, ptr %73, align 1
  store i1 false, ptr %75, align 1
  store i1 false, ptr %77, align 1
  store i1 false, ptr %78, align 1
  store i1 false, ptr %79, 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 %85, align 1
  store i1 false, ptr %86, align 1
  store i1 false, ptr %87, align 1
  store i1 false, ptr %88, align 1
  store i1 false, ptr %90, align 1
  store i1 false, ptr %92, align 1
  store i1 false, ptr %93, align 1
  store i1 false, ptr %94, align 1
  store i1 false, ptr %95, align 1
  store i1 false, ptr %96, align 1
  store i1 false, ptr %98, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #6
  store i1 false, ptr %100, align 1
  store i1 false, ptr %101, align 1
  store i1 false, ptr %104, align 1
  store i1 false, ptr %106, align 1
  store i1 false, ptr %107, align 1
  store i1 false, ptr %108, align 1
  store i1 false, ptr %110, align 1
  store i1 false, ptr %112, align 1
  store i1 false, ptr %113, align 1
  store i1 false, ptr %114, align 1
  store i1 false, ptr %115, align 1
  br i1 %354, label %355, label %371

355:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #6
  store i1 true, ptr %65, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #6
  store i1 true, ptr %67, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #6
  store i1 true, ptr %69, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #6
  store i1 true, ptr %71, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #6
  store i1 true, ptr %73, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #6
  store i1 true, ptr %75, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #6
  store i1 true, ptr %77, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  store i1 true, ptr %78, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %356 unwind label %955

356:                                              ; preds = %355
  store i1 true, ptr %79, 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 %72, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef @.str.1)
          to label %357 unwind label %959

357:                                              ; preds = %356
  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 1, ptr %83) #6
  store i1 true, ptr %84, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  store i1 true, ptr %85, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %358 unwind label %963

358:                                              ; preds = %357
  store i1 true, ptr %86, 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 %70, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %359 unwind label %967

359:                                              ; preds = %358
  store i1 true, ptr %87, 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 %68, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.2)
          to label %360 unwind label %971

360:                                              ; preds = %359
  store i1 true, ptr %88, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #6
  store i1 true, ptr %90, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #6
  store i1 true, ptr %92, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  store i1 true, ptr %93, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %361 unwind label %975

361:                                              ; preds = %360
  store i1 true, ptr %94, 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 %66, ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %362 unwind label %979

362:                                              ; preds = %361
  store i1 true, ptr %95, 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 %64, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.4)
          to label %363 unwind label %983

363:                                              ; preds = %362
  store i1 true, ptr %96, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #6
  store i1 true, ptr %98, align 1
  store i32 352, ptr %99, align 4, !tbaa !11
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull align 4 dereferenceable(4) %99)
          to label %364 unwind label %987

364:                                              ; preds = %363
  store i1 true, ptr %100, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %365 unwind label %991

365:                                              ; preds = %364
  store i1 true, ptr %101, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %103) #6
  store i1 true, ptr %104, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #6
  store i1 true, ptr %106, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  store i1 true, ptr %107, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %366 unwind label %995

366:                                              ; preds = %365
  store i1 true, ptr %108, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #6
  store i1 true, ptr %110, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #6
  store i1 true, ptr %112, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  store i1 true, ptr %113, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef @.str.28, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %367 unwind label %999

367:                                              ; preds = %366
  store i1 true, ptr %114, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %102, ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %368 unwind label %1003

368:                                              ; preds = %367
  store i1 true, ptr %115, align 1
  %369 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %63, ptr noundef %102, i32 noundef 0)
          to label %370 unwind label %1007

370:                                              ; preds = %368
  br label %371

371:                                              ; preds = %370, %352
  %372 = phi i1 [ true, %352 ], [ %369, %370 ]
  %373 = xor i1 %372, true
  %374 = load i1, ptr %115, align 1
  br i1 %374, label %375, label %376

375:                                              ; preds = %371
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %376

376:                                              ; preds = %375, %371
  %377 = load i1, ptr %114, align 1
  br i1 %377, label %378, label %379

378:                                              ; preds = %376
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %379

379:                                              ; preds = %378, %376
  %380 = load i1, ptr %113, align 1
  br i1 %380, label %381, label %382

381:                                              ; preds = %379
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  br label %382

382:                                              ; preds = %381, %379
  %383 = load i1, ptr %112, align 1
  br i1 %383, label %384, label %385

384:                                              ; preds = %382
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #6
  br label %385

385:                                              ; preds = %384, %382
  %386 = load i1, ptr %110, align 1
  br i1 %386, label %387, label %388

387:                                              ; preds = %385
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #6
  br label %388

388:                                              ; preds = %387, %385
  %389 = load i1, ptr %108, align 1
  br i1 %389, label %390, label %391

390:                                              ; preds = %388
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %391

391:                                              ; preds = %390, %388
  %392 = load i1, ptr %107, align 1
  br i1 %392, label %393, label %394

393:                                              ; preds = %391
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  br label %394

394:                                              ; preds = %393, %391
  %395 = load i1, ptr %106, align 1
  br i1 %395, label %396, label %397

396:                                              ; preds = %394
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #6
  br label %397

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

399:                                              ; preds = %397
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #6
  br label %400

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

402:                                              ; preds = %400
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %403

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

405:                                              ; preds = %403
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %406

406:                                              ; preds = %405, %403
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #6
  %407 = load i1, ptr %98, align 1
  br i1 %407, label %408, label %409

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

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

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

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

414:                                              ; preds = %412
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %415

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

417:                                              ; preds = %415
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %418

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

420:                                              ; preds = %418
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  br label %421

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

423:                                              ; preds = %421
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #6
  br label %424

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

426:                                              ; preds = %424
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #6
  br label %427

427:                                              ; preds = %426, %424
  %428 = load i1, ptr %88, align 1
  br i1 %428, label %429, label %430

429:                                              ; preds = %427
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %430

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

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

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

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

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

438:                                              ; preds = %436
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  br label %439

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

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

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

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

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

447:                                              ; preds = %445
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %448

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

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

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

453:                                              ; preds = %451
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  br label %454

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

456:                                              ; preds = %454
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #6
  br label %457

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

459:                                              ; preds = %457
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #6
  br label %460

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

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

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

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

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

468:                                              ; preds = %466
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  br label %469

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

471:                                              ; preds = %469
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #6
  br label %472

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

474:                                              ; preds = %472
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  br label %475

475:                                              ; preds = %474, %472
  %476 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 4
  %477 = load ptr, ptr %476, align 8, !tbaa !13
  %478 = load i32, ptr %6, align 4, !tbaa !11
  %479 = sext i32 %478 to i64
  %480 = getelementptr inbounds %class.LayerApex, ptr %477, i64 %479
  %481 = load double, ptr %5, align 8, !tbaa !9
  %482 = getelementptr inbounds %class.VoidElem, ptr %222, i32 0, i32 4
  %483 = load double, ptr %482, align 8, !tbaa !26
  %484 = getelementptr inbounds %class.VoidElem, ptr %222, i32 0, i32 3
  %485 = load double, ptr %484, align 8, !tbaa !27
  %486 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 7
  %487 = load double, ptr %486, align 8, !tbaa !28
  %488 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 2
  %489 = load i32, ptr %6, align 4, !tbaa !11
  %490 = sext i32 %489 to i64
  %491 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %488, i64 noundef %490) #6
  %492 = load double, ptr %491, align 8, !tbaa !9
  %493 = getelementptr inbounds %class.ElemModel, ptr %222, i32 0, i32 4
  %494 = load ptr, ptr %493, align 8, !tbaa !29
  %495 = call noundef double @_ZNK7GNMData7sigmaOWEv(ptr noundef nonnull align 8 dereferenceable(984) %494)
  %496 = call noundef zeroext i1 @_ZN9LayerApex12createOLayerEddddddb(ptr noundef nonnull align 8 dereferenceable(144) %480, double noundef %481, double noundef %483, double noundef %485, double noundef %487, double noundef %492, double noundef %495, i1 noundef zeroext true)
  br i1 %496, label %497, label %1468

497:                                              ; preds = %475
  %498 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 4
  %499 = load ptr, ptr %498, align 8, !tbaa !13
  %500 = load i32, ptr %6, align 4, !tbaa !11
  %501 = sext i32 %500 to i64
  %502 = getelementptr inbounds %class.LayerApex, ptr %499, i64 %501
  %503 = call noundef double @_ZNK9LayerApex14pinnedApexDistEv(ptr noundef nonnull align 8 dereferenceable(144) %502)
  %504 = getelementptr inbounds %class.ElemModel, ptr %222, i32 0, i32 5
  %505 = load double, ptr %504, align 8, !tbaa !30
  %506 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 2
  %507 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %506, i64 noundef 0) #6
  %508 = load double, ptr %507, align 8, !tbaa !9
  %509 = call double @tan(double noundef %508) #6
  %510 = fdiv double 1.000000e+00, %509
  %511 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 2
  %512 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %511, i64 noundef 1) #6
  %513 = load double, ptr %512, align 8, !tbaa !9
  %514 = call double @tan(double noundef %513) #6
  %515 = fdiv double 1.000000e+00, %514
  %516 = fadd double %510, %515
  %517 = fmul double %505, %516
  %518 = fcmp olt double %503, %517
  store i1 false, ptr %118, align 1
  store i1 false, ptr %120, align 1
  store i1 false, ptr %122, align 1
  store i1 false, ptr %124, align 1
  store i1 false, ptr %126, align 1
  store i1 false, ptr %128, align 1
  store i1 false, ptr %130, align 1
  store i1 false, ptr %131, align 1
  store i1 false, ptr %132, 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 %138, align 1
  store i1 false, ptr %139, align 1
  store i1 false, ptr %140, align 1
  store i1 false, ptr %141, align 1
  store i1 false, ptr %143, align 1
  store i1 false, ptr %145, align 1
  store i1 false, ptr %146, align 1
  store i1 false, ptr %147, align 1
  store i1 false, ptr %148, align 1
  store i1 false, ptr %149, align 1
  store i1 false, ptr %151, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #6
  store i1 false, ptr %153, align 1
  store i1 false, ptr %154, align 1
  store i1 false, ptr %157, align 1
  store i1 false, ptr %159, align 1
  store i1 false, ptr %160, align 1
  store i1 false, ptr %161, align 1
  store i1 false, ptr %163, align 1
  store i1 false, ptr %165, align 1
  store i1 false, ptr %166, align 1
  store i1 false, ptr %167, align 1
  store i1 false, ptr %168, align 1
  br i1 %518, label %535, label %519

519:                                              ; preds = %497
  call void @llvm.lifetime.start.p0(i64 32, ptr %117) #6
  store i1 true, ptr %118, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %119) #6
  store i1 true, ptr %120, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %121) #6
  store i1 true, ptr %122, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #6
  store i1 true, ptr %124, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #6
  store i1 true, ptr %126, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #6
  store i1 true, ptr %128, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #6
  store i1 true, ptr %130, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #6
  store i1 true, ptr %131, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %129)
          to label %520 unwind label %1126

520:                                              ; preds = %519
  store i1 true, ptr %132, 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 %125, ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef @.str.1)
          to label %521 unwind label %1130

521:                                              ; preds = %520
  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 1, ptr %136) #6
  store i1 true, ptr %137, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  store i1 true, ptr %138, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef @__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %522 unwind label %1134

522:                                              ; preds = %521
  store i1 true, ptr %139, 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 %123, ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %523 unwind label %1138

523:                                              ; preds = %522
  store i1 true, ptr %140, 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 %121, ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef @.str.2)
          to label %524 unwind label %1142

524:                                              ; preds = %523
  store i1 true, ptr %141, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %142) #6
  store i1 true, ptr %143, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %144) #6
  store i1 true, ptr %145, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  store i1 true, ptr %146, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %144)
          to label %525 unwind label %1146

525:                                              ; preds = %524
  store i1 true, ptr %147, 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 %119, ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %526 unwind label %1150

526:                                              ; preds = %525
  store i1 true, ptr %148, 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 %117, ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef @.str.4)
          to label %527 unwind label %1154

527:                                              ; preds = %526
  store i1 true, ptr %149, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #6
  store i1 true, ptr %151, align 1
  store i32 359, ptr %152, align 4, !tbaa !11
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %150, ptr noundef nonnull align 4 dereferenceable(4) %152)
          to label %528 unwind label %1158

528:                                              ; preds = %527
  store i1 true, ptr %153, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %116, ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %529 unwind label %1162

529:                                              ; preds = %528
  store i1 true, ptr %154, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %156) #6
  store i1 true, ptr %157, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %158) #6
  store i1 true, ptr %159, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #6
  store i1 true, ptr %160, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %158)
          to label %530 unwind label %1166

530:                                              ; preds = %529
  store i1 true, ptr %161, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %162) #6
  store i1 true, ptr %163, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %164) #6
  store i1 true, ptr %165, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  store i1 true, ptr %166, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %164)
          to label %531 unwind label %1170

531:                                              ; preds = %530
  store i1 true, ptr %167, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %155, ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull align 8 dereferenceable(32) %162)
          to label %532 unwind label %1174

532:                                              ; preds = %531
  store i1 true, ptr %168, align 1
  %533 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %116, ptr noundef %155, i32 noundef 0)
          to label %534 unwind label %1178

534:                                              ; preds = %532
  br label %535

535:                                              ; preds = %534, %497
  %536 = phi i1 [ true, %497 ], [ %533, %534 ]
  %537 = xor i1 %536, true
  %538 = load i1, ptr %168, align 1
  br i1 %538, label %539, label %540

539:                                              ; preds = %535
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %540

540:                                              ; preds = %539, %535
  %541 = load i1, ptr %167, align 1
  br i1 %541, label %542, label %543

542:                                              ; preds = %540
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  br label %543

543:                                              ; preds = %542, %540
  %544 = load i1, ptr %166, align 1
  br i1 %544, label %545, label %546

545:                                              ; preds = %543
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  br label %546

546:                                              ; preds = %545, %543
  %547 = load i1, ptr %165, align 1
  br i1 %547, label %548, label %549

548:                                              ; preds = %546
  call void @llvm.lifetime.end.p0(i64 1, ptr %164) #6
  br label %549

549:                                              ; preds = %548, %546
  %550 = load i1, ptr %163, align 1
  br i1 %550, label %551, label %552

551:                                              ; preds = %549
  call void @llvm.lifetime.end.p0(i64 32, ptr %162) #6
  br label %552

552:                                              ; preds = %551, %549
  %553 = load i1, ptr %161, align 1
  br i1 %553, label %554, label %555

554:                                              ; preds = %552
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  br label %555

555:                                              ; preds = %554, %552
  %556 = load i1, ptr %160, align 1
  br i1 %556, label %557, label %558

557:                                              ; preds = %555
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #6
  br label %558

558:                                              ; preds = %557, %555
  %559 = load i1, ptr %159, align 1
  br i1 %559, label %560, label %561

560:                                              ; preds = %558
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #6
  br label %561

561:                                              ; preds = %560, %558
  %562 = load i1, ptr %157, align 1
  br i1 %562, label %563, label %564

563:                                              ; preds = %561
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #6
  br label %564

564:                                              ; preds = %563, %561
  %565 = load i1, ptr %154, align 1
  br i1 %565, label %566, label %567

566:                                              ; preds = %564
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %567

567:                                              ; preds = %566, %564
  %568 = load i1, ptr %153, align 1
  br i1 %568, label %569, label %570

569:                                              ; preds = %567
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  br label %570

570:                                              ; preds = %569, %567
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #6
  %571 = load i1, ptr %151, align 1
  br i1 %571, label %572, label %573

572:                                              ; preds = %570
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #6
  br label %573

573:                                              ; preds = %572, %570
  %574 = load i1, ptr %149, align 1
  br i1 %574, label %575, label %576

575:                                              ; preds = %573
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %576

576:                                              ; preds = %575, %573
  %577 = load i1, ptr %148, align 1
  br i1 %577, label %578, label %579

578:                                              ; preds = %576
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  br label %579

579:                                              ; preds = %578, %576
  %580 = load i1, ptr %147, align 1
  br i1 %580, label %581, label %582

581:                                              ; preds = %579
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br label %582

582:                                              ; preds = %581, %579
  %583 = load i1, ptr %146, align 1
  br i1 %583, label %584, label %585

584:                                              ; preds = %582
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  br label %585

585:                                              ; preds = %584, %582
  %586 = load i1, ptr %145, align 1
  br i1 %586, label %587, label %588

587:                                              ; preds = %585
  call void @llvm.lifetime.end.p0(i64 1, ptr %144) #6
  br label %588

588:                                              ; preds = %587, %585
  %589 = load i1, ptr %143, align 1
  br i1 %589, label %590, label %591

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

591:                                              ; preds = %590, %588
  %592 = load i1, ptr %141, align 1
  br i1 %592, label %593, label %594

593:                                              ; preds = %591
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %594

594:                                              ; preds = %593, %591
  %595 = load i1, ptr %140, align 1
  br i1 %595, label %596, label %597

596:                                              ; preds = %594
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %597

597:                                              ; preds = %596, %594
  %598 = load i1, ptr %139, align 1
  br i1 %598, label %599, label %600

599:                                              ; preds = %597
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %600

600:                                              ; preds = %599, %597
  %601 = load i1, ptr %138, align 1
  br i1 %601, label %602, label %603

602:                                              ; preds = %600
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  br label %603

603:                                              ; preds = %602, %600
  %604 = load i1, ptr %137, align 1
  br i1 %604, label %605, label %606

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

606:                                              ; preds = %605, %603
  %607 = load i1, ptr %135, align 1
  br i1 %607, label %608, label %609

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

609:                                              ; preds = %608, %606
  %610 = load i1, ptr %133, align 1
  br i1 %610, label %611, label %612

611:                                              ; preds = %609
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %612

612:                                              ; preds = %611, %609
  %613 = load i1, ptr %132, align 1
  br i1 %613, label %614, label %615

614:                                              ; preds = %612
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %615

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

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

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

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

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

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

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

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

627:                                              ; preds = %626, %624
  %628 = load i1, ptr %124, align 1
  br i1 %628, label %629, label %630

629:                                              ; preds = %627
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #6
  br label %630

630:                                              ; preds = %629, %627
  %631 = load i1, ptr %122, align 1
  br i1 %631, label %632, label %633

632:                                              ; preds = %630
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #6
  br label %633

633:                                              ; preds = %632, %630
  %634 = load i1, ptr %120, align 1
  br i1 %634, label %635, label %636

635:                                              ; preds = %633
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #6
  br label %636

636:                                              ; preds = %635, %633
  %637 = load i1, ptr %118, align 1
  br i1 %637, label %638, label %639

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

639:                                              ; preds = %638, %636
  %640 = getelementptr inbounds %class.ElemModel, ptr %222, i32 0, i32 8
  store i8 1, ptr %640, align 1, !tbaa !31
  %641 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 5
  %642 = load i16, ptr %641, align 8, !tbaa !32
  %643 = add i16 %642, 1
  store i16 %643, ptr %641, align 8, !tbaa !32
  %644 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 5
  %645 = load i16, ptr %644, align 8, !tbaa !32
  %646 = sext i16 %645 to i32
  %647 = icmp sgt i32 %646, 0
  store i1 false, ptr %171, align 1
  store i1 false, ptr %173, align 1
  store i1 false, ptr %175, align 1
  store i1 false, ptr %177, align 1
  store i1 false, ptr %179, align 1
  store i1 false, ptr %181, align 1
  store i1 false, ptr %183, align 1
  store i1 false, ptr %184, align 1
  store i1 false, ptr %185, 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 %191, align 1
  store i1 false, ptr %192, align 1
  store i1 false, ptr %193, align 1
  store i1 false, ptr %194, align 1
  store i1 false, ptr %196, align 1
  store i1 false, ptr %198, align 1
  store i1 false, ptr %199, align 1
  store i1 false, ptr %200, align 1
  store i1 false, ptr %201, align 1
  store i1 false, ptr %202, align 1
  store i1 false, ptr %204, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #6
  store i1 false, ptr %206, align 1
  store i1 false, ptr %207, align 1
  store i1 false, ptr %210, 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 %216, align 1
  store i1 false, ptr %218, align 1
  store i1 false, ptr %219, align 1
  store i1 false, ptr %220, align 1
  store i1 false, ptr %221, align 1
  br i1 %647, label %648, label %655

648:                                              ; preds = %639
  %649 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 5
  %650 = load i16, ptr %649, align 8, !tbaa !32
  %651 = sext i16 %650 to i32
  %652 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 1
  %653 = load i32, ptr %652, align 8, !tbaa !33
  %654 = icmp sle i32 %651, %653
  br i1 %654, label %671, label %655

655:                                              ; preds = %648, %639
  call void @llvm.lifetime.start.p0(i64 32, ptr %170) #6
  store i1 true, ptr %171, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %172) #6
  store i1 true, ptr %173, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #6
  store i1 true, ptr %175, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %176) #6
  store i1 true, ptr %177, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %178) #6
  store i1 true, ptr %179, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %180) #6
  store i1 true, ptr %181, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %182) #6
  store i1 true, ptr %183, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  store i1 true, ptr %184, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %182)
          to label %656 unwind label %1297

656:                                              ; preds = %655
  store i1 true, ptr %185, 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 %178, ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef @.str.1)
          to label %657 unwind label %1301

657:                                              ; preds = %656
  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 1, ptr %189) #6
  store i1 true, ptr %190, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  store i1 true, ptr %191, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef @__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi, ptr noundef nonnull align 1 dereferenceable(1) %189)
          to label %658 unwind label %1305

658:                                              ; preds = %657
  store i1 true, ptr %192, 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 %176, ptr noundef nonnull align 8 dereferenceable(32) %178, ptr noundef nonnull align 8 dereferenceable(32) %187)
          to label %659 unwind label %1309

659:                                              ; preds = %658
  store i1 true, ptr %193, 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 %174, ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef @.str.2)
          to label %660 unwind label %1313

660:                                              ; preds = %659
  store i1 true, ptr %194, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %195) #6
  store i1 true, ptr %196, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %197) #6
  store i1 true, ptr %198, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %197) #6
  store i1 true, ptr %199, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %195, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %197)
          to label %661 unwind label %1317

661:                                              ; preds = %660
  store i1 true, ptr %200, 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 %172, ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %662 unwind label %1321

662:                                              ; preds = %661
  store i1 true, ptr %201, 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 %170, ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef @.str.4)
          to label %663 unwind label %1325

663:                                              ; preds = %662
  store i1 true, ptr %202, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %203) #6
  store i1 true, ptr %204, align 1
  store i32 365, ptr %205, align 4, !tbaa !11
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %203, ptr noundef nonnull align 4 dereferenceable(4) %205)
          to label %664 unwind label %1329

664:                                              ; preds = %663
  store i1 true, ptr %206, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %169, ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef nonnull align 8 dereferenceable(32) %203)
          to label %665 unwind label %1333

665:                                              ; preds = %664
  store i1 true, ptr %207, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %209) #6
  store i1 true, ptr %210, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %211) #6
  store i1 true, ptr %212, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %211) #6
  store i1 true, ptr %213, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %211)
          to label %666 unwind label %1337

666:                                              ; preds = %665
  store i1 true, ptr %214, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %215) #6
  store i1 true, ptr %216, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %217) #6
  store i1 true, ptr %218, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %217) #6
  store i1 true, ptr %219, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %217)
          to label %667 unwind label %1341

667:                                              ; preds = %666
  store i1 true, ptr %220, 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 %208, ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef nonnull align 8 dereferenceable(32) %215)
          to label %668 unwind label %1345

668:                                              ; preds = %667
  store i1 true, ptr %221, align 1
  %669 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %169, ptr noundef %208, i32 noundef 0)
          to label %670 unwind label %1349

670:                                              ; preds = %668
  br label %671

671:                                              ; preds = %670, %648
  %672 = phi i1 [ true, %648 ], [ %669, %670 ]
  %673 = xor i1 %672, true
  %674 = load i1, ptr %221, align 1
  br i1 %674, label %675, label %676

675:                                              ; preds = %671
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %676

676:                                              ; preds = %675, %671
  %677 = load i1, ptr %220, align 1
  br i1 %677, label %678, label %679

678:                                              ; preds = %676
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  br label %679

679:                                              ; preds = %678, %676
  %680 = load i1, ptr %219, align 1
  br i1 %680, label %681, label %682

681:                                              ; preds = %679
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %217) #6
  br label %682

682:                                              ; preds = %681, %679
  %683 = load i1, ptr %218, align 1
  br i1 %683, label %684, label %685

684:                                              ; preds = %682
  call void @llvm.lifetime.end.p0(i64 1, ptr %217) #6
  br label %685

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

687:                                              ; preds = %685
  call void @llvm.lifetime.end.p0(i64 32, ptr %215) #6
  br label %688

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

690:                                              ; preds = %688
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #6
  br label %691

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

693:                                              ; preds = %691
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %211) #6
  br label %694

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

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

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

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

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

702:                                              ; preds = %700
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %703

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

705:                                              ; preds = %703
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #6
  br label %706

706:                                              ; preds = %705, %703
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #6
  %707 = load i1, ptr %204, align 1
  br i1 %707, label %708, label %709

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

709:                                              ; preds = %708, %706
  %710 = load i1, ptr %202, align 1
  br i1 %710, label %711, label %712

711:                                              ; preds = %709
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  br label %712

712:                                              ; preds = %711, %709
  %713 = load i1, ptr %201, align 1
  br i1 %713, label %714, label %715

714:                                              ; preds = %712
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %715

715:                                              ; preds = %714, %712
  %716 = load i1, ptr %200, align 1
  br i1 %716, label %717, label %718

717:                                              ; preds = %715
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  br label %718

718:                                              ; preds = %717, %715
  %719 = load i1, ptr %199, align 1
  br i1 %719, label %720, label %721

720:                                              ; preds = %718
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %197) #6
  br label %721

721:                                              ; preds = %720, %718
  %722 = load i1, ptr %198, align 1
  br i1 %722, label %723, label %724

723:                                              ; preds = %721
  call void @llvm.lifetime.end.p0(i64 1, ptr %197) #6
  br label %724

724:                                              ; preds = %723, %721
  %725 = load i1, ptr %196, align 1
  br i1 %725, label %726, label %727

726:                                              ; preds = %724
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #6
  br label %727

727:                                              ; preds = %726, %724
  %728 = load i1, ptr %194, align 1
  br i1 %728, label %729, label %730

729:                                              ; preds = %727
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  br label %730

730:                                              ; preds = %729, %727
  %731 = load i1, ptr %193, align 1
  br i1 %731, label %732, label %733

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

733:                                              ; preds = %732, %730
  %734 = load i1, ptr %192, align 1
  br i1 %734, label %735, label %736

735:                                              ; preds = %733
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %736

736:                                              ; preds = %735, %733
  %737 = load i1, ptr %191, align 1
  br i1 %737, label %738, label %739

738:                                              ; preds = %736
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  br label %739

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

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

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

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

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

747:                                              ; preds = %745
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  br label %748

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

750:                                              ; preds = %748
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %751

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

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

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

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

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

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

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

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

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

765:                                              ; preds = %763
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #6
  br label %766

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

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

769:                                              ; preds = %768, %766
  %770 = load i1, ptr %173, align 1
  br i1 %770, label %771, label %772

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

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

774:                                              ; preds = %772
  call void @llvm.lifetime.end.p0(i64 32, ptr %170) #6
  br label %775

775:                                              ; preds = %774, %772
  %776 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 5
  %777 = load i16, ptr %776, align 8, !tbaa !32
  %778 = sext i16 %777 to i32
  %779 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 1
  %780 = load i32, ptr %779, align 8, !tbaa !33
  %781 = icmp eq i32 %778, %780
  %782 = getelementptr inbounds %class.ElemModel, ptr %222, i32 0, i32 9
  %783 = zext i1 %781 to i8
  store i8 %783, ptr %782, align 2, !tbaa !34
  br label %1468

784:                                              ; preds = %232
  %785 = landingpad { ptr, i32 }
          cleanup
  %786 = extractvalue { ptr, i32 } %785, 0
  store ptr %786, ptr %24, align 8
  %787 = extractvalue { ptr, i32 } %785, 1
  store i32 %787, ptr %25, align 4
  br label %930

788:                                              ; preds = %233
  %789 = landingpad { ptr, i32 }
          cleanup
  %790 = extractvalue { ptr, i32 } %789, 0
  store ptr %790, ptr %24, align 8
  %791 = extractvalue { ptr, i32 } %789, 1
  store i32 %791, ptr %25, align 4
  br label %926

792:                                              ; preds = %234
  %793 = landingpad { ptr, i32 }
          cleanup
  %794 = extractvalue { ptr, i32 } %793, 0
  store ptr %794, ptr %24, align 8
  %795 = extractvalue { ptr, i32 } %793, 1
  store i32 %795, ptr %25, align 4
  br label %913

796:                                              ; preds = %235
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %24, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %25, align 4
  br label %909

800:                                              ; preds = %236
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %24, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %25, align 4
  br label %905

804:                                              ; preds = %237
  %805 = landingpad { ptr, i32 }
          cleanup
  %806 = extractvalue { ptr, i32 } %805, 0
  store ptr %806, ptr %24, align 8
  %807 = extractvalue { ptr, i32 } %805, 1
  store i32 %807, ptr %25, align 4
  br label %892

808:                                              ; preds = %238
  %809 = landingpad { ptr, i32 }
          cleanup
  %810 = extractvalue { ptr, i32 } %809, 0
  store ptr %810, ptr %24, align 8
  %811 = extractvalue { ptr, i32 } %809, 1
  store i32 %811, ptr %25, align 4
  br label %888

812:                                              ; preds = %239
  %813 = landingpad { ptr, i32 }
          cleanup
  %814 = extractvalue { ptr, i32 } %813, 0
  store ptr %814, ptr %24, align 8
  %815 = extractvalue { ptr, i32 } %813, 1
  store i32 %815, ptr %25, align 4
  br label %884

816:                                              ; preds = %240
  %817 = landingpad { ptr, i32 }
          cleanup
  %818 = extractvalue { ptr, i32 } %817, 0
  store ptr %818, ptr %24, align 8
  %819 = extractvalue { ptr, i32 } %817, 1
  store i32 %819, ptr %25, align 4
  br label %877

820:                                              ; preds = %241
  %821 = landingpad { ptr, i32 }
          cleanup
  %822 = extractvalue { ptr, i32 } %821, 0
  store ptr %822, ptr %24, align 8
  %823 = extractvalue { ptr, i32 } %821, 1
  store i32 %823, ptr %25, align 4
  br label %873

824:                                              ; preds = %242
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %24, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %25, align 4
  br label %860

828:                                              ; preds = %243
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %24, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %25, align 4
  br label %847

832:                                              ; preds = %244
  %833 = landingpad { ptr, i32 }
          cleanup
  %834 = extractvalue { ptr, i32 } %833, 0
  store ptr %834, ptr %24, align 8
  %835 = extractvalue { ptr, i32 } %833, 1
  store i32 %835, ptr %25, align 4
  br label %843

836:                                              ; preds = %245
  %837 = landingpad { ptr, i32 }
          cleanup
  %838 = extractvalue { ptr, i32 } %837, 0
  store ptr %838, ptr %24, align 8
  %839 = extractvalue { ptr, i32 } %837, 1
  store i32 %839, ptr %25, align 4
  %840 = load i1, ptr %62, align 1
  br i1 %840, label %841, label %842

841:                                              ; preds = %836
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %842

842:                                              ; preds = %841, %836
  br label %843

843:                                              ; preds = %842, %832
  %844 = load i1, ptr %61, align 1
  br i1 %844, label %845, label %846

845:                                              ; preds = %843
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %846

846:                                              ; preds = %845, %843
  br label %847

847:                                              ; preds = %846, %828
  %848 = load i1, ptr %60, align 1
  br i1 %848, label %849, label %850

849:                                              ; preds = %847
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #6
  br label %850

850:                                              ; preds = %849, %847
  %851 = load i1, ptr %59, align 1
  br i1 %851, label %852, label %853

852:                                              ; preds = %850
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #6
  br label %853

853:                                              ; preds = %852, %850
  %854 = load i1, ptr %57, align 1
  br i1 %854, label %855, label %856

855:                                              ; preds = %853
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %856

856:                                              ; preds = %855, %853
  %857 = load i1, ptr %55, align 1
  br i1 %857, label %858, label %859

858:                                              ; preds = %856
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %859

859:                                              ; preds = %858, %856
  br label %860

860:                                              ; preds = %859, %824
  %861 = load i1, ptr %54, align 1
  br i1 %861, label %862, label %863

862:                                              ; preds = %860
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  br label %863

863:                                              ; preds = %862, %860
  %864 = load i1, ptr %53, align 1
  br i1 %864, label %865, label %866

865:                                              ; preds = %863
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #6
  br label %866

866:                                              ; preds = %865, %863
  %867 = load i1, ptr %51, align 1
  br i1 %867, label %868, label %869

868:                                              ; preds = %866
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  br label %869

869:                                              ; preds = %868, %866
  %870 = load i1, ptr %48, align 1
  br i1 %870, label %871, label %872

871:                                              ; preds = %869
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  br label %872

872:                                              ; preds = %871, %869
  br label %873

873:                                              ; preds = %872, %820
  %874 = load i1, ptr %47, align 1
  br i1 %874, label %875, label %876

875:                                              ; preds = %873
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %876

876:                                              ; preds = %875, %873
  br label %877

877:                                              ; preds = %876, %816
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  %878 = load i1, ptr %45, align 1
  br i1 %878, label %879, label %880

879:                                              ; preds = %877
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %880

880:                                              ; preds = %879, %877
  %881 = load i1, ptr %43, align 1
  br i1 %881, label %882, label %883

882:                                              ; preds = %880
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %883

883:                                              ; preds = %882, %880
  br label %884

884:                                              ; preds = %883, %812
  %885 = load i1, ptr %42, align 1
  br i1 %885, label %886, label %887

886:                                              ; preds = %884
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %887

887:                                              ; preds = %886, %884
  br label %888

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

890:                                              ; preds = %888
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %891

891:                                              ; preds = %890, %888
  br label %892

892:                                              ; preds = %891, %804
  %893 = load i1, ptr %40, align 1
  br i1 %893, label %894, label %895

894:                                              ; preds = %892
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  br label %895

895:                                              ; preds = %894, %892
  %896 = load i1, ptr %39, align 1
  br i1 %896, label %897, label %898

897:                                              ; preds = %895
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #6
  br label %898

898:                                              ; preds = %897, %895
  %899 = load i1, ptr %37, align 1
  br i1 %899, label %900, label %901

900:                                              ; preds = %898
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %901

901:                                              ; preds = %900, %898
  %902 = load i1, ptr %35, align 1
  br i1 %902, label %903, label %904

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

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

905:                                              ; preds = %904, %800
  %906 = load i1, ptr %34, 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) %15) #6
  br label %908

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

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

911:                                              ; preds = %909
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %912

912:                                              ; preds = %911, %909
  br label %913

913:                                              ; preds = %912, %792
  %914 = load i1, ptr %32, align 1
  br i1 %914, label %915, label %916

915:                                              ; preds = %913
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  br label %916

916:                                              ; preds = %915, %913
  %917 = load i1, ptr %31, align 1
  br i1 %917, label %918, label %919

918:                                              ; preds = %916
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #6
  br label %919

919:                                              ; preds = %918, %916
  %920 = load i1, ptr %29, align 1
  br i1 %920, label %921, label %922

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

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

924:                                              ; preds = %922
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %925

925:                                              ; preds = %924, %922
  br label %926

926:                                              ; preds = %925, %788
  %927 = load i1, ptr %26, align 1
  br i1 %927, label %928, label %929

928:                                              ; preds = %926
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %929

929:                                              ; preds = %928, %926
  br label %930

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

932:                                              ; preds = %930
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  br label %933

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

935:                                              ; preds = %933
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  br label %936

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

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

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

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

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

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

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

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

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

950:                                              ; preds = %948
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  br label %951

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

953:                                              ; preds = %951
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #6
  br label %954

954:                                              ; preds = %953, %951
  br label %1475

955:                                              ; preds = %355
  %956 = landingpad { ptr, i32 }
          cleanup
  %957 = extractvalue { ptr, i32 } %956, 0
  store ptr %957, ptr %24, align 8
  %958 = extractvalue { ptr, i32 } %956, 1
  store i32 %958, ptr %25, align 4
  br label %1101

959:                                              ; preds = %356
  %960 = landingpad { ptr, i32 }
          cleanup
  %961 = extractvalue { ptr, i32 } %960, 0
  store ptr %961, ptr %24, align 8
  %962 = extractvalue { ptr, i32 } %960, 1
  store i32 %962, ptr %25, align 4
  br label %1097

963:                                              ; preds = %357
  %964 = landingpad { ptr, i32 }
          cleanup
  %965 = extractvalue { ptr, i32 } %964, 0
  store ptr %965, ptr %24, align 8
  %966 = extractvalue { ptr, i32 } %964, 1
  store i32 %966, ptr %25, align 4
  br label %1084

967:                                              ; preds = %358
  %968 = landingpad { ptr, i32 }
          cleanup
  %969 = extractvalue { ptr, i32 } %968, 0
  store ptr %969, ptr %24, align 8
  %970 = extractvalue { ptr, i32 } %968, 1
  store i32 %970, ptr %25, align 4
  br label %1080

971:                                              ; preds = %359
  %972 = landingpad { ptr, i32 }
          cleanup
  %973 = extractvalue { ptr, i32 } %972, 0
  store ptr %973, ptr %24, align 8
  %974 = extractvalue { ptr, i32 } %972, 1
  store i32 %974, ptr %25, align 4
  br label %1076

975:                                              ; preds = %360
  %976 = landingpad { ptr, i32 }
          cleanup
  %977 = extractvalue { ptr, i32 } %976, 0
  store ptr %977, ptr %24, align 8
  %978 = extractvalue { ptr, i32 } %976, 1
  store i32 %978, ptr %25, align 4
  br label %1063

979:                                              ; preds = %361
  %980 = landingpad { ptr, i32 }
          cleanup
  %981 = extractvalue { ptr, i32 } %980, 0
  store ptr %981, ptr %24, align 8
  %982 = extractvalue { ptr, i32 } %980, 1
  store i32 %982, ptr %25, align 4
  br label %1059

983:                                              ; preds = %362
  %984 = landingpad { ptr, i32 }
          cleanup
  %985 = extractvalue { ptr, i32 } %984, 0
  store ptr %985, ptr %24, align 8
  %986 = extractvalue { ptr, i32 } %984, 1
  store i32 %986, ptr %25, align 4
  br label %1055

987:                                              ; preds = %363
  %988 = landingpad { ptr, i32 }
          cleanup
  %989 = extractvalue { ptr, i32 } %988, 0
  store ptr %989, ptr %24, align 8
  %990 = extractvalue { ptr, i32 } %988, 1
  store i32 %990, ptr %25, align 4
  br label %1048

991:                                              ; preds = %364
  %992 = landingpad { ptr, i32 }
          cleanup
  %993 = extractvalue { ptr, i32 } %992, 0
  store ptr %993, ptr %24, align 8
  %994 = extractvalue { ptr, i32 } %992, 1
  store i32 %994, ptr %25, align 4
  br label %1044

995:                                              ; preds = %365
  %996 = landingpad { ptr, i32 }
          cleanup
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %24, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %25, align 4
  br label %1031

999:                                              ; preds = %366
  %1000 = landingpad { ptr, i32 }
          cleanup
  %1001 = extractvalue { ptr, i32 } %1000, 0
  store ptr %1001, ptr %24, align 8
  %1002 = extractvalue { ptr, i32 } %1000, 1
  store i32 %1002, ptr %25, align 4
  br label %1018

1003:                                             ; preds = %367
  %1004 = landingpad { ptr, i32 }
          cleanup
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %24, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %25, align 4
  br label %1014

1007:                                             ; preds = %368
  %1008 = landingpad { ptr, i32 }
          cleanup
  %1009 = extractvalue { ptr, i32 } %1008, 0
  store ptr %1009, ptr %24, align 8
  %1010 = extractvalue { ptr, i32 } %1008, 1
  store i32 %1010, ptr %25, align 4
  %1011 = load i1, ptr %115, align 1
  br i1 %1011, label %1012, label %1013

1012:                                             ; preds = %1007
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %1013

1013:                                             ; preds = %1012, %1007
  br label %1014

1014:                                             ; preds = %1013, %1003
  %1015 = load i1, ptr %114, align 1
  br i1 %1015, label %1016, label %1017

1016:                                             ; preds = %1014
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %1017

1017:                                             ; preds = %1016, %1014
  br label %1018

1018:                                             ; preds = %1017, %999
  %1019 = load i1, ptr %113, align 1
  br i1 %1019, label %1020, label %1021

1020:                                             ; preds = %1018
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  br label %1021

1021:                                             ; preds = %1020, %1018
  %1022 = load i1, ptr %112, align 1
  br i1 %1022, label %1023, label %1024

1023:                                             ; preds = %1021
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #6
  br label %1024

1024:                                             ; preds = %1023, %1021
  %1025 = load i1, ptr %110, align 1
  br i1 %1025, label %1026, label %1027

1026:                                             ; preds = %1024
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #6
  br label %1027

1027:                                             ; preds = %1026, %1024
  %1028 = load i1, ptr %108, align 1
  br i1 %1028, label %1029, label %1030

1029:                                             ; preds = %1027
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %1030

1030:                                             ; preds = %1029, %1027
  br label %1031

1031:                                             ; preds = %1030, %995
  %1032 = load i1, ptr %107, align 1
  br i1 %1032, label %1033, label %1034

1033:                                             ; preds = %1031
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  br label %1034

1034:                                             ; preds = %1033, %1031
  %1035 = load i1, ptr %106, align 1
  br i1 %1035, label %1036, label %1037

1036:                                             ; preds = %1034
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #6
  br label %1037

1037:                                             ; preds = %1036, %1034
  %1038 = load i1, ptr %104, align 1
  br i1 %1038, label %1039, label %1040

1039:                                             ; preds = %1037
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #6
  br label %1040

1040:                                             ; preds = %1039, %1037
  %1041 = load i1, ptr %101, align 1
  br i1 %1041, label %1042, label %1043

1042:                                             ; preds = %1040
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %1043

1043:                                             ; preds = %1042, %1040
  br label %1044

1044:                                             ; preds = %1043, %991
  %1045 = load i1, ptr %100, align 1
  br i1 %1045, label %1046, label %1047

1046:                                             ; preds = %1044
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %1047

1047:                                             ; preds = %1046, %1044
  br label %1048

1048:                                             ; preds = %1047, %987
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #6
  %1049 = load i1, ptr %98, align 1
  br i1 %1049, label %1050, label %1051

1050:                                             ; preds = %1048
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  br label %1051

1051:                                             ; preds = %1050, %1048
  %1052 = load i1, ptr %96, align 1
  br i1 %1052, label %1053, label %1054

1053:                                             ; preds = %1051
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %1054

1054:                                             ; preds = %1053, %1051
  br label %1055

1055:                                             ; preds = %1054, %983
  %1056 = load i1, ptr %95, align 1
  br i1 %1056, label %1057, label %1058

1057:                                             ; preds = %1055
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %1058

1058:                                             ; preds = %1057, %1055
  br label %1059

1059:                                             ; preds = %1058, %979
  %1060 = load i1, ptr %94, align 1
  br i1 %1060, label %1061, label %1062

1061:                                             ; preds = %1059
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %1062

1062:                                             ; preds = %1061, %1059
  br label %1063

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

1065:                                             ; preds = %1063
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  br label %1066

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

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

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

1071:                                             ; preds = %1069
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #6
  br label %1072

1072:                                             ; preds = %1071, %1069
  %1073 = load i1, ptr %88, align 1
  br i1 %1073, label %1074, label %1075

1074:                                             ; preds = %1072
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %1075

1075:                                             ; preds = %1074, %1072
  br label %1076

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

1078:                                             ; preds = %1076
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %1079

1079:                                             ; preds = %1078, %1076
  br label %1080

1080:                                             ; preds = %1079, %967
  %1081 = load i1, ptr %86, align 1
  br i1 %1081, label %1082, label %1083

1082:                                             ; preds = %1080
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %1083

1083:                                             ; preds = %1082, %1080
  br label %1084

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

1086:                                             ; preds = %1084
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  br label %1087

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

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

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

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

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

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

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

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

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

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

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

1103:                                             ; preds = %1101
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  br label %1104

1104:                                             ; preds = %1103, %1101
  %1105 = load i1, ptr %77, align 1
  br i1 %1105, label %1106, label %1107

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

1107:                                             ; preds = %1106, %1104
  %1108 = load i1, ptr %75, align 1
  br i1 %1108, label %1109, label %1110

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

1110:                                             ; preds = %1109, %1107
  %1111 = load i1, ptr %73, align 1
  br i1 %1111, label %1112, label %1113

1112:                                             ; preds = %1110
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #6
  br label %1113

1113:                                             ; preds = %1112, %1110
  %1114 = load i1, ptr %71, align 1
  br i1 %1114, label %1115, label %1116

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

1116:                                             ; preds = %1115, %1113
  %1117 = load i1, ptr %69, align 1
  br i1 %1117, label %1118, label %1119

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

1119:                                             ; preds = %1118, %1116
  %1120 = load i1, ptr %67, align 1
  br i1 %1120, label %1121, label %1122

1121:                                             ; preds = %1119
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #6
  br label %1122

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

1124:                                             ; preds = %1122
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  br label %1125

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

1126:                                             ; preds = %519
  %1127 = landingpad { ptr, i32 }
          cleanup
  %1128 = extractvalue { ptr, i32 } %1127, 0
  store ptr %1128, ptr %24, align 8
  %1129 = extractvalue { ptr, i32 } %1127, 1
  store i32 %1129, ptr %25, align 4
  br label %1272

1130:                                             ; preds = %520
  %1131 = landingpad { ptr, i32 }
          cleanup
  %1132 = extractvalue { ptr, i32 } %1131, 0
  store ptr %1132, ptr %24, align 8
  %1133 = extractvalue { ptr, i32 } %1131, 1
  store i32 %1133, ptr %25, align 4
  br label %1268

1134:                                             ; preds = %521
  %1135 = landingpad { ptr, i32 }
          cleanup
  %1136 = extractvalue { ptr, i32 } %1135, 0
  store ptr %1136, ptr %24, align 8
  %1137 = extractvalue { ptr, i32 } %1135, 1
  store i32 %1137, ptr %25, align 4
  br label %1255

1138:                                             ; preds = %522
  %1139 = landingpad { ptr, i32 }
          cleanup
  %1140 = extractvalue { ptr, i32 } %1139, 0
  store ptr %1140, ptr %24, align 8
  %1141 = extractvalue { ptr, i32 } %1139, 1
  store i32 %1141, ptr %25, align 4
  br label %1251

1142:                                             ; preds = %523
  %1143 = landingpad { ptr, i32 }
          cleanup
  %1144 = extractvalue { ptr, i32 } %1143, 0
  store ptr %1144, ptr %24, align 8
  %1145 = extractvalue { ptr, i32 } %1143, 1
  store i32 %1145, ptr %25, align 4
  br label %1247

1146:                                             ; preds = %524
  %1147 = landingpad { ptr, i32 }
          cleanup
  %1148 = extractvalue { ptr, i32 } %1147, 0
  store ptr %1148, ptr %24, align 8
  %1149 = extractvalue { ptr, i32 } %1147, 1
  store i32 %1149, ptr %25, align 4
  br label %1234

1150:                                             ; preds = %525
  %1151 = landingpad { ptr, i32 }
          cleanup
  %1152 = extractvalue { ptr, i32 } %1151, 0
  store ptr %1152, ptr %24, align 8
  %1153 = extractvalue { ptr, i32 } %1151, 1
  store i32 %1153, ptr %25, align 4
  br label %1230

1154:                                             ; preds = %526
  %1155 = landingpad { ptr, i32 }
          cleanup
  %1156 = extractvalue { ptr, i32 } %1155, 0
  store ptr %1156, ptr %24, align 8
  %1157 = extractvalue { ptr, i32 } %1155, 1
  store i32 %1157, ptr %25, align 4
  br label %1226

1158:                                             ; preds = %527
  %1159 = landingpad { ptr, i32 }
          cleanup
  %1160 = extractvalue { ptr, i32 } %1159, 0
  store ptr %1160, ptr %24, align 8
  %1161 = extractvalue { ptr, i32 } %1159, 1
  store i32 %1161, ptr %25, align 4
  br label %1219

1162:                                             ; preds = %528
  %1163 = landingpad { ptr, i32 }
          cleanup
  %1164 = extractvalue { ptr, i32 } %1163, 0
  store ptr %1164, ptr %24, align 8
  %1165 = extractvalue { ptr, i32 } %1163, 1
  store i32 %1165, ptr %25, align 4
  br label %1215

1166:                                             ; preds = %529
  %1167 = landingpad { ptr, i32 }
          cleanup
  %1168 = extractvalue { ptr, i32 } %1167, 0
  store ptr %1168, ptr %24, align 8
  %1169 = extractvalue { ptr, i32 } %1167, 1
  store i32 %1169, ptr %25, align 4
  br label %1202

1170:                                             ; preds = %530
  %1171 = landingpad { ptr, i32 }
          cleanup
  %1172 = extractvalue { ptr, i32 } %1171, 0
  store ptr %1172, ptr %24, align 8
  %1173 = extractvalue { ptr, i32 } %1171, 1
  store i32 %1173, ptr %25, align 4
  br label %1189

1174:                                             ; preds = %531
  %1175 = landingpad { ptr, i32 }
          cleanup
  %1176 = extractvalue { ptr, i32 } %1175, 0
  store ptr %1176, ptr %24, align 8
  %1177 = extractvalue { ptr, i32 } %1175, 1
  store i32 %1177, ptr %25, align 4
  br label %1185

1178:                                             ; preds = %532
  %1179 = landingpad { ptr, i32 }
          cleanup
  %1180 = extractvalue { ptr, i32 } %1179, 0
  store ptr %1180, ptr %24, align 8
  %1181 = extractvalue { ptr, i32 } %1179, 1
  store i32 %1181, ptr %25, align 4
  %1182 = load i1, ptr %168, align 1
  br i1 %1182, label %1183, label %1184

1183:                                             ; preds = %1178
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1184

1184:                                             ; preds = %1183, %1178
  br label %1185

1185:                                             ; preds = %1184, %1174
  %1186 = load i1, ptr %167, align 1
  br i1 %1186, label %1187, label %1188

1187:                                             ; preds = %1185
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  br label %1188

1188:                                             ; preds = %1187, %1185
  br label %1189

1189:                                             ; preds = %1188, %1170
  %1190 = load i1, ptr %166, align 1
  br i1 %1190, label %1191, label %1192

1191:                                             ; preds = %1189
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  br label %1192

1192:                                             ; preds = %1191, %1189
  %1193 = load i1, ptr %165, align 1
  br i1 %1193, label %1194, label %1195

1194:                                             ; preds = %1192
  call void @llvm.lifetime.end.p0(i64 1, ptr %164) #6
  br label %1195

1195:                                             ; preds = %1194, %1192
  %1196 = load i1, ptr %163, align 1
  br i1 %1196, label %1197, label %1198

1197:                                             ; preds = %1195
  call void @llvm.lifetime.end.p0(i64 32, ptr %162) #6
  br label %1198

1198:                                             ; preds = %1197, %1195
  %1199 = load i1, ptr %161, align 1
  br i1 %1199, label %1200, label %1201

1200:                                             ; preds = %1198
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  br label %1201

1201:                                             ; preds = %1200, %1198
  br label %1202

1202:                                             ; preds = %1201, %1166
  %1203 = load i1, ptr %160, align 1
  br i1 %1203, label %1204, label %1205

1204:                                             ; preds = %1202
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #6
  br label %1205

1205:                                             ; preds = %1204, %1202
  %1206 = load i1, ptr %159, align 1
  br i1 %1206, label %1207, label %1208

1207:                                             ; preds = %1205
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #6
  br label %1208

1208:                                             ; preds = %1207, %1205
  %1209 = load i1, ptr %157, align 1
  br i1 %1209, label %1210, label %1211

1210:                                             ; preds = %1208
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #6
  br label %1211

1211:                                             ; preds = %1210, %1208
  %1212 = load i1, ptr %154, align 1
  br i1 %1212, label %1213, label %1214

1213:                                             ; preds = %1211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %1214

1214:                                             ; preds = %1213, %1211
  br label %1215

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

1217:                                             ; preds = %1215
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  br label %1218

1218:                                             ; preds = %1217, %1215
  br label %1219

1219:                                             ; preds = %1218, %1158
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #6
  %1220 = load i1, ptr %151, align 1
  br i1 %1220, label %1221, label %1222

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

1222:                                             ; preds = %1221, %1219
  %1223 = load i1, ptr %149, align 1
  br i1 %1223, label %1224, label %1225

1224:                                             ; preds = %1222
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %1225

1225:                                             ; preds = %1224, %1222
  br label %1226

1226:                                             ; preds = %1225, %1154
  %1227 = load i1, ptr %148, align 1
  br i1 %1227, label %1228, label %1229

1228:                                             ; preds = %1226
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  br label %1229

1229:                                             ; preds = %1228, %1226
  br label %1230

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

1232:                                             ; preds = %1230
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br label %1233

1233:                                             ; preds = %1232, %1230
  br label %1234

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

1236:                                             ; preds = %1234
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  br label %1237

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

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

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

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

1243:                                             ; preds = %1242, %1240
  %1244 = load i1, ptr %141, align 1
  br i1 %1244, label %1245, label %1246

1245:                                             ; preds = %1243
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %1246

1246:                                             ; preds = %1245, %1243
  br label %1247

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

1249:                                             ; preds = %1247
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1250

1250:                                             ; preds = %1249, %1247
  br label %1251

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

1253:                                             ; preds = %1251
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %1254

1254:                                             ; preds = %1253, %1251
  br label %1255

1255:                                             ; preds = %1254, %1134
  %1256 = load i1, ptr %138, align 1
  br i1 %1256, label %1257, label %1258

1257:                                             ; preds = %1255
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  br label %1258

1258:                                             ; preds = %1257, %1255
  %1259 = load i1, ptr %137, align 1
  br i1 %1259, label %1260, label %1261

1260:                                             ; preds = %1258
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #6
  br label %1261

1261:                                             ; preds = %1260, %1258
  %1262 = load i1, ptr %135, align 1
  br i1 %1262, label %1263, label %1264

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

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

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

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

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

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

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

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

1274:                                             ; preds = %1272
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #6
  br label %1275

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

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

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

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

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

1283:                                             ; preds = %1281
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  br label %1284

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

1286:                                             ; preds = %1284
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #6
  br label %1287

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

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

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

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

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

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

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

1297:                                             ; preds = %655
  %1298 = landingpad { ptr, i32 }
          cleanup
  %1299 = extractvalue { ptr, i32 } %1298, 0
  store ptr %1299, ptr %24, align 8
  %1300 = extractvalue { ptr, i32 } %1298, 1
  store i32 %1300, ptr %25, align 4
  br label %1443

1301:                                             ; preds = %656
  %1302 = landingpad { ptr, i32 }
          cleanup
  %1303 = extractvalue { ptr, i32 } %1302, 0
  store ptr %1303, ptr %24, align 8
  %1304 = extractvalue { ptr, i32 } %1302, 1
  store i32 %1304, ptr %25, align 4
  br label %1439

1305:                                             ; preds = %657
  %1306 = landingpad { ptr, i32 }
          cleanup
  %1307 = extractvalue { ptr, i32 } %1306, 0
  store ptr %1307, ptr %24, align 8
  %1308 = extractvalue { ptr, i32 } %1306, 1
  store i32 %1308, ptr %25, align 4
  br label %1426

1309:                                             ; preds = %658
  %1310 = landingpad { ptr, i32 }
          cleanup
  %1311 = extractvalue { ptr, i32 } %1310, 0
  store ptr %1311, ptr %24, align 8
  %1312 = extractvalue { ptr, i32 } %1310, 1
  store i32 %1312, ptr %25, align 4
  br label %1422

1313:                                             ; preds = %659
  %1314 = landingpad { ptr, i32 }
          cleanup
  %1315 = extractvalue { ptr, i32 } %1314, 0
  store ptr %1315, ptr %24, align 8
  %1316 = extractvalue { ptr, i32 } %1314, 1
  store i32 %1316, ptr %25, align 4
  br label %1418

1317:                                             ; preds = %660
  %1318 = landingpad { ptr, i32 }
          cleanup
  %1319 = extractvalue { ptr, i32 } %1318, 0
  store ptr %1319, ptr %24, align 8
  %1320 = extractvalue { ptr, i32 } %1318, 1
  store i32 %1320, ptr %25, align 4
  br label %1405

1321:                                             ; preds = %661
  %1322 = landingpad { ptr, i32 }
          cleanup
  %1323 = extractvalue { ptr, i32 } %1322, 0
  store ptr %1323, ptr %24, align 8
  %1324 = extractvalue { ptr, i32 } %1322, 1
  store i32 %1324, ptr %25, align 4
  br label %1401

1325:                                             ; preds = %662
  %1326 = landingpad { ptr, i32 }
          cleanup
  %1327 = extractvalue { ptr, i32 } %1326, 0
  store ptr %1327, ptr %24, align 8
  %1328 = extractvalue { ptr, i32 } %1326, 1
  store i32 %1328, ptr %25, align 4
  br label %1397

1329:                                             ; preds = %663
  %1330 = landingpad { ptr, i32 }
          cleanup
  %1331 = extractvalue { ptr, i32 } %1330, 0
  store ptr %1331, ptr %24, align 8
  %1332 = extractvalue { ptr, i32 } %1330, 1
  store i32 %1332, ptr %25, align 4
  br label %1390

1333:                                             ; preds = %664
  %1334 = landingpad { ptr, i32 }
          cleanup
  %1335 = extractvalue { ptr, i32 } %1334, 0
  store ptr %1335, ptr %24, align 8
  %1336 = extractvalue { ptr, i32 } %1334, 1
  store i32 %1336, ptr %25, align 4
  br label %1386

1337:                                             ; preds = %665
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %24, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %25, align 4
  br label %1373

1341:                                             ; preds = %666
  %1342 = landingpad { ptr, i32 }
          cleanup
  %1343 = extractvalue { ptr, i32 } %1342, 0
  store ptr %1343, ptr %24, align 8
  %1344 = extractvalue { ptr, i32 } %1342, 1
  store i32 %1344, ptr %25, align 4
  br label %1360

1345:                                             ; preds = %667
  %1346 = landingpad { ptr, i32 }
          cleanup
  %1347 = extractvalue { ptr, i32 } %1346, 0
  store ptr %1347, ptr %24, align 8
  %1348 = extractvalue { ptr, i32 } %1346, 1
  store i32 %1348, ptr %25, align 4
  br label %1356

1349:                                             ; preds = %668
  %1350 = landingpad { ptr, i32 }
          cleanup
  %1351 = extractvalue { ptr, i32 } %1350, 0
  store ptr %1351, ptr %24, align 8
  %1352 = extractvalue { ptr, i32 } %1350, 1
  store i32 %1352, ptr %25, align 4
  %1353 = load i1, ptr %221, align 1
  br i1 %1353, label %1354, label %1355

1354:                                             ; preds = %1349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %1355

1355:                                             ; preds = %1354, %1349
  br label %1356

1356:                                             ; preds = %1355, %1345
  %1357 = load i1, ptr %220, align 1
  br i1 %1357, label %1358, label %1359

1358:                                             ; preds = %1356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  br label %1359

1359:                                             ; preds = %1358, %1356
  br label %1360

1360:                                             ; preds = %1359, %1341
  %1361 = load i1, ptr %219, align 1
  br i1 %1361, label %1362, label %1363

1362:                                             ; preds = %1360
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %217) #6
  br label %1363

1363:                                             ; preds = %1362, %1360
  %1364 = load i1, ptr %218, align 1
  br i1 %1364, label %1365, label %1366

1365:                                             ; preds = %1363
  call void @llvm.lifetime.end.p0(i64 1, ptr %217) #6
  br label %1366

1366:                                             ; preds = %1365, %1363
  %1367 = load i1, ptr %216, align 1
  br i1 %1367, label %1368, label %1369

1368:                                             ; preds = %1366
  call void @llvm.lifetime.end.p0(i64 32, ptr %215) #6
  br label %1369

1369:                                             ; preds = %1368, %1366
  %1370 = load i1, ptr %214, align 1
  br i1 %1370, label %1371, label %1372

1371:                                             ; preds = %1369
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #6
  br label %1372

1372:                                             ; preds = %1371, %1369
  br label %1373

1373:                                             ; preds = %1372, %1337
  %1374 = load i1, ptr %213, align 1
  br i1 %1374, label %1375, label %1376

1375:                                             ; preds = %1373
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %211) #6
  br label %1376

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

1378:                                             ; preds = %1376
  call void @llvm.lifetime.end.p0(i64 1, ptr %211) #6
  br label %1379

1379:                                             ; preds = %1378, %1376
  %1380 = load i1, ptr %210, align 1
  br i1 %1380, label %1381, label %1382

1381:                                             ; preds = %1379
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #6
  br label %1382

1382:                                             ; preds = %1381, %1379
  %1383 = load i1, ptr %207, align 1
  br i1 %1383, label %1384, label %1385

1384:                                             ; preds = %1382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1385

1385:                                             ; preds = %1384, %1382
  br label %1386

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

1388:                                             ; preds = %1386
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #6
  br label %1389

1389:                                             ; preds = %1388, %1386
  br label %1390

1390:                                             ; preds = %1389, %1329
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #6
  %1391 = load i1, ptr %204, align 1
  br i1 %1391, label %1392, label %1393

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

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

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

1396:                                             ; preds = %1395, %1393
  br label %1397

1397:                                             ; preds = %1396, %1325
  %1398 = load i1, ptr %201, align 1
  br i1 %1398, label %1399, label %1400

1399:                                             ; preds = %1397
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1400

1400:                                             ; preds = %1399, %1397
  br label %1401

1401:                                             ; preds = %1400, %1321
  %1402 = load i1, ptr %200, align 1
  br i1 %1402, label %1403, label %1404

1403:                                             ; preds = %1401
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  br label %1404

1404:                                             ; preds = %1403, %1401
  br label %1405

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

1407:                                             ; preds = %1405
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %197) #6
  br label %1408

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

1410:                                             ; preds = %1408
  call void @llvm.lifetime.end.p0(i64 1, ptr %197) #6
  br label %1411

1411:                                             ; preds = %1410, %1408
  %1412 = load i1, ptr %196, align 1
  br i1 %1412, label %1413, label %1414

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

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

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

1417:                                             ; preds = %1416, %1414
  br label %1418

1418:                                             ; preds = %1417, %1313
  %1419 = load i1, ptr %193, align 1
  br i1 %1419, label %1420, label %1421

1420:                                             ; preds = %1418
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #6
  br label %1421

1421:                                             ; preds = %1420, %1418
  br label %1422

1422:                                             ; preds = %1421, %1309
  %1423 = load i1, ptr %192, align 1
  br i1 %1423, label %1424, label %1425

1424:                                             ; preds = %1422
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %1425

1425:                                             ; preds = %1424, %1422
  br label %1426

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

1428:                                             ; preds = %1426
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  br label %1429

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

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

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

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

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

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

1438:                                             ; preds = %1437, %1435
  br label %1439

1439:                                             ; preds = %1438, %1301
  %1440 = load i1, ptr %185, align 1
  br i1 %1440, label %1441, label %1442

1441:                                             ; preds = %1439
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %1442

1442:                                             ; preds = %1441, %1439
  br label %1443

1443:                                             ; preds = %1442, %1297
  %1444 = load i1, ptr %184, align 1
  br i1 %1444, label %1445, label %1446

1445:                                             ; preds = %1443
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  br label %1446

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

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

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

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

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

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

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

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

1458:                                             ; preds = %1457, %1455
  %1459 = load i1, ptr %175, align 1
  br i1 %1459, label %1460, label %1461

1460:                                             ; preds = %1458
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  br label %1461

1461:                                             ; preds = %1460, %1458
  %1462 = load i1, ptr %173, align 1
  br i1 %1462, label %1463, label %1464

1463:                                             ; preds = %1461
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #6
  br label %1464

1464:                                             ; preds = %1463, %1461
  %1465 = load i1, ptr %171, align 1
  br i1 %1465, label %1466, label %1467

1466:                                             ; preds = %1464
  call void @llvm.lifetime.end.p0(i64 32, ptr %170) #6
  br label %1467

1467:                                             ; preds = %1466, %1464
  br label %1475

1468:                                             ; preds = %775, %475
  %1469 = getelementptr inbounds %class.Polygon, ptr %222, i32 0, i32 4
  %1470 = load ptr, ptr %1469, align 8, !tbaa !13
  %1471 = load i32, ptr %6, align 4, !tbaa !11
  %1472 = sext i32 %1471 to i64
  %1473 = getelementptr inbounds %class.LayerApex, ptr %1470, i64 %1472
  %1474 = call noundef zeroext i1 @_ZNK4Apex6existsEv(ptr noundef nonnull align 8 dereferenceable(104) %1473)
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  ret i1 %1474

1475:                                             ; preds = %1467, %1296, %1125, %954
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  br label %1476

1476:                                             ; preds = %1475
  %1477 = load ptr, ptr %24, align 8
  %1478 = load i32, ptr %25, align 4
  %1479 = insertvalue { ptr, i32 } poison, ptr %1477, 0
  %1480 = insertvalue { ptr, i32 } %1479, i32 %1478, 1
  resume { ptr, i32 } %1480
}

declare noundef zeroext i1 @_ZN9LayerApex12createOLayerEddddddb(ptr noundef nonnull align 8 dereferenceable(144), double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, i1 noundef zeroext) #5

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

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind "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 = !{!"int", !7, i64 0}
!13 = !{!14, !6, i64 224}
!14 = !{!"_ZTS7Polygon", !15, i64 0, !12, i64 184, !19, i64 192, !6, i64 216, !6, i64 224, !23, i64 232, !7, i64 234, !10, i64 240}
!15 = !{!"_ZTS8VoidElem", !16, i64 0, !10, i64 152, !10, i64 160, !10, i64 168, !10, i64 176}
!16 = !{!"_ZTS9ElemModel", !10, i64 8, !10, i64 16, !6, i64 24, !6, i64 32, !10, i64 40, !6, i64 48, !17, i64 56, !17, i64 57, !17, i64 58, !17, i64 59, !12, i64 60, !10, i64 64, !10, i64 72, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !18, i64 120, !18, i64 136}
!17 = !{!"bool", !7, i64 0}
!18 = !{!"_ZTSSt4pairIddE", !10, i64 0, !10, i64 8}
!19 = !{!"_ZTSSt6vectorIdSaIdEE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!23 = !{!"short", !7, i64 0}
!24 = !{!25, !25, i64 0}
!25 = !{!"vtable pointer", !8, i64 0}
!26 = !{!15, !10, i64 176}
!27 = !{!15, !10, i64 168}
!28 = !{!14, !10, i64 240}
!29 = !{!16, !6, i64 32}
!30 = !{!16, !10, i64 40}
!31 = !{!16, !17, i64 57}
!32 = !{!14, !23, i64 232}
!33 = !{!14, !12, i64 184}
!34 = !{!16, !17, i64 58}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.2" = type { i8 }
%class.LayerApex = type { %class.Apex, i32, ptr, double, ptr, double }
%class.Apex = type { ptr, i8, double, double, ptr, i32, double, double, double, double, i8, i8, i8, i8, %"struct.std::pair.0" }
%"struct.std::pair.0" = type { i32, double }

@.str = external hidden unnamed_addr constant [11 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [4 x i8], align 1
@__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi = external hidden unnamed_addr constant [35 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [44 x i8], align 1

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 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 #3

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZNK7GNMData7sigmaOWEv(ptr noundef nonnull align 8 dereferenceable(984)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4Apex6existsEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK9LayerApex14pinnedApexDistEv(ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #2 align 2

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

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

88:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %89 unwind label %202

89:                                               ; preds = %88
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.1)
          to label %90 unwind label %204

90:                                               ; preds = %89
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %91 unwind label %206

91:                                               ; preds = %90
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %92 unwind label %208

92:                                               ; preds = %91
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.2)
          to label %93 unwind label %210

93:                                               ; preds = %92
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %94 unwind label %212

94:                                               ; preds = %93
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %95 unwind label %214

95:                                               ; preds = %94
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull @.str.4)
          to label %96 unwind label %216

96:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  store i32 351, ptr %17, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %97 unwind label %218

97:                                               ; preds = %96
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %98 unwind label %220

98:                                               ; preds = %97
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %99 unwind label %222

99:                                               ; preds = %98
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.27, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %100 unwind label %224

100:                                              ; preds = %99
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %101 unwind label %226

101:                                              ; preds = %100
  %102 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %4, ptr noundef nonnull %18, i32 noundef 0)
          to label %.critedge538 unwind label %228

103:                                              ; preds = %3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #6
  br label %.critedge559

.critedge538:                                     ; preds = %101
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  br label %.critedge559

.critedge559:                                     ; preds = %103, %.critedge538
  %104 = call noundef zeroext i1 @_ZNK4Apex6existsEv(ptr noundef nonnull align 8 dereferenceable(104) %83)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #6
  br i1 %104, label %105, label %120

105:                                              ; preds = %.critedge559
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #6
  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, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %106 unwind label %243

106:                                              ; preds = %105
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.1)
          to label %107 unwind label %245

107:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %108 unwind label %247

108:                                              ; preds = %107
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %109 unwind label %249

109:                                              ; preds = %108
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(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 @.str.2)
          to label %110 unwind label %251

110:                                              ; preds = %109
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %34) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %111 unwind label %253

111:                                              ; preds = %110
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %112 unwind label %255

112:                                              ; preds = %111
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.4)
          to label %113 unwind label %257

113:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  store i32 352, ptr %36, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %114 unwind label %259

114:                                              ; preds = %113
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %115 unwind label %261

115:                                              ; preds = %114
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %116 unwind label %263

116:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.28, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %117 unwind label %265

117:                                              ; preds = %116
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %118 unwind label %267

118:                                              ; preds = %117
  %119 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %23, ptr noundef nonnull %37, i32 noundef 0)
          to label %.critedge574 unwind label %269

120:                                              ; preds = %.critedge559
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  br label %.critedge595

.critedge574:                                     ; preds = %118
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  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) %27) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  br label %.critedge595

.critedge595:                                     ; preds = %120, %.critedge574
  %121 = load ptr, ptr %80, align 8, !tbaa !5
  %122 = getelementptr inbounds %class.LayerApex, ptr %121, i64 %82
  %123 = getelementptr inbounds i8, ptr %0, i64 176
  %124 = load double, ptr %123, align 8, !tbaa !24
  %125 = getelementptr inbounds i8, ptr %0, i64 168
  %126 = load double, ptr %125, align 8, !tbaa !25
  %127 = getelementptr inbounds i8, ptr %0, i64 240
  %128 = load double, ptr %127, align 8, !tbaa !26
  %129 = getelementptr inbounds i8, ptr %0, i64 192
  %130 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef %82) #6
  %131 = load double, ptr %130, align 8, !tbaa !27
  %132 = getelementptr inbounds i8, ptr %0, i64 32
  %133 = load ptr, ptr %132, align 8, !tbaa !28
  %134 = call noundef double @_ZNK7GNMData7sigmaOWEv(ptr noundef nonnull align 8 dereferenceable(984) %133)
  %135 = call noundef zeroext i1 @_ZN9LayerApex12createOLayerEddddddb(ptr noundef nonnull align 8 dereferenceable(144) %122, double noundef %1, double noundef %124, double noundef %126, double noundef %128, double noundef %131, double noundef %134, i1 noundef zeroext true)
  br i1 %135, label %136, label %366

136:                                              ; preds = %.critedge595
  %137 = load ptr, ptr %80, align 8, !tbaa !5
  %138 = getelementptr inbounds %class.LayerApex, ptr %137, i64 %82
  %139 = call noundef double @_ZNK9LayerApex14pinnedApexDistEv(ptr noundef nonnull align 8 dereferenceable(144) %138)
  %140 = getelementptr inbounds i8, ptr %0, i64 40
  %141 = load double, ptr %140, align 8, !tbaa !29
  %142 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef 0) #6
  %143 = load double, ptr %142, align 8, !tbaa !27
  %144 = call double @tan(double noundef %143) #6
  %145 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef 1) #6
  %146 = load double, ptr %145, align 8, !tbaa !27
  %147 = call double @tan(double noundef %146) #6
  %148 = insertelement <2 x double> poison, double %144, i64 0
  %149 = insertelement <2 x double> %148, double %147, i64 1
  %150 = fdiv <2 x double> <double 1.000000e+00, double 1.000000e+00>, %149
  %shift = shufflevector <2 x double> %150, <2 x double> poison, <2 x i32> <i32 1, i32 poison>
  %151 = fadd <2 x double> %150, %shift
  %152 = extractelement <2 x double> %151, i64 0
  %153 = fmul double %141, %152
  %154 = fcmp uge double %139, %153
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #6
  br i1 %154, label %155, label %170

155:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #6
  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, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %156 unwind label %284

156:                                              ; preds = %155
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.1)
          to label %157 unwind label %286

157:                                              ; preds = %156
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %51) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull @__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %158 unwind label %288

158:                                              ; preds = %157
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %159 unwind label %290

159:                                              ; preds = %158
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(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 @.str.2)
          to label %160 unwind label %292

160:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %53) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %161 unwind label %294

161:                                              ; preds = %160
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %162 unwind label %296

162:                                              ; preds = %161
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.4)
          to label %163 unwind label %298

163:                                              ; preds = %162
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #6
  store i32 359, ptr %55, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %164 unwind label %300

164:                                              ; preds = %163
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %165 unwind label %302

165:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %58) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %166 unwind label %304

166:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %167 unwind label %306

167:                                              ; preds = %166
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %168 unwind label %308

168:                                              ; preds = %167
  %169 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %42, ptr noundef nonnull %56, i32 noundef 0)
          to label %.critedge610 unwind label %310

170:                                              ; preds = %136
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #6
  br label %.critedge631

.critedge610:                                     ; preds = %168
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  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) %46) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  br label %.critedge631

.critedge631:                                     ; preds = %170, %.critedge610
  %171 = getelementptr inbounds i8, ptr %0, i64 57
  store i8 1, ptr %171, align 1, !tbaa !30
  %172 = getelementptr inbounds i8, ptr %0, i64 232
  %173 = load i16, ptr %172, align 8, !tbaa !31
  %174 = add i16 %173, 1
  store i16 %174, ptr %172, align 8, !tbaa !31
  %175 = icmp ult i16 %173, 32767
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %74) #6
  br i1 %175, label %176, label %180

176:                                              ; preds = %.critedge631
  %177 = zext nneg i16 %174 to i32
  %178 = getelementptr inbounds i8, ptr %0, i64 184
  %179 = load i32, ptr %178, align 8, !tbaa !32
  %.not = icmp slt i32 %179, %177
  br i1 %.not, label %180, label %195

180:                                              ; preds = %176, %.critedge631
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #6
  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, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %181 unwind label %325

181:                                              ; preds = %180
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.1)
          to label %182 unwind label %327

182:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %70) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @__FUNCTION__._ZN7Polygon34Pc_growStableOilLayerDrain_UseLessEdi, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %183 unwind label %329

183:                                              ; preds = %182
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %184 unwind label %331

184:                                              ; preds = %183
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(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 @.str.2)
          to label %185 unwind label %333

185:                                              ; preds = %184
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %186 unwind label %335

186:                                              ; preds = %185
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %187 unwind label %337

187:                                              ; preds = %186
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.4)
          to label %188 unwind label %339

188:                                              ; preds = %187
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #6
  store i32 365, ptr %74, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 4 dereferenceable(4) %74)
          to label %189 unwind label %341

189:                                              ; preds = %188
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %190 unwind label %343

190:                                              ; preds = %189
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %76) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %77) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %77)
          to label %191 unwind label %345

191:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %78) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %192 unwind label %347

192:                                              ; preds = %191
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %193 unwind label %349

193:                                              ; preds = %192
  %194 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %61, ptr noundef nonnull %75, i32 noundef 0)
          to label %.critedge645 unwind label %351

195:                                              ; preds = %176
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #6
  br label %.critedge666

.critedge645:                                     ; preds = %193
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  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) %65) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #6
  %.pre = load i16, ptr %172, align 8, !tbaa !31
  %.phi.trans.insert = getelementptr inbounds i8, ptr %0, i64 184
  %.pre675 = load i32, ptr %.phi.trans.insert, align 8, !tbaa !32
  br label %.critedge666

.critedge666:                                     ; preds = %195, %.critedge645
  %196 = phi i32 [ %179, %195 ], [ %.pre675, %.critedge645 ]
  %197 = phi i16 [ %174, %195 ], [ %.pre, %.critedge645 ]
  %198 = sext i16 %197 to i32
  %199 = icmp eq i32 %196, %198
  %200 = getelementptr inbounds i8, ptr %0, i64 58
  %201 = zext i1 %199 to i8
  store i8 %201, ptr %200, align 2, !tbaa !33
  br label %366

202:                                              ; preds = %88
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %242

204:                                              ; preds = %89
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %241

206:                                              ; preds = %90
  %207 = landingpad { ptr, i32 }
          cleanup
  br label %240

208:                                              ; preds = %91
  %209 = landingpad { ptr, i32 }
          cleanup
  br label %239

210:                                              ; preds = %92
  %211 = landingpad { ptr, i32 }
          cleanup
  br label %238

212:                                              ; preds = %93
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %237

214:                                              ; preds = %94
  %215 = landingpad { ptr, i32 }
          cleanup
  br label %236

216:                                              ; preds = %95
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %235

218:                                              ; preds = %96
  %219 = landingpad { ptr, i32 }
          cleanup
  br label %234

220:                                              ; preds = %97
  %221 = landingpad { ptr, i32 }
          cleanup
  br label %233

222:                                              ; preds = %98
  %223 = landingpad { ptr, i32 }
          cleanup
  br label %232

224:                                              ; preds = %99
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %231

226:                                              ; preds = %100
  %227 = landingpad { ptr, i32 }
          cleanup
  br label %230

228:                                              ; preds = %101
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %230

230:                                              ; preds = %226, %228
  %.pn = phi { ptr, i32 } [ %229, %228 ], [ %227, %226 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %231

231:                                              ; preds = %224, %230
  %.pn.pn = phi { ptr, i32 } [ %.pn, %230 ], [ %225, %224 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %232

232:                                              ; preds = %222, %231
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %231 ], [ %223, %222 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  br label %233

233:                                              ; preds = %220, %232
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %232 ], [ %221, %220 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %234

234:                                              ; preds = %233, %218
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %233 ], [ %219, %218 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  br label %235

235:                                              ; preds = %216, %234
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %234 ], [ %217, %216 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  br label %236

236:                                              ; preds = %214, %235
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %235 ], [ %215, %214 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %237

237:                                              ; preds = %212, %236
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %236 ], [ %213, %212 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %238

238:                                              ; preds = %210, %237
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %237 ], [ %211, %210 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  br label %239

239:                                              ; preds = %208, %238
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %238 ], [ %209, %208 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %240

240:                                              ; preds = %206, %239
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %239 ], [ %207, %206 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %241

241:                                              ; preds = %204, %240
  %.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, %240 ], [ %205, %204 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %242

242:                                              ; preds = %202, %241
  %.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, %241 ], [ %203, %202 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  br label %370

243:                                              ; preds = %105
  %244 = landingpad { ptr, i32 }
          cleanup
  br label %283

245:                                              ; preds = %106
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %282

247:                                              ; preds = %107
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %281

249:                                              ; preds = %108
  %250 = landingpad { ptr, i32 }
          cleanup
  br label %280

251:                                              ; preds = %109
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %279

253:                                              ; preds = %110
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %278

255:                                              ; preds = %111
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %277

257:                                              ; preds = %112
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %276

259:                                              ; preds = %113
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %275

261:                                              ; preds = %114
  %262 = landingpad { ptr, i32 }
          cleanup
  br label %274

263:                                              ; preds = %115
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %273

265:                                              ; preds = %116
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %272

267:                                              ; preds = %117
  %268 = landingpad { ptr, i32 }
          cleanup
  br label %271

269:                                              ; preds = %118
  %270 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %271

271:                                              ; preds = %267, %269
  %.pn483 = phi { ptr, i32 } [ %270, %269 ], [ %268, %267 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %272

272:                                              ; preds = %265, %271
  %.pn483.pn = phi { ptr, i32 } [ %.pn483, %271 ], [ %266, %265 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %273

273:                                              ; preds = %263, %272
  %.pn483.pn.pn = phi { ptr, i32 } [ %.pn483.pn, %272 ], [ %264, %263 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %274

274:                                              ; preds = %261, %273
  %.pn483.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn, %273 ], [ %262, %261 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %275

275:                                              ; preds = %274, %259
  %.pn483.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn, %274 ], [ %260, %259 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %276

276:                                              ; preds = %257, %275
  %.pn483.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn, %275 ], [ %258, %257 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %277

277:                                              ; preds = %255, %276
  %.pn483.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn.pn, %276 ], [ %256, %255 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %278

278:                                              ; preds = %253, %277
  %.pn483.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn.pn.pn, %277 ], [ %254, %253 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %279

279:                                              ; preds = %251, %278
  %.pn483.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn.pn.pn.pn, %278 ], [ %252, %251 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %280

280:                                              ; preds = %249, %279
  %.pn483.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn.pn.pn.pn.pn, %279 ], [ %250, %249 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %281

281:                                              ; preds = %247, %280
  %.pn483.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn.pn.pn.pn.pn.pn, %280 ], [ %248, %247 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %282

282:                                              ; preds = %245, %281
  %.pn483.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %281 ], [ %246, %245 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %283

283:                                              ; preds = %243, %282
  %.pn483.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %282 ], [ %244, %243 ]
  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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  br label %370

284:                                              ; preds = %155
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %324

286:                                              ; preds = %156
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %323

288:                                              ; preds = %157
  %289 = landingpad { ptr, i32 }
          cleanup
  br label %322

290:                                              ; preds = %158
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %321

292:                                              ; preds = %159
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %320

294:                                              ; preds = %160
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %319

296:                                              ; preds = %161
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %318

298:                                              ; preds = %162
  %299 = landingpad { ptr, i32 }
          cleanup
  br label %317

300:                                              ; preds = %163
  %301 = landingpad { ptr, i32 }
          cleanup
  br label %316

302:                                              ; preds = %164
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %315

304:                                              ; preds = %165
  %305 = landingpad { ptr, i32 }
          cleanup
  br label %314

306:                                              ; preds = %166
  %307 = landingpad { ptr, i32 }
          cleanup
  br label %313

308:                                              ; preds = %167
  %309 = landingpad { ptr, i32 }
          cleanup
  br label %312

310:                                              ; preds = %168
  %311 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %312

312:                                              ; preds = %308, %310
  %.pn497 = phi { ptr, i32 } [ %311, %310 ], [ %309, %308 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %313

313:                                              ; preds = %306, %312
  %.pn497.pn = phi { ptr, i32 } [ %.pn497, %312 ], [ %307, %306 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %314

314:                                              ; preds = %304, %313
  %.pn497.pn.pn = phi { ptr, i32 } [ %.pn497.pn, %313 ], [ %305, %304 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %315

315:                                              ; preds = %302, %314
  %.pn497.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn, %314 ], [ %303, %302 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %316

316:                                              ; preds = %315, %300
  %.pn497.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn, %315 ], [ %301, %300 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %317

317:                                              ; preds = %298, %316
  %.pn497.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn, %316 ], [ %299, %298 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %318

318:                                              ; preds = %296, %317
  %.pn497.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn.pn, %317 ], [ %297, %296 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %319

319:                                              ; preds = %294, %318
  %.pn497.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn.pn.pn, %318 ], [ %295, %294 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %320

320:                                              ; preds = %292, %319
  %.pn497.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn.pn.pn.pn, %319 ], [ %293, %292 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %321

321:                                              ; preds = %290, %320
  %.pn497.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn.pn.pn.pn.pn, %320 ], [ %291, %290 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %322

322:                                              ; preds = %288, %321
  %.pn497.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn.pn.pn.pn.pn.pn, %321 ], [ %289, %288 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %323

323:                                              ; preds = %286, %322
  %.pn497.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %322 ], [ %287, %286 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %324

324:                                              ; preds = %284, %323
  %.pn497.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %323 ], [ %285, %284 ]
  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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  br label %370

325:                                              ; preds = %180
  %326 = landingpad { ptr, i32 }
          cleanup
  br label %365

327:                                              ; preds = %181
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %364

329:                                              ; preds = %182
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %363

331:                                              ; preds = %183
  %332 = landingpad { ptr, i32 }
          cleanup
  br label %362

333:                                              ; preds = %184
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %361

335:                                              ; preds = %185
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %360

337:                                              ; preds = %186
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %359

339:                                              ; preds = %187
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %358

341:                                              ; preds = %188
  %342 = landingpad { ptr, i32 }
          cleanup
  br label %357

343:                                              ; preds = %189
  %344 = landingpad { ptr, i32 }
          cleanup
  br label %356

345:                                              ; preds = %190
  %346 = landingpad { ptr, i32 }
          cleanup
  br label %355

347:                                              ; preds = %191
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %354

349:                                              ; preds = %192
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %353

351:                                              ; preds = %193
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %353

353:                                              ; preds = %349, %351
  %.pn511 = phi { ptr, i32 } [ %352, %351 ], [ %350, %349 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  br label %354

354:                                              ; preds = %347, %353
  %.pn511.pn = phi { ptr, i32 } [ %.pn511, %353 ], [ %348, %347 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br label %355

355:                                              ; preds = %345, %354
  %.pn511.pn.pn = phi { ptr, i32 } [ %.pn511.pn, %354 ], [ %346, %345 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %356

356:                                              ; preds = %343, %355
  %.pn511.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn, %355 ], [ %344, %343 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %357

357:                                              ; preds = %356, %341
  %.pn511.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn, %356 ], [ %342, %341 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %358

358:                                              ; preds = %339, %357
  %.pn511.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn, %357 ], [ %340, %339 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %359

359:                                              ; preds = %337, %358
  %.pn511.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn.pn, %358 ], [ %338, %337 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %360

360:                                              ; preds = %335, %359
  %.pn511.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn.pn.pn, %359 ], [ %336, %335 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %361

361:                                              ; preds = %333, %360
  %.pn511.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn.pn.pn.pn, %360 ], [ %334, %333 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %362

362:                                              ; preds = %331, %361
  %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn.pn.pn.pn.pn, %361 ], [ %332, %331 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %363

363:                                              ; preds = %329, %362
  %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn, %362 ], [ %330, %329 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %364

364:                                              ; preds = %327, %363
  %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %363 ], [ %328, %327 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %365

365:                                              ; preds = %325, %364
  %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %364 ], [ %326, %325 ]
  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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #6
  br label %370

366:                                              ; preds = %.critedge666, %.critedge595
  %367 = load ptr, ptr %80, align 8, !tbaa !5
  %368 = getelementptr inbounds %class.LayerApex, ptr %367, i64 %82
  %369 = call noundef zeroext i1 @_ZNK4Apex6existsEv(ptr noundef nonnull align 8 dereferenceable(104) %368)
  ret i1 %369

370:                                              ; preds = %365, %324, %283, %242
  %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %365 ], [ %.pn497.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %324 ], [ %.pn483.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %283 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %242 ]
  resume { ptr, i32 } %.pn511.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

declare noundef zeroext i1 @_ZN9LayerApex12createOLayerEddddddb(ptr noundef nonnull align 8 dereferenceable(144), double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, i1 noundef zeroext) local_unnamed_addr #5

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

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress nofree nounwind willreturn memory(write) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #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, !12, i64 224}
!6 = !{!"_ZTS7Polygon", !7, i64 0, !14, i64 184, !16, i64 192, !12, i64 216, !12, i64 224, !20, i64 232, !10, i64 234, !9, i64 240}
!7 = !{!"_ZTS8VoidElem", !8, i64 0, !9, i64 152, !9, i64 160, !9, i64 168, !9, i64 176}
!8 = !{!"_ZTS9ElemModel", !9, i64 8, !9, i64 16, !12, i64 24, !12, i64 32, !9, i64 40, !12, i64 48, !13, i64 56, !13, i64 57, !13, i64 58, !13, i64 59, !14, i64 60, !9, i64 64, !9, i64 72, !9, i64 80, !9, i64 88, !9, i64 96, !9, i64 104, !9, i64 112, !15, i64 120, !15, i64 136}
!9 = !{!"double", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"any pointer", !10, i64 0}
!13 = !{!"bool", !10, i64 0}
!14 = !{!"int", !10, i64 0}
!15 = !{!"_ZTSSt4pairIddE", !9, i64 0, !9, i64 8}
!16 = !{!"_ZTSSt6vectorIdSaIdEE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!20 = !{!"short", !10, i64 0}
!21 = !{!22, !22, i64 0}
!22 = !{!"vtable pointer", !11, i64 0}
!23 = !{!14, !14, i64 0}
!24 = !{!7, !9, i64 176}
!25 = !{!7, !9, i64 168}
!26 = !{!6, !9, i64 240}
!27 = !{!9, !9, i64 0}
!28 = !{!8, !12, i64 32}
!29 = !{!8, !9, i64 40}
!30 = !{!8, !13, i64 57}
!31 = !{!6, !20, i64 232}
!32 = !{!6, !14, i64 184}
!33 = !{!8, !13, i64 58}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass