; LLVM IR from ImperialCollegeLondon/pnflow :: src/pnm/pnflow/polygon/cornerApex.ll (ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb)

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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%class.Apex = type { ptr, i8, double, double, ptr, i32, double, double, double, double, i8, i8, i8, i8, %"struct.std::pair" }
%"struct.std::pair" = type { i32, double }
%class.CornerApex = type { %class.Apex, ptr, double, double, double, ptr }

@_ZN4Apex2PIE = external dso_local global double, align 8
@.str = external hidden unnamed_addr constant [11 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [4 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [8 x i8], align 1

; Function Attrs: nounwind
declare double @acos(double noundef) #0

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #1

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #1

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4)) #4

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #5

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

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

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

493:                                              ; preds = %9
  %494 = load ptr, ptr %11, align 8, !tbaa !5
  store double 1.000000e-10, ptr %494, align 8, !tbaa !9
  store i32 1, ptr %20, align 4
  br label %3357

495:                                              ; preds = %9
  %496 = load i8, ptr %16, align 1, !tbaa !11, !range !13, !noundef !14
  %497 = trunc i8 %496 to i1
  br i1 %497, label %1516, label %498

498:                                              ; preds = %495
  %499 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %500 = load double, ptr %499, align 8, !tbaa !19
  %501 = load ptr, ptr %11, align 8, !tbaa !5
  store double %500, ptr %501, align 8, !tbaa !9
  %502 = getelementptr inbounds %class.Apex, ptr %485, i32 0, i32 14
  %503 = getelementptr inbounds %"struct.std::pair", ptr %502, i32 0, i32 0
  %504 = load i32, ptr %503, align 8, !tbaa !21
  %505 = icmp sgt i32 %504, -1
  br i1 %505, label %506, label %835

506:                                              ; preds = %498
  %507 = getelementptr inbounds %class.Apex, ptr %485, i32 0, i32 14
  %508 = getelementptr inbounds %"struct.std::pair", ptr %507, i32 0, i32 1
  %509 = load double, ptr %508, align 8, !tbaa !22
  store double %509, ptr %13, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #6
  %510 = load double, ptr %13, align 8, !tbaa !9
  %511 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %512 = load double, ptr %511, align 8, !tbaa !19
  %513 = fmul double %510, %512
  %514 = load double, ptr %14, align 8, !tbaa !9
  %515 = call double @sin(double noundef %514) #6
  %516 = fmul double %513, %515
  %517 = load double, ptr %15, align 8, !tbaa !9
  %518 = fdiv double %516, %517
  store double %518, ptr %21, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #6
  store double 0x3FEFFFFDE7210BE9, ptr %22, align 8, !tbaa !9
  %519 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22)
  %520 = load double, ptr %519, align 8, !tbaa !9
  store double %520, ptr %21, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #6
  store double 0xBFEFFFFDE7210BE9, ptr %23, align 8, !tbaa !9
  %521 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %23)
  %522 = load double, ptr %521, align 8, !tbaa !9
  store double %522, ptr %21, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  %523 = load double, ptr %21, align 8, !tbaa !9
  %524 = call double @acos(double noundef %523) #6
  %525 = load double, ptr %14, align 8, !tbaa !9
  %526 = fsub double %524, %525
  store double %526, ptr %24, align 8, !tbaa !9
  %527 = load double, ptr %24, align 8, !tbaa !9
  %528 = fcmp oge double %527, 0xBE7AD7F29ABCAF48
  store i1 false, ptr %27, align 1
  store i1 false, ptr %29, align 1
  store i1 false, ptr %31, align 1
  store i1 false, ptr %33, align 1
  store i1 false, ptr %35, align 1
  store i1 false, ptr %37, align 1
  store i1 false, ptr %39, align 1
  store i1 false, ptr %40, align 1
  store i1 false, ptr %43, align 1
  store i1 false, ptr %44, align 1
  store i1 false, ptr %46, align 1
  store i1 false, ptr %48, align 1
  store i1 false, ptr %49, align 1
  store i1 false, ptr %50, align 1
  store i1 false, ptr %51, align 1
  store i1 false, ptr %52, align 1
  store i1 false, ptr %54, align 1
  store i1 false, ptr %56, align 1
  store i1 false, ptr %57, align 1
  store i1 false, ptr %58, align 1
  store i1 false, ptr %59, align 1
  store i1 false, ptr %60, align 1
  store i1 false, ptr %62, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #6
  store i1 false, ptr %64, align 1
  store i1 false, ptr %65, align 1
  store i1 false, ptr %68, align 1
  store i1 false, ptr %70, align 1
  store i1 false, ptr %71, align 1
  store i1 false, ptr %72, align 1
  store i1 false, ptr %74, align 1
  store i1 false, ptr %76, align 1
  store i1 false, ptr %77, align 1
  store i1 false, ptr %78, align 1
  store i1 false, ptr %79, align 1
  br i1 %528, label %529, label %534

529:                                              ; preds = %506
  %530 = load double, ptr %24, align 8, !tbaa !9
  %531 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %532 = fadd double %531, 0x3E7AD7F29ABCAF48
  %533 = fcmp ole double %530, %532
  br i1 %533, label %550, label %534

534:                                              ; preds = %529, %506
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  store i1 true, ptr %27, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #6
  store i1 true, ptr %29, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  store i1 true, ptr %31, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #6
  store i1 true, ptr %33, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  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, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %535 unwind label %663

535:                                              ; preds = %534
  store i1 true, ptr %43, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef @.str.2)
          to label %536 unwind label %667

536:                                              ; preds = %535
  store i1 true, ptr %44, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #6
  store i1 true, ptr %46, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #6
  store i1 true, ptr %48, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  store i1 true, ptr %49, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %537 unwind label %671

537:                                              ; preds = %536
  store i1 true, ptr %50, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %538 unwind label %675

538:                                              ; preds = %537
  store i1 true, ptr %51, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef @.str.3)
          to label %539 unwind label %679

539:                                              ; preds = %538
  store i1 true, ptr %52, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #6
  store i1 true, ptr %54, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #6
  store i1 true, ptr %56, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  store i1 true, ptr %57, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %540 unwind label %683

540:                                              ; preds = %539
  store i1 true, ptr %58, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %541 unwind label %687

541:                                              ; preds = %540
  store i1 true, ptr %59, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str.5)
          to label %542 unwind label %691

542:                                              ; preds = %541
  store i1 true, ptr %60, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #6
  store i1 true, ptr %62, align 1
  store i32 137, ptr %63, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %543 unwind label %695

543:                                              ; preds = %542
  store i1 true, ptr %64, 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 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %544 unwind label %699

544:                                              ; preds = %543
  store i1 true, ptr %65, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #6
  store i1 true, ptr %68, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %69) #6
  store i1 true, ptr %70, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  store i1 true, ptr %71, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %545 unwind label %703

545:                                              ; preds = %544
  store i1 true, ptr %72, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #6
  store i1 true, ptr %74, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #6
  store i1 true, ptr %76, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #6
  store i1 true, ptr %77, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %75)
          to label %546 unwind label %707

546:                                              ; preds = %545
  store i1 true, ptr %78, 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) %67, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %547 unwind label %711

547:                                              ; preds = %546
  store i1 true, ptr %79, align 1
  %548 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %25, ptr noundef %66, i32 noundef 0)
          to label %549 unwind label %715

549:                                              ; preds = %547
  br label %550

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

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

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

557:                                              ; preds = %555
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %558

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

560:                                              ; preds = %558
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #6
  br label %561

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

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

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

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

567:                                              ; preds = %566, %564
  %568 = load i1, ptr %72, 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) %67) #6
  br label %570

570:                                              ; preds = %569, %567
  %571 = load i1, ptr %71, align 1
  br i1 %571, label %572, label %573

572:                                              ; preds = %570
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  br label %573

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

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

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

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

579:                                              ; preds = %578, %576
  %580 = load i1, ptr %65, 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) %25) #6
  br label %582

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

584:                                              ; preds = %582
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %585

585:                                              ; preds = %584, %582
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #6
  %586 = load i1, ptr %62, align 1
  br i1 %586, label %587, label %588

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

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

590:                                              ; preds = %588
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %591

591:                                              ; preds = %590, %588
  %592 = load i1, ptr %59, 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) %28) #6
  br label %594

594:                                              ; preds = %593, %591
  %595 = load i1, ptr %58, 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) %53) #6
  br label %597

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

599:                                              ; preds = %597
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  br label %600

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

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

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

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

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

608:                                              ; preds = %606
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %609

609:                                              ; preds = %608, %606
  %610 = load i1, ptr %51, 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) %32) #6
  br label %612

612:                                              ; preds = %611, %609
  %613 = load i1, ptr %50, 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) %45) #6
  br label %615

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

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

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

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

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

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

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

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

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

629:                                              ; preds = %627
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %630

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

632:                                              ; preds = %630
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  br label %633

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

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

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

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

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

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

642:                                              ; preds = %641, %639
  %643 = load i1, ptr %33, align 1
  br i1 %643, label %644, label %645

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

645:                                              ; preds = %644, %642
  %646 = load i1, ptr %31, align 1
  br i1 %646, label %647, label %648

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

648:                                              ; preds = %647, %645
  %649 = load i1, ptr %29, align 1
  br i1 %649, label %650, label %651

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

651:                                              ; preds = %650, %648
  %652 = load i1, ptr %27, align 1
  br i1 %652, label %653, label %654

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

654:                                              ; preds = %653, %651
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #6
  store double 0.000000e+00, ptr %80, align 8, !tbaa !9
  %655 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %80)
  %656 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %655, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %657 = load double, ptr %656, align 8, !tbaa !9
  %658 = load ptr, ptr %12, align 8, !tbaa !5
  store double %657, ptr %658, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #6
  %659 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %660 = trunc i8 %659 to i1
  br i1 %660, label %661, label %834

661:                                              ; preds = %654
  %662 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
  br label %834

663:                                              ; preds = %534
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %41, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %42, align 4
  br label %809

667:                                              ; preds = %535
  %668 = landingpad { ptr, i32 }
          cleanup
  %669 = extractvalue { ptr, i32 } %668, 0
  store ptr %669, ptr %41, align 8
  %670 = extractvalue { ptr, i32 } %668, 1
  store i32 %670, ptr %42, align 4
  br label %805

671:                                              ; preds = %536
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %41, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %42, align 4
  br label %792

675:                                              ; preds = %537
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %41, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %42, align 4
  br label %788

679:                                              ; preds = %538
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %41, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %42, align 4
  br label %784

683:                                              ; preds = %539
  %684 = landingpad { ptr, i32 }
          cleanup
  %685 = extractvalue { ptr, i32 } %684, 0
  store ptr %685, ptr %41, align 8
  %686 = extractvalue { ptr, i32 } %684, 1
  store i32 %686, ptr %42, align 4
  br label %771

687:                                              ; preds = %540
  %688 = landingpad { ptr, i32 }
          cleanup
  %689 = extractvalue { ptr, i32 } %688, 0
  store ptr %689, ptr %41, align 8
  %690 = extractvalue { ptr, i32 } %688, 1
  store i32 %690, ptr %42, align 4
  br label %767

691:                                              ; preds = %541
  %692 = landingpad { ptr, i32 }
          cleanup
  %693 = extractvalue { ptr, i32 } %692, 0
  store ptr %693, ptr %41, align 8
  %694 = extractvalue { ptr, i32 } %692, 1
  store i32 %694, ptr %42, align 4
  br label %763

695:                                              ; preds = %542
  %696 = landingpad { ptr, i32 }
          cleanup
  %697 = extractvalue { ptr, i32 } %696, 0
  store ptr %697, ptr %41, align 8
  %698 = extractvalue { ptr, i32 } %696, 1
  store i32 %698, ptr %42, align 4
  br label %756

699:                                              ; preds = %543
  %700 = landingpad { ptr, i32 }
          cleanup
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %41, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %42, align 4
  br label %752

703:                                              ; preds = %544
  %704 = landingpad { ptr, i32 }
          cleanup
  %705 = extractvalue { ptr, i32 } %704, 0
  store ptr %705, ptr %41, align 8
  %706 = extractvalue { ptr, i32 } %704, 1
  store i32 %706, ptr %42, align 4
  br label %739

707:                                              ; preds = %545
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %41, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %42, align 4
  br label %726

711:                                              ; preds = %546
  %712 = landingpad { ptr, i32 }
          cleanup
  %713 = extractvalue { ptr, i32 } %712, 0
  store ptr %713, ptr %41, align 8
  %714 = extractvalue { ptr, i32 } %712, 1
  store i32 %714, ptr %42, align 4
  br label %722

715:                                              ; preds = %547
  %716 = landingpad { ptr, i32 }
          cleanup
  %717 = extractvalue { ptr, i32 } %716, 0
  store ptr %717, ptr %41, align 8
  %718 = extractvalue { ptr, i32 } %716, 1
  store i32 %718, ptr %42, align 4
  %719 = load i1, ptr %79, align 1
  br i1 %719, label %720, label %721

720:                                              ; preds = %715
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %721

721:                                              ; preds = %720, %715
  br label %722

722:                                              ; preds = %721, %711
  %723 = load i1, ptr %78, align 1
  br i1 %723, label %724, label %725

724:                                              ; preds = %722
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %725

725:                                              ; preds = %724, %722
  br label %726

726:                                              ; preds = %725, %707
  %727 = load i1, ptr %77, align 1
  br i1 %727, label %728, label %729

728:                                              ; preds = %726
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #6
  br label %729

729:                                              ; preds = %728, %726
  %730 = load i1, ptr %76, align 1
  br i1 %730, label %731, label %732

731:                                              ; preds = %729
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #6
  br label %732

732:                                              ; preds = %731, %729
  %733 = load i1, ptr %74, align 1
  br i1 %733, label %734, label %735

734:                                              ; preds = %732
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %735

735:                                              ; preds = %734, %732
  %736 = load i1, ptr %72, align 1
  br i1 %736, label %737, label %738

737:                                              ; preds = %735
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %738

738:                                              ; preds = %737, %735
  br label %739

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

741:                                              ; preds = %739
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  br label %742

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

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

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

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

748:                                              ; preds = %747, %745
  %749 = load i1, ptr %65, 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) %25) #6
  br label %751

751:                                              ; preds = %750, %748
  br label %752

752:                                              ; preds = %751, %699
  %753 = load i1, ptr %64, align 1
  br i1 %753, label %754, label %755

754:                                              ; preds = %752
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %755

755:                                              ; preds = %754, %752
  br label %756

756:                                              ; preds = %755, %695
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #6
  %757 = load i1, ptr %62, align 1
  br i1 %757, label %758, label %759

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

759:                                              ; preds = %758, %756
  %760 = load i1, ptr %60, align 1
  br i1 %760, label %761, label %762

761:                                              ; preds = %759
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %762

762:                                              ; preds = %761, %759
  br label %763

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

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

766:                                              ; preds = %765, %763
  br label %767

767:                                              ; preds = %766, %687
  %768 = load i1, ptr %58, align 1
  br i1 %768, label %769, label %770

769:                                              ; preds = %767
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %770

770:                                              ; preds = %769, %767
  br label %771

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

773:                                              ; preds = %771
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  br label %774

774:                                              ; preds = %773, %771
  %775 = load i1, ptr %56, align 1
  br i1 %775, label %776, label %777

776:                                              ; preds = %774
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #6
  br label %777

777:                                              ; preds = %776, %774
  %778 = load i1, ptr %54, align 1
  br i1 %778, label %779, label %780

779:                                              ; preds = %777
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  br label %780

780:                                              ; preds = %779, %777
  %781 = load i1, ptr %52, align 1
  br i1 %781, label %782, label %783

782:                                              ; preds = %780
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %783

783:                                              ; preds = %782, %780
  br label %784

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

786:                                              ; preds = %784
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %787

787:                                              ; preds = %786, %784
  br label %788

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

790:                                              ; preds = %788
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %791

791:                                              ; preds = %790, %788
  br label %792

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

794:                                              ; preds = %792
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  br label %795

795:                                              ; preds = %794, %792
  %796 = load i1, ptr %48, align 1
  br i1 %796, label %797, label %798

797:                                              ; preds = %795
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #6
  br label %798

798:                                              ; preds = %797, %795
  %799 = load i1, ptr %46, align 1
  br i1 %799, label %800, label %801

800:                                              ; preds = %798
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  br label %801

801:                                              ; preds = %800, %798
  %802 = load i1, ptr %44, align 1
  br i1 %802, label %803, label %804

803:                                              ; preds = %801
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %804

804:                                              ; preds = %803, %801
  br label %805

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

807:                                              ; preds = %805
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %808

808:                                              ; preds = %807, %805
  br label %809

809:                                              ; preds = %808, %663
  %810 = load i1, ptr %40, align 1
  br i1 %810, label %811, label %812

811:                                              ; preds = %809
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  br label %812

812:                                              ; preds = %811, %809
  %813 = load i1, ptr %39, align 1
  br i1 %813, label %814, label %815

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

815:                                              ; preds = %814, %812
  %816 = load i1, ptr %37, align 1
  br i1 %816, label %817, label %818

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

818:                                              ; preds = %817, %815
  %819 = load i1, ptr %35, align 1
  br i1 %819, label %820, label %821

820:                                              ; preds = %818
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  br label %821

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

823:                                              ; preds = %821
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %824

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

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

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

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

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

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

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

834:                                              ; preds = %661, %654
  store i32 1, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #6
  br label %3357

835:                                              ; preds = %498
  %836 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 1
  %837 = load ptr, ptr %836, align 8, !tbaa !24
  %838 = call noundef ptr @_ZNK9ElemModel6elemanEv(ptr noundef nonnull align 8 dereferenceable(152) %837)
  %839 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4Elem11trappingOilEv(ptr noundef nonnull align 8 dereferenceable(408) %838)
  %840 = getelementptr inbounds %"struct.std::pair", ptr %839, i32 0, i32 0
  %841 = load i32, ptr %840, align 8, !tbaa !25
  %842 = icmp sgt i32 %841, -1
  br i1 %842, label %843, label %1175

843:                                              ; preds = %835
  %844 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 1
  %845 = load ptr, ptr %844, align 8, !tbaa !24
  %846 = call noundef ptr @_ZNK9ElemModel6elemanEv(ptr noundef nonnull align 8 dereferenceable(152) %845)
  %847 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4Elem11trappingOilEv(ptr noundef nonnull align 8 dereferenceable(408) %846)
  %848 = getelementptr inbounds %"struct.std::pair", ptr %847, i32 0, i32 1
  %849 = load double, ptr %848, align 8, !tbaa !26
  store double %849, ptr %13, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #6
  %850 = load double, ptr %13, align 8, !tbaa !9
  %851 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %852 = load double, ptr %851, align 8, !tbaa !19
  %853 = fmul double %850, %852
  %854 = load double, ptr %14, align 8, !tbaa !9
  %855 = call double @sin(double noundef %854) #6
  %856 = fmul double %853, %855
  %857 = load double, ptr %15, align 8, !tbaa !9
  %858 = fdiv double %856, %857
  store double %858, ptr %81, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #6
  store double 0x3FEFFFFDE7210BE9, ptr %82, align 8, !tbaa !9
  %859 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(8) %82)
  %860 = load double, ptr %859, align 8, !tbaa !9
  store double %860, ptr %81, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #6
  store double 0xBFEFFFFDE7210BE9, ptr %83, align 8, !tbaa !9
  %861 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(8) %83)
  %862 = load double, ptr %861, align 8, !tbaa !9
  store double %862, ptr %81, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #6
  %863 = load double, ptr %81, align 8, !tbaa !9
  %864 = call double @acos(double noundef %863) #6
  %865 = load double, ptr %14, align 8, !tbaa !9
  %866 = fsub double %864, %865
  store double %866, ptr %84, align 8, !tbaa !9
  %867 = load double, ptr %84, align 8, !tbaa !9
  %868 = fcmp oge double %867, 0xBE7AD7F29ABCAF48
  store i1 false, ptr %87, align 1
  store i1 false, ptr %89, align 1
  store i1 false, ptr %91, align 1
  store i1 false, ptr %93, align 1
  store i1 false, ptr %95, align 1
  store i1 false, ptr %97, align 1
  store i1 false, ptr %99, align 1
  store i1 false, ptr %100, align 1
  store i1 false, ptr %101, align 1
  store i1 false, ptr %102, align 1
  store i1 false, ptr %104, align 1
  store i1 false, ptr %106, align 1
  store i1 false, ptr %107, align 1
  store i1 false, ptr %108, align 1
  store i1 false, ptr %109, align 1
  store i1 false, ptr %110, align 1
  store i1 false, ptr %112, align 1
  store i1 false, ptr %114, align 1
  store i1 false, ptr %115, align 1
  store i1 false, ptr %116, align 1
  store i1 false, ptr %117, align 1
  store i1 false, ptr %118, align 1
  store i1 false, ptr %120, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #6
  store i1 false, ptr %122, align 1
  store i1 false, ptr %123, align 1
  store i1 false, ptr %126, align 1
  store i1 false, ptr %128, align 1
  store i1 false, ptr %129, align 1
  store i1 false, ptr %130, align 1
  store i1 false, ptr %132, align 1
  store i1 false, ptr %134, align 1
  store i1 false, ptr %135, align 1
  store i1 false, ptr %136, align 1
  store i1 false, ptr %137, align 1
  br i1 %868, label %869, label %874

869:                                              ; preds = %843
  %870 = load double, ptr %84, align 8, !tbaa !9
  %871 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %872 = fadd double %871, 0x3E7AD7F29ABCAF48
  %873 = fcmp ole double %870, %872
  br i1 %873, label %890, label %874

874:                                              ; preds = %869, %843
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #6
  store i1 true, ptr %87, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #6
  store i1 true, ptr %89, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #6
  store i1 true, ptr %91, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #6
  store i1 true, ptr %93, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #6
  store i1 true, ptr %95, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %96) #6
  store i1 true, ptr %97, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %98) #6
  store i1 true, ptr %99, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  store i1 true, ptr %100, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %875 unwind label %1003

875:                                              ; preds = %874
  store i1 true, ptr %101, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef @.str.2)
          to label %876 unwind label %1007

876:                                              ; preds = %875
  store i1 true, ptr %102, 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 @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %877 unwind label %1011

877:                                              ; preds = %876
  store i1 true, ptr %108, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %92, ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %878 unwind label %1015

878:                                              ; preds = %877
  store i1 true, ptr %109, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef @.str.3)
          to label %879 unwind label %1019

879:                                              ; preds = %878
  store i1 true, ptr %110, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %111) #6
  store i1 true, ptr %112, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %113) #6
  store i1 true, ptr %114, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #6
  store i1 true, ptr %115, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %113)
          to label %880 unwind label %1023

880:                                              ; preds = %879
  store i1 true, ptr %116, 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 %88, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %881 unwind label %1027

881:                                              ; preds = %880
  store i1 true, ptr %117, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef @.str.5)
          to label %882 unwind label %1031

882:                                              ; preds = %881
  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
  store i32 148, ptr %121, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %119, ptr noundef nonnull align 4 dereferenceable(4) %121)
          to label %883 unwind label %1035

883:                                              ; preds = %882
  store i1 true, ptr %122, 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 %85, ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %884 unwind label %1039

884:                                              ; preds = %883
  store i1 true, ptr %123, 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 1, ptr %127) #6
  store i1 true, ptr %128, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #6
  store i1 true, ptr %129, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %127)
          to label %885 unwind label %1043

885:                                              ; preds = %884
  store i1 true, ptr %130, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %131) #6
  store i1 true, ptr %132, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %133) #6
  store i1 true, ptr %134, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  store i1 true, ptr %135, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %886 unwind label %1047

886:                                              ; preds = %885
  store i1 true, ptr %136, 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 %124, ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %887 unwind label %1051

887:                                              ; preds = %886
  store i1 true, ptr %137, align 1
  %888 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %85, ptr noundef %124, i32 noundef 0)
          to label %889 unwind label %1055

889:                                              ; preds = %887
  br label %890

890:                                              ; preds = %889, %869
  %891 = phi i1 [ true, %869 ], [ %888, %889 ]
  %892 = xor i1 %891, true
  %893 = load i1, ptr %137, align 1
  br i1 %893, label %894, label %895

894:                                              ; preds = %890
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %895

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

897:                                              ; preds = %895
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %898

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

900:                                              ; preds = %898
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  br label %901

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

903:                                              ; preds = %901
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #6
  br label %904

904:                                              ; preds = %903, %901
  %905 = load i1, ptr %132, align 1
  br i1 %905, label %906, label %907

906:                                              ; preds = %904
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #6
  br label %907

907:                                              ; preds = %906, %904
  %908 = load i1, ptr %130, align 1
  br i1 %908, label %909, label %910

909:                                              ; preds = %907
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %910

910:                                              ; preds = %909, %907
  %911 = load i1, ptr %129, align 1
  br i1 %911, label %912, label %913

912:                                              ; preds = %910
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #6
  br label %913

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

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

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

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

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

921:                                              ; preds = %919
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %922

922:                                              ; preds = %921, %919
  %923 = load i1, ptr %122, 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) %119) #6
  br label %925

925:                                              ; preds = %924, %922
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #6
  %926 = load i1, ptr %120, align 1
  br i1 %926, label %927, label %928

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

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

930:                                              ; preds = %928
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %931

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

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

934:                                              ; preds = %933, %931
  %935 = load i1, ptr %116, align 1
  br i1 %935, label %936, label %937

936:                                              ; preds = %934
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %937

937:                                              ; preds = %936, %934
  %938 = load i1, ptr %115, align 1
  br i1 %938, label %939, label %940

939:                                              ; preds = %937
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #6
  br label %940

940:                                              ; preds = %939, %937
  %941 = load i1, ptr %114, align 1
  br i1 %941, label %942, label %943

942:                                              ; preds = %940
  call void @llvm.lifetime.end.p0(i64 1, ptr %113) #6
  br label %943

943:                                              ; preds = %942, %940
  %944 = load i1, ptr %112, align 1
  br i1 %944, label %945, label %946

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

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

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

949:                                              ; preds = %948, %946
  %950 = load i1, ptr %109, align 1
  br i1 %950, label %951, label %952

951:                                              ; preds = %949
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br label %952

952:                                              ; preds = %951, %949
  %953 = load i1, ptr %108, align 1
  br i1 %953, label %954, label %955

954:                                              ; preds = %952
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %955

955:                                              ; preds = %954, %952
  %956 = load i1, ptr %107, align 1
  br i1 %956, label %957, label %958

957:                                              ; preds = %955
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  br label %958

958:                                              ; preds = %957, %955
  %959 = load i1, ptr %106, align 1
  br i1 %959, label %960, label %961

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

961:                                              ; preds = %960, %958
  %962 = load i1, ptr %104, align 1
  br i1 %962, label %963, label %964

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

964:                                              ; preds = %963, %961
  %965 = load i1, ptr %102, align 1
  br i1 %965, label %966, label %967

966:                                              ; preds = %964
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %967

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

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

970:                                              ; preds = %969, %967
  %971 = load i1, ptr %100, align 1
  br i1 %971, label %972, label %973

972:                                              ; preds = %970
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  br label %973

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

975:                                              ; preds = %973
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #6
  br label %976

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

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

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

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

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

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

985:                                              ; preds = %984, %982
  %986 = load i1, ptr %91, align 1
  br i1 %986, label %987, label %988

987:                                              ; preds = %985
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #6
  br label %988

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

990:                                              ; preds = %988
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #6
  br label %991

991:                                              ; preds = %990, %988
  %992 = load i1, ptr %87, align 1
  br i1 %992, label %993, label %994

993:                                              ; preds = %991
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #6
  br label %994

994:                                              ; preds = %993, %991
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #6
  store double 0.000000e+00, ptr %138, align 8, !tbaa !9
  %995 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull align 8 dereferenceable(8) %138)
  %996 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %995, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %997 = load double, ptr %996, align 8, !tbaa !9
  %998 = load ptr, ptr %12, align 8, !tbaa !5
  store double %997, ptr %998, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #6
  %999 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %1000 = trunc i8 %999 to i1
  br i1 %1000, label %1001, label %1174

1001:                                             ; preds = %994
  %1002 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.14)
  br label %1174

1003:                                             ; preds = %874
  %1004 = landingpad { ptr, i32 }
          cleanup
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %41, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %42, align 4
  br label %1149

1007:                                             ; preds = %875
  %1008 = landingpad { ptr, i32 }
          cleanup
  %1009 = extractvalue { ptr, i32 } %1008, 0
  store ptr %1009, ptr %41, align 8
  %1010 = extractvalue { ptr, i32 } %1008, 1
  store i32 %1010, ptr %42, align 4
  br label %1145

1011:                                             ; preds = %876
  %1012 = landingpad { ptr, i32 }
          cleanup
  %1013 = extractvalue { ptr, i32 } %1012, 0
  store ptr %1013, ptr %41, align 8
  %1014 = extractvalue { ptr, i32 } %1012, 1
  store i32 %1014, ptr %42, align 4
  br label %1132

1015:                                             ; preds = %877
  %1016 = landingpad { ptr, i32 }
          cleanup
  %1017 = extractvalue { ptr, i32 } %1016, 0
  store ptr %1017, ptr %41, align 8
  %1018 = extractvalue { ptr, i32 } %1016, 1
  store i32 %1018, ptr %42, align 4
  br label %1128

1019:                                             ; preds = %878
  %1020 = landingpad { ptr, i32 }
          cleanup
  %1021 = extractvalue { ptr, i32 } %1020, 0
  store ptr %1021, ptr %41, align 8
  %1022 = extractvalue { ptr, i32 } %1020, 1
  store i32 %1022, ptr %42, align 4
  br label %1124

1023:                                             ; preds = %879
  %1024 = landingpad { ptr, i32 }
          cleanup
  %1025 = extractvalue { ptr, i32 } %1024, 0
  store ptr %1025, ptr %41, align 8
  %1026 = extractvalue { ptr, i32 } %1024, 1
  store i32 %1026, ptr %42, align 4
  br label %1111

1027:                                             ; preds = %880
  %1028 = landingpad { ptr, i32 }
          cleanup
  %1029 = extractvalue { ptr, i32 } %1028, 0
  store ptr %1029, ptr %41, align 8
  %1030 = extractvalue { ptr, i32 } %1028, 1
  store i32 %1030, ptr %42, align 4
  br label %1107

1031:                                             ; preds = %881
  %1032 = landingpad { ptr, i32 }
          cleanup
  %1033 = extractvalue { ptr, i32 } %1032, 0
  store ptr %1033, ptr %41, align 8
  %1034 = extractvalue { ptr, i32 } %1032, 1
  store i32 %1034, ptr %42, align 4
  br label %1103

1035:                                             ; preds = %882
  %1036 = landingpad { ptr, i32 }
          cleanup
  %1037 = extractvalue { ptr, i32 } %1036, 0
  store ptr %1037, ptr %41, align 8
  %1038 = extractvalue { ptr, i32 } %1036, 1
  store i32 %1038, ptr %42, align 4
  br label %1096

1039:                                             ; preds = %883
  %1040 = landingpad { ptr, i32 }
          cleanup
  %1041 = extractvalue { ptr, i32 } %1040, 0
  store ptr %1041, ptr %41, align 8
  %1042 = extractvalue { ptr, i32 } %1040, 1
  store i32 %1042, ptr %42, align 4
  br label %1092

1043:                                             ; preds = %884
  %1044 = landingpad { ptr, i32 }
          cleanup
  %1045 = extractvalue { ptr, i32 } %1044, 0
  store ptr %1045, ptr %41, align 8
  %1046 = extractvalue { ptr, i32 } %1044, 1
  store i32 %1046, ptr %42, align 4
  br label %1079

1047:                                             ; preds = %885
  %1048 = landingpad { ptr, i32 }
          cleanup
  %1049 = extractvalue { ptr, i32 } %1048, 0
  store ptr %1049, ptr %41, align 8
  %1050 = extractvalue { ptr, i32 } %1048, 1
  store i32 %1050, ptr %42, align 4
  br label %1066

1051:                                             ; preds = %886
  %1052 = landingpad { ptr, i32 }
          cleanup
  %1053 = extractvalue { ptr, i32 } %1052, 0
  store ptr %1053, ptr %41, align 8
  %1054 = extractvalue { ptr, i32 } %1052, 1
  store i32 %1054, ptr %42, align 4
  br label %1062

1055:                                             ; preds = %887
  %1056 = landingpad { ptr, i32 }
          cleanup
  %1057 = extractvalue { ptr, i32 } %1056, 0
  store ptr %1057, ptr %41, align 8
  %1058 = extractvalue { ptr, i32 } %1056, 1
  store i32 %1058, ptr %42, align 4
  %1059 = load i1, ptr %137, align 1
  br i1 %1059, label %1060, label %1061

1060:                                             ; preds = %1055
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %1061

1061:                                             ; preds = %1060, %1055
  br label %1062

1062:                                             ; preds = %1061, %1051
  %1063 = load i1, ptr %136, align 1
  br i1 %1063, label %1064, label %1065

1064:                                             ; preds = %1062
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1065

1065:                                             ; preds = %1064, %1062
  br label %1066

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

1068:                                             ; preds = %1066
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  br label %1069

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

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

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

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

1075:                                             ; preds = %1074, %1072
  %1076 = load i1, ptr %130, align 1
  br i1 %1076, label %1077, label %1078

1077:                                             ; preds = %1075
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1078

1078:                                             ; preds = %1077, %1075
  br label %1079

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

1081:                                             ; preds = %1079
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #6
  br label %1082

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

1084:                                             ; preds = %1082
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #6
  br label %1085

1085:                                             ; preds = %1084, %1082
  %1086 = load i1, ptr %126, align 1
  br i1 %1086, label %1087, label %1088

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

1088:                                             ; preds = %1087, %1085
  %1089 = load i1, ptr %123, align 1
  br i1 %1089, label %1090, label %1091

1090:                                             ; preds = %1088
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %1091

1091:                                             ; preds = %1090, %1088
  br label %1092

1092:                                             ; preds = %1091, %1039
  %1093 = load i1, ptr %122, align 1
  br i1 %1093, label %1094, label %1095

1094:                                             ; preds = %1092
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  br label %1095

1095:                                             ; preds = %1094, %1092
  br label %1096

1096:                                             ; preds = %1095, %1035
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #6
  %1097 = load i1, ptr %120, align 1
  br i1 %1097, label %1098, label %1099

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

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

1101:                                             ; preds = %1099
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %1102

1102:                                             ; preds = %1101, %1099
  br label %1103

1103:                                             ; preds = %1102, %1031
  %1104 = load i1, ptr %117, align 1
  br i1 %1104, label %1105, label %1106

1105:                                             ; preds = %1103
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %1106

1106:                                             ; preds = %1105, %1103
  br label %1107

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

1109:                                             ; preds = %1107
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %1110

1110:                                             ; preds = %1109, %1107
  br label %1111

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

1113:                                             ; preds = %1111
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #6
  br label %1114

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

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

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

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

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

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

1123:                                             ; preds = %1122, %1120
  br label %1124

1124:                                             ; preds = %1123, %1019
  %1125 = load i1, ptr %109, align 1
  br i1 %1125, label %1126, label %1127

1126:                                             ; preds = %1124
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br label %1127

1127:                                             ; preds = %1126, %1124
  br label %1128

1128:                                             ; preds = %1127, %1015
  %1129 = load i1, ptr %108, align 1
  br i1 %1129, label %1130, label %1131

1130:                                             ; preds = %1128
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %1131

1131:                                             ; preds = %1130, %1128
  br label %1132

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

1134:                                             ; preds = %1132
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  br label %1135

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

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

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

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

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

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

1144:                                             ; preds = %1143, %1141
  br label %1145

1145:                                             ; preds = %1144, %1007
  %1146 = load i1, ptr %101, align 1
  br i1 %1146, label %1147, label %1148

1147:                                             ; preds = %1145
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %1148

1148:                                             ; preds = %1147, %1145
  br label %1149

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

1151:                                             ; preds = %1149
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  br label %1152

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

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

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

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

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

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

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

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

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

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

1167:                                             ; preds = %1166, %1164
  %1168 = load i1, ptr %89, align 1
  br i1 %1168, label %1169, label %1170

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

1170:                                             ; preds = %1169, %1167
  %1171 = load i1, ptr %87, align 1
  br i1 %1171, label %1172, label %1173

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

1173:                                             ; preds = %1172, %1170
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #6
  br label %3360

1174:                                             ; preds = %1001, %994
  store i32 1, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #6
  br label %3357

1175:                                             ; preds = %835
  %1176 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 5
  %1177 = load ptr, ptr %1176, align 8, !tbaa !27
  %1178 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4Apex10trappingCLEv(ptr noundef nonnull align 8 dereferenceable(104) %1177)
  %1179 = getelementptr inbounds %"struct.std::pair", ptr %1178, i32 0, i32 0
  %1180 = load i32, ptr %1179, align 8, !tbaa !25
  %1181 = icmp sgt i32 %1180, -1
  br i1 %1181, label %1182, label %1513

1182:                                             ; preds = %1175
  %1183 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 5
  %1184 = load ptr, ptr %1183, align 8, !tbaa !27
  %1185 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4Apex10trappingCLEv(ptr noundef nonnull align 8 dereferenceable(104) %1184)
  %1186 = getelementptr inbounds %"struct.std::pair", ptr %1185, i32 0, i32 1
  %1187 = load double, ptr %1186, align 8, !tbaa !26
  store double %1187, ptr %13, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #6
  %1188 = load double, ptr %13, align 8, !tbaa !9
  %1189 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %1190 = load double, ptr %1189, align 8, !tbaa !19
  %1191 = fmul double %1188, %1190
  %1192 = load double, ptr %14, align 8, !tbaa !9
  %1193 = call double @sin(double noundef %1192) #6
  %1194 = fmul double %1191, %1193
  %1195 = load double, ptr %15, align 8, !tbaa !9
  %1196 = fdiv double %1194, %1195
  store double %1196, ptr %139, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #6
  store double 0x3FEFFFFDE7210BE9, ptr %140, align 8, !tbaa !9
  %1197 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull align 8 dereferenceable(8) %140)
  %1198 = load double, ptr %1197, align 8, !tbaa !9
  store double %1198, ptr %139, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %141) #6
  store double 0xBFEFFFFDE7210BE9, ptr %141, align 8, !tbaa !9
  %1199 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull align 8 dereferenceable(8) %141)
  %1200 = load double, ptr %1199, align 8, !tbaa !9
  store double %1200, ptr %139, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #6
  %1201 = load double, ptr %139, align 8, !tbaa !9
  %1202 = call double @acos(double noundef %1201) #6
  %1203 = load double, ptr %14, align 8, !tbaa !9
  %1204 = fsub double %1202, %1203
  store double %1204, ptr %142, align 8, !tbaa !9
  %1205 = load double, ptr %142, align 8, !tbaa !9
  %1206 = fcmp oge double %1205, 0xBE7AD7F29ABCAF48
  store i1 false, ptr %145, align 1
  store i1 false, ptr %147, align 1
  store i1 false, ptr %149, align 1
  store i1 false, ptr %151, align 1
  store i1 false, ptr %153, align 1
  store i1 false, ptr %155, align 1
  store i1 false, ptr %157, align 1
  store i1 false, ptr %158, align 1
  store i1 false, ptr %159, align 1
  store i1 false, ptr %160, align 1
  store i1 false, ptr %162, align 1
  store i1 false, ptr %164, 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
  store i1 false, ptr %170, align 1
  store i1 false, ptr %172, align 1
  store i1 false, ptr %173, align 1
  store i1 false, ptr %174, align 1
  store i1 false, ptr %175, align 1
  store i1 false, ptr %176, align 1
  store i1 false, ptr %178, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #6
  store i1 false, ptr %180, align 1
  store i1 false, ptr %181, align 1
  store i1 false, ptr %184, align 1
  store i1 false, ptr %186, align 1
  store i1 false, ptr %187, align 1
  store i1 false, ptr %188, align 1
  store i1 false, ptr %190, align 1
  store i1 false, ptr %192, align 1
  store i1 false, ptr %193, align 1
  store i1 false, ptr %194, align 1
  store i1 false, ptr %195, align 1
  br i1 %1206, label %1207, label %1212

1207:                                             ; preds = %1182
  %1208 = load double, ptr %142, align 8, !tbaa !9
  %1209 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %1210 = fadd double %1209, 0x3E7AD7F29ABCAF48
  %1211 = fcmp ole double %1208, %1210
  br i1 %1211, label %1228, label %1212

1212:                                             ; preds = %1207, %1182
  call void @llvm.lifetime.start.p0(i64 32, ptr %144) #6
  store i1 true, ptr %145, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %146) #6
  store i1 true, ptr %147, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %148) #6
  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
  call void @llvm.lifetime.start.p0(i64 32, ptr %152) #6
  store i1 true, ptr %153, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %154) #6
  store i1 true, ptr %155, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %156) #6
  store i1 true, ptr %157, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  store i1 true, ptr %158, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %156)
          to label %1213 unwind label %1341

1213:                                             ; preds = %1212
  store i1 true, ptr %159, 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 %152, ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef @.str.2)
          to label %1214 unwind label %1345

1214:                                             ; preds = %1213
  store i1 true, ptr %160, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %161) #6
  store i1 true, ptr %162, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %163) #6
  store i1 true, ptr %164, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %163) #6
  store i1 true, ptr %165, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %163)
          to label %1215 unwind label %1349

1215:                                             ; preds = %1214
  store i1 true, ptr %166, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %150, ptr noundef nonnull align 8 dereferenceable(32) %152, ptr noundef nonnull align 8 dereferenceable(32) %161)
          to label %1216 unwind label %1353

1216:                                             ; preds = %1215
  store i1 true, ptr %167, 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 %148, ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef @.str.3)
          to label %1217 unwind label %1357

1217:                                             ; preds = %1216
  store i1 true, ptr %168, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %169) #6
  store i1 true, ptr %170, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %171) #6
  store i1 true, ptr %172, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #6
  store i1 true, ptr %173, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %169, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %171)
          to label %1218 unwind label %1361

1218:                                             ; preds = %1217
  store i1 true, ptr %174, 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 %146, ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(32) %169)
          to label %1219 unwind label %1365

1219:                                             ; preds = %1218
  store i1 true, ptr %175, 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 %144, ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef @.str.5)
          to label %1220 unwind label %1369

1220:                                             ; preds = %1219
  store i1 true, ptr %176, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %177) #6
  store i1 true, ptr %178, align 1
  store i32 159, ptr %179, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %177, ptr noundef nonnull align 4 dereferenceable(4) %179)
          to label %1221 unwind label %1373

1221:                                             ; preds = %1220
  store i1 true, ptr %180, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %143, ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(32) %177)
          to label %1222 unwind label %1377

1222:                                             ; preds = %1221
  store i1 true, ptr %181, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %183) #6
  store i1 true, ptr %184, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %185) #6
  store i1 true, ptr %186, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #6
  store i1 true, ptr %187, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %183, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %185)
          to label %1223 unwind label %1381

1223:                                             ; preds = %1222
  store i1 true, ptr %188, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %189) #6
  store i1 true, ptr %190, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %191) #6
  store i1 true, ptr %192, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %191) #6
  store i1 true, ptr %193, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %191)
          to label %1224 unwind label %1385

1224:                                             ; preds = %1223
  store i1 true, ptr %194, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %182, ptr noundef nonnull align 8 dereferenceable(32) %183, ptr noundef nonnull align 8 dereferenceable(32) %189)
          to label %1225 unwind label %1389

1225:                                             ; preds = %1224
  store i1 true, ptr %195, align 1
  %1226 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %143, ptr noundef %182, i32 noundef 0)
          to label %1227 unwind label %1393

1227:                                             ; preds = %1225
  br label %1228

1228:                                             ; preds = %1227, %1207
  %1229 = phi i1 [ true, %1207 ], [ %1226, %1227 ]
  %1230 = xor i1 %1229, true
  %1231 = load i1, ptr %195, align 1
  br i1 %1231, label %1232, label %1233

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

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

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

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

1238:                                             ; preds = %1236
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %191) #6
  br label %1239

1239:                                             ; preds = %1238, %1236
  %1240 = load i1, ptr %192, align 1
  br i1 %1240, label %1241, label %1242

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

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

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

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

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

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

1250:                                             ; preds = %1248
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #6
  br label %1251

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

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

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

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

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

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

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

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

1263:                                             ; preds = %1262, %1260
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #6
  %1264 = load i1, ptr %178, align 1
  br i1 %1264, label %1265, label %1266

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

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

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

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

1271:                                             ; preds = %1269
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %1272

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

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

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

1277:                                             ; preds = %1275
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #6
  br label %1278

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

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

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

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

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

1286:                                             ; preds = %1284
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  br label %1287

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

1289:                                             ; preds = %1287
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  br label %1290

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

1292:                                             ; preds = %1290
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1293

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

1295:                                             ; preds = %1293
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %163) #6
  br label %1296

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

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

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

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

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

1304:                                             ; preds = %1302
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1305

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

1307:                                             ; preds = %1305
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1308

1308:                                             ; preds = %1307, %1305
  %1309 = load i1, ptr %158, align 1
  br i1 %1309, label %1310, label %1311

1310:                                             ; preds = %1308
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  br label %1311

1311:                                             ; preds = %1310, %1308
  %1312 = load i1, ptr %157, align 1
  br i1 %1312, label %1313, label %1314

1313:                                             ; preds = %1311
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #6
  br label %1314

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

1316:                                             ; preds = %1314
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #6
  br label %1317

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

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

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

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

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

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

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

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

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

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

1332:                                             ; preds = %1331, %1329
  call void @llvm.lifetime.start.p0(i64 8, ptr %196) #6
  store double 0.000000e+00, ptr %196, align 8, !tbaa !9
  %1333 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull align 8 dereferenceable(8) %196)
  %1334 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %1333, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %1335 = load double, ptr %1334, align 8, !tbaa !9
  %1336 = load ptr, ptr %12, align 8, !tbaa !5
  store double %1335, ptr %1336, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %196) #6
  %1337 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %1338 = trunc i8 %1337 to i1
  br i1 %1338, label %1339, label %1512

1339:                                             ; preds = %1332
  %1340 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.15)
  br label %1512

1341:                                             ; preds = %1212
  %1342 = landingpad { ptr, i32 }
          cleanup
  %1343 = extractvalue { ptr, i32 } %1342, 0
  store ptr %1343, ptr %41, align 8
  %1344 = extractvalue { ptr, i32 } %1342, 1
  store i32 %1344, ptr %42, align 4
  br label %1487

1345:                                             ; preds = %1213
  %1346 = landingpad { ptr, i32 }
          cleanup
  %1347 = extractvalue { ptr, i32 } %1346, 0
  store ptr %1347, ptr %41, align 8
  %1348 = extractvalue { ptr, i32 } %1346, 1
  store i32 %1348, ptr %42, align 4
  br label %1483

1349:                                             ; preds = %1214
  %1350 = landingpad { ptr, i32 }
          cleanup
  %1351 = extractvalue { ptr, i32 } %1350, 0
  store ptr %1351, ptr %41, align 8
  %1352 = extractvalue { ptr, i32 } %1350, 1
  store i32 %1352, ptr %42, align 4
  br label %1470

1353:                                             ; preds = %1215
  %1354 = landingpad { ptr, i32 }
          cleanup
  %1355 = extractvalue { ptr, i32 } %1354, 0
  store ptr %1355, ptr %41, align 8
  %1356 = extractvalue { ptr, i32 } %1354, 1
  store i32 %1356, ptr %42, align 4
  br label %1466

1357:                                             ; preds = %1216
  %1358 = landingpad { ptr, i32 }
          cleanup
  %1359 = extractvalue { ptr, i32 } %1358, 0
  store ptr %1359, ptr %41, align 8
  %1360 = extractvalue { ptr, i32 } %1358, 1
  store i32 %1360, ptr %42, align 4
  br label %1462

1361:                                             ; preds = %1217
  %1362 = landingpad { ptr, i32 }
          cleanup
  %1363 = extractvalue { ptr, i32 } %1362, 0
  store ptr %1363, ptr %41, align 8
  %1364 = extractvalue { ptr, i32 } %1362, 1
  store i32 %1364, ptr %42, align 4
  br label %1449

1365:                                             ; preds = %1218
  %1366 = landingpad { ptr, i32 }
          cleanup
  %1367 = extractvalue { ptr, i32 } %1366, 0
  store ptr %1367, ptr %41, align 8
  %1368 = extractvalue { ptr, i32 } %1366, 1
  store i32 %1368, ptr %42, align 4
  br label %1445

1369:                                             ; preds = %1219
  %1370 = landingpad { ptr, i32 }
          cleanup
  %1371 = extractvalue { ptr, i32 } %1370, 0
  store ptr %1371, ptr %41, align 8
  %1372 = extractvalue { ptr, i32 } %1370, 1
  store i32 %1372, ptr %42, align 4
  br label %1441

1373:                                             ; preds = %1220
  %1374 = landingpad { ptr, i32 }
          cleanup
  %1375 = extractvalue { ptr, i32 } %1374, 0
  store ptr %1375, ptr %41, align 8
  %1376 = extractvalue { ptr, i32 } %1374, 1
  store i32 %1376, ptr %42, align 4
  br label %1434

1377:                                             ; preds = %1221
  %1378 = landingpad { ptr, i32 }
          cleanup
  %1379 = extractvalue { ptr, i32 } %1378, 0
  store ptr %1379, ptr %41, align 8
  %1380 = extractvalue { ptr, i32 } %1378, 1
  store i32 %1380, ptr %42, align 4
  br label %1430

1381:                                             ; preds = %1222
  %1382 = landingpad { ptr, i32 }
          cleanup
  %1383 = extractvalue { ptr, i32 } %1382, 0
  store ptr %1383, ptr %41, align 8
  %1384 = extractvalue { ptr, i32 } %1382, 1
  store i32 %1384, ptr %42, align 4
  br label %1417

1385:                                             ; preds = %1223
  %1386 = landingpad { ptr, i32 }
          cleanup
  %1387 = extractvalue { ptr, i32 } %1386, 0
  store ptr %1387, ptr %41, align 8
  %1388 = extractvalue { ptr, i32 } %1386, 1
  store i32 %1388, ptr %42, align 4
  br label %1404

1389:                                             ; preds = %1224
  %1390 = landingpad { ptr, i32 }
          cleanup
  %1391 = extractvalue { ptr, i32 } %1390, 0
  store ptr %1391, ptr %41, align 8
  %1392 = extractvalue { ptr, i32 } %1390, 1
  store i32 %1392, ptr %42, align 4
  br label %1400

1393:                                             ; preds = %1225
  %1394 = landingpad { ptr, i32 }
          cleanup
  %1395 = extractvalue { ptr, i32 } %1394, 0
  store ptr %1395, ptr %41, align 8
  %1396 = extractvalue { ptr, i32 } %1394, 1
  store i32 %1396, ptr %42, align 4
  %1397 = load i1, ptr %195, align 1
  br i1 %1397, label %1398, label %1399

1398:                                             ; preds = %1393
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  br label %1399

1399:                                             ; preds = %1398, %1393
  br label %1400

1400:                                             ; preds = %1399, %1389
  %1401 = load i1, ptr %194, align 1
  br i1 %1401, label %1402, label %1403

1402:                                             ; preds = %1400
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  br label %1403

1403:                                             ; preds = %1402, %1400
  br label %1404

1404:                                             ; preds = %1403, %1385
  %1405 = load i1, ptr %193, align 1
  br i1 %1405, label %1406, label %1407

1406:                                             ; preds = %1404
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %191) #6
  br label %1407

1407:                                             ; preds = %1406, %1404
  %1408 = load i1, ptr %192, align 1
  br i1 %1408, label %1409, label %1410

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

1410:                                             ; preds = %1409, %1407
  %1411 = load i1, ptr %190, align 1
  br i1 %1411, label %1412, label %1413

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

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

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

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

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

1419:                                             ; preds = %1417
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #6
  br label %1420

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

1422:                                             ; preds = %1420
  call void @llvm.lifetime.end.p0(i64 1, ptr %185) #6
  br label %1423

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

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

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

1428:                                             ; preds = %1426
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  br label %1429

1429:                                             ; preds = %1428, %1426
  br label %1430

1430:                                             ; preds = %1429, %1377
  %1431 = load i1, ptr %180, align 1
  br i1 %1431, label %1432, label %1433

1432:                                             ; preds = %1430
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  br label %1433

1433:                                             ; preds = %1432, %1430
  br label %1434

1434:                                             ; preds = %1433, %1373
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #6
  %1435 = load i1, ptr %178, align 1
  br i1 %1435, label %1436, label %1437

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

1437:                                             ; preds = %1436, %1434
  %1438 = load i1, ptr %176, align 1
  br i1 %1438, label %1439, label %1440

1439:                                             ; preds = %1437
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %1440

1440:                                             ; preds = %1439, %1437
  br label %1441

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

1443:                                             ; preds = %1441
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %1444

1444:                                             ; preds = %1443, %1441
  br label %1445

1445:                                             ; preds = %1444, %1365
  %1446 = load i1, ptr %174, align 1
  br i1 %1446, label %1447, label %1448

1447:                                             ; preds = %1445
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1448

1448:                                             ; preds = %1447, %1445
  br label %1449

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

1451:                                             ; preds = %1449
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #6
  br label %1452

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

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

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

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

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

1460:                                             ; preds = %1458
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  br label %1461

1461:                                             ; preds = %1460, %1458
  br label %1462

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

1464:                                             ; preds = %1462
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  br label %1465

1465:                                             ; preds = %1464, %1462
  br label %1466

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

1468:                                             ; preds = %1466
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1469

1469:                                             ; preds = %1468, %1466
  br label %1470

1470:                                             ; preds = %1469, %1349
  %1471 = load i1, ptr %165, align 1
  br i1 %1471, label %1472, label %1473

1472:                                             ; preds = %1470
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %163) #6
  br label %1473

1473:                                             ; preds = %1472, %1470
  %1474 = load i1, ptr %164, align 1
  br i1 %1474, label %1475, label %1476

1475:                                             ; preds = %1473
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #6
  br label %1476

1476:                                             ; preds = %1475, %1473
  %1477 = load i1, ptr %162, align 1
  br i1 %1477, label %1478, label %1479

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

1479:                                             ; preds = %1478, %1476
  %1480 = load i1, ptr %160, align 1
  br i1 %1480, label %1481, label %1482

1481:                                             ; preds = %1479
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1482

1482:                                             ; preds = %1481, %1479
  br label %1483

1483:                                             ; preds = %1482, %1345
  %1484 = load i1, ptr %159, align 1
  br i1 %1484, label %1485, label %1486

1485:                                             ; preds = %1483
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1486

1486:                                             ; preds = %1485, %1483
  br label %1487

1487:                                             ; preds = %1486, %1341
  %1488 = load i1, ptr %158, align 1
  br i1 %1488, label %1489, label %1490

1489:                                             ; preds = %1487
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  br label %1490

1490:                                             ; preds = %1489, %1487
  %1491 = load i1, ptr %157, align 1
  br i1 %1491, label %1492, label %1493

1492:                                             ; preds = %1490
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #6
  br label %1493

1493:                                             ; preds = %1492, %1490
  %1494 = load i1, ptr %155, align 1
  br i1 %1494, label %1495, label %1496

1495:                                             ; preds = %1493
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #6
  br label %1496

1496:                                             ; preds = %1495, %1493
  %1497 = load i1, ptr %153, align 1
  br i1 %1497, label %1498, label %1499

1498:                                             ; preds = %1496
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #6
  br label %1499

1499:                                             ; preds = %1498, %1496
  %1500 = load i1, ptr %151, align 1
  br i1 %1500, label %1501, label %1502

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

1502:                                             ; preds = %1501, %1499
  %1503 = load i1, ptr %149, align 1
  br i1 %1503, label %1504, label %1505

1504:                                             ; preds = %1502
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #6
  br label %1505

1505:                                             ; preds = %1504, %1502
  %1506 = load i1, ptr %147, align 1
  br i1 %1506, label %1507, label %1508

1507:                                             ; preds = %1505
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  br label %1508

1508:                                             ; preds = %1507, %1505
  %1509 = load i1, ptr %145, align 1
  br i1 %1509, label %1510, label %1511

1510:                                             ; preds = %1508
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #6
  br label %1511

1511:                                             ; preds = %1510, %1508
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #6
  br label %3360

1512:                                             ; preds = %1339, %1332
  store i32 1, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #6
  br label %3357

1513:                                             ; preds = %1175
  br label %1514

1514:                                             ; preds = %1513
  br label %1515

1515:                                             ; preds = %1514
  br label %1516

1516:                                             ; preds = %1515, %495
  %1517 = getelementptr inbounds %class.Apex, ptr %485, i32 0, i32 6
  %1518 = load double, ptr %1517, align 8, !tbaa !28
  %1519 = load double, ptr %19, align 8, !tbaa !9
  %1520 = fsub double %1518, %1519
  %1521 = load double, ptr %13, align 8, !tbaa !9
  %1522 = fcmp ole double %1520, %1521
  br i1 %1522, label %1523, label %1854

1523:                                             ; preds = %1516
  %1524 = load double, ptr %13, align 8, !tbaa !9
  %1525 = getelementptr inbounds %class.Apex, ptr %485, i32 0, i32 7
  %1526 = load double, ptr %1525, align 8, !tbaa !29
  %1527 = load double, ptr %19, align 8, !tbaa !9
  %1528 = fadd double %1526, %1527
  %1529 = fcmp ole double %1524, %1528
  br i1 %1529, label %1530, label %1854

1530:                                             ; preds = %1523
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #6
  %1531 = load double, ptr %13, align 8, !tbaa !9
  %1532 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %1533 = load double, ptr %1532, align 8, !tbaa !19
  %1534 = fmul double %1531, %1533
  %1535 = load double, ptr %14, align 8, !tbaa !9
  %1536 = call double @sin(double noundef %1535) #6
  %1537 = fmul double %1534, %1536
  %1538 = load double, ptr %15, align 8, !tbaa !9
  %1539 = fdiv double %1537, %1538
  store double %1539, ptr %197, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #6
  store double 0x3FEFFFFDE7210BE9, ptr %198, align 8, !tbaa !9
  %1540 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %197, ptr noundef nonnull align 8 dereferenceable(8) %198)
  %1541 = load double, ptr %1540, align 8, !tbaa !9
  store double %1541, ptr %197, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #6
  store double 0xBFEFFFFDE7210BE9, ptr %199, align 8, !tbaa !9
  %1542 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %197, ptr noundef nonnull align 8 dereferenceable(8) %199)
  %1543 = load double, ptr %1542, align 8, !tbaa !9
  store double %1543, ptr %197, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #6
  %1544 = load double, ptr %197, align 8, !tbaa !9
  %1545 = call double @acos(double noundef %1544) #6
  %1546 = load double, ptr %14, align 8, !tbaa !9
  %1547 = fsub double %1545, %1546
  store double %1547, ptr %200, align 8, !tbaa !9
  %1548 = load double, ptr %200, align 8, !tbaa !9
  %1549 = fcmp oge double %1548, 0xBE7AD7F29ABCAF48
  store i1 false, ptr %203, align 1
  store i1 false, ptr %205, align 1
  store i1 false, ptr %207, align 1
  store i1 false, ptr %209, align 1
  store i1 false, ptr %211, align 1
  store i1 false, ptr %213, align 1
  store i1 false, ptr %215, align 1
  store i1 false, ptr %216, align 1
  store i1 false, ptr %217, align 1
  store i1 false, ptr %218, align 1
  store i1 false, ptr %220, align 1
  store i1 false, ptr %222, align 1
  store i1 false, ptr %223, align 1
  store i1 false, ptr %224, align 1
  store i1 false, ptr %225, align 1
  store i1 false, ptr %226, align 1
  store i1 false, ptr %228, align 1
  store i1 false, ptr %230, align 1
  store i1 false, ptr %231, align 1
  store i1 false, ptr %232, align 1
  store i1 false, ptr %233, align 1
  store i1 false, ptr %234, align 1
  store i1 false, ptr %236, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #6
  store i1 false, ptr %238, align 1
  store i1 false, ptr %239, align 1
  store i1 false, ptr %242, align 1
  store i1 false, ptr %244, align 1
  store i1 false, ptr %245, align 1
  store i1 false, ptr %246, align 1
  store i1 false, ptr %248, align 1
  store i1 false, ptr %250, align 1
  store i1 false, ptr %251, align 1
  store i1 false, ptr %252, align 1
  store i1 false, ptr %253, align 1
  br i1 %1549, label %1550, label %1555

1550:                                             ; preds = %1530
  %1551 = load double, ptr %200, align 8, !tbaa !9
  %1552 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %1553 = fadd double %1552, 0x3E7AD7F29ABCAF48
  %1554 = fcmp ole double %1551, %1553
  br i1 %1554, label %1571, label %1555

1555:                                             ; preds = %1550, %1530
  call void @llvm.lifetime.start.p0(i64 32, ptr %202) #6
  store i1 true, ptr %203, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %204) #6
  store i1 true, ptr %205, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %206) #6
  store i1 true, ptr %207, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %208) #6
  store i1 true, ptr %209, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %210) #6
  store i1 true, ptr %211, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %212) #6
  store i1 true, ptr %213, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %214) #6
  store i1 true, ptr %215, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #6
  store i1 true, ptr %216, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %212, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %214)
          to label %1556 unwind label %1683

1556:                                             ; preds = %1555
  store i1 true, ptr %217, 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 %210, ptr noundef nonnull align 8 dereferenceable(32) %212, ptr noundef @.str.2)
          to label %1557 unwind label %1687

1557:                                             ; preds = %1556
  store i1 true, ptr %218, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %219) #6
  store i1 true, ptr %220, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %221) #6
  store i1 true, ptr %222, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #6
  store i1 true, ptr %223, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %219, ptr noundef @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %221)
          to label %1558 unwind label %1691

1558:                                             ; preds = %1557
  store i1 true, ptr %224, 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) %210, ptr noundef nonnull align 8 dereferenceable(32) %219)
          to label %1559 unwind label %1695

1559:                                             ; preds = %1558
  store i1 true, ptr %225, 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 %206, ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef @.str.3)
          to label %1560 unwind label %1699

1560:                                             ; preds = %1559
  store i1 true, ptr %226, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %227) #6
  store i1 true, ptr %228, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %229) #6
  store i1 true, ptr %230, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %229) #6
  store i1 true, ptr %231, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %229)
          to label %1561 unwind label %1703

1561:                                             ; preds = %1560
  store i1 true, ptr %232, 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 %204, ptr noundef nonnull align 8 dereferenceable(32) %206, ptr noundef nonnull align 8 dereferenceable(32) %227)
          to label %1562 unwind label %1707

1562:                                             ; preds = %1561
  store i1 true, ptr %233, 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 %202, ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef @.str.5)
          to label %1563 unwind label %1711

1563:                                             ; preds = %1562
  store i1 true, ptr %234, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %235) #6
  store i1 true, ptr %236, align 1
  store i32 173, ptr %237, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %235, ptr noundef nonnull align 4 dereferenceable(4) %237)
          to label %1564 unwind label %1715

1564:                                             ; preds = %1563
  store i1 true, ptr %238, 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 %201, ptr noundef nonnull align 8 dereferenceable(32) %202, ptr noundef nonnull align 8 dereferenceable(32) %235)
          to label %1565 unwind label %1719

1565:                                             ; preds = %1564
  store i1 true, ptr %239, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %241) #6
  store i1 true, ptr %242, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %243) #6
  store i1 true, ptr %244, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %243) #6
  store i1 true, ptr %245, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %241, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %243)
          to label %1566 unwind label %1723

1566:                                             ; preds = %1565
  store i1 true, ptr %246, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %247) #6
  store i1 true, ptr %248, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %249) #6
  store i1 true, ptr %250, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %249) #6
  store i1 true, ptr %251, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %247, ptr noundef @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %249)
          to label %1567 unwind label %1727

1567:                                             ; preds = %1566
  store i1 true, ptr %252, 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 %240, ptr noundef nonnull align 8 dereferenceable(32) %241, ptr noundef nonnull align 8 dereferenceable(32) %247)
          to label %1568 unwind label %1731

1568:                                             ; preds = %1567
  store i1 true, ptr %253, align 1
  %1569 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %201, ptr noundef %240, i32 noundef 0)
          to label %1570 unwind label %1735

1570:                                             ; preds = %1568
  br label %1571

1571:                                             ; preds = %1570, %1550
  %1572 = phi i1 [ true, %1550 ], [ %1569, %1570 ]
  %1573 = xor i1 %1572, true
  %1574 = load i1, ptr %253, align 1
  br i1 %1574, label %1575, label %1576

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

1576:                                             ; preds = %1575, %1571
  %1577 = load i1, ptr %252, align 1
  br i1 %1577, label %1578, label %1579

1578:                                             ; preds = %1576
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %247) #6
  br label %1579

1579:                                             ; preds = %1578, %1576
  %1580 = load i1, ptr %251, align 1
  br i1 %1580, label %1581, label %1582

1581:                                             ; preds = %1579
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %249) #6
  br label %1582

1582:                                             ; preds = %1581, %1579
  %1583 = load i1, ptr %250, align 1
  br i1 %1583, label %1584, label %1585

1584:                                             ; preds = %1582
  call void @llvm.lifetime.end.p0(i64 1, ptr %249) #6
  br label %1585

1585:                                             ; preds = %1584, %1582
  %1586 = load i1, ptr %248, align 1
  br i1 %1586, label %1587, label %1588

1587:                                             ; preds = %1585
  call void @llvm.lifetime.end.p0(i64 32, ptr %247) #6
  br label %1588

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

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

1591:                                             ; preds = %1590, %1588
  %1592 = load i1, ptr %245, align 1
  br i1 %1592, label %1593, label %1594

1593:                                             ; preds = %1591
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %243) #6
  br label %1594

1594:                                             ; preds = %1593, %1591
  %1595 = load i1, ptr %244, align 1
  br i1 %1595, label %1596, label %1597

1596:                                             ; preds = %1594
  call void @llvm.lifetime.end.p0(i64 1, ptr %243) #6
  br label %1597

1597:                                             ; preds = %1596, %1594
  %1598 = load i1, ptr %242, align 1
  br i1 %1598, label %1599, label %1600

1599:                                             ; preds = %1597
  call void @llvm.lifetime.end.p0(i64 32, ptr %241) #6
  br label %1600

1600:                                             ; preds = %1599, %1597
  %1601 = load i1, ptr %239, align 1
  br i1 %1601, label %1602, label %1603

1602:                                             ; preds = %1600
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  br label %1603

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

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

1606:                                             ; preds = %1605, %1603
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #6
  %1607 = load i1, ptr %236, align 1
  br i1 %1607, label %1608, label %1609

1608:                                             ; preds = %1606
  call void @llvm.lifetime.end.p0(i64 32, ptr %235) #6
  br label %1609

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

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

1612:                                             ; preds = %1611, %1609
  %1613 = load i1, ptr %233, align 1
  br i1 %1613, label %1614, label %1615

1614:                                             ; preds = %1612
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #6
  br label %1615

1615:                                             ; preds = %1614, %1612
  %1616 = load i1, ptr %232, align 1
  br i1 %1616, label %1617, label %1618

1617:                                             ; preds = %1615
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #6
  br label %1618

1618:                                             ; preds = %1617, %1615
  %1619 = load i1, ptr %231, align 1
  br i1 %1619, label %1620, label %1621

1620:                                             ; preds = %1618
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %229) #6
  br label %1621

1621:                                             ; preds = %1620, %1618
  %1622 = load i1, ptr %230, align 1
  br i1 %1622, label %1623, label %1624

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

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

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

1627:                                             ; preds = %1626, %1624
  %1628 = load i1, ptr %226, align 1
  br i1 %1628, label %1629, label %1630

1629:                                             ; preds = %1627
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %206) #6
  br label %1630

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

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

1633:                                             ; preds = %1632, %1630
  %1634 = load i1, ptr %224, align 1
  br i1 %1634, label %1635, label %1636

1635:                                             ; preds = %1633
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #6
  br label %1636

1636:                                             ; preds = %1635, %1633
  %1637 = load i1, ptr %223, align 1
  br i1 %1637, label %1638, label %1639

1638:                                             ; preds = %1636
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #6
  br label %1639

1639:                                             ; preds = %1638, %1636
  %1640 = load i1, ptr %222, align 1
  br i1 %1640, label %1641, label %1642

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

1642:                                             ; preds = %1641, %1639
  %1643 = load i1, ptr %220, align 1
  br i1 %1643, label %1644, label %1645

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

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

1647:                                             ; preds = %1645
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %210) #6
  br label %1648

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

1650:                                             ; preds = %1648
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #6
  br label %1651

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

1653:                                             ; preds = %1651
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #6
  br label %1654

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

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

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

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

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

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

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

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

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

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

1669:                                             ; preds = %1668, %1666
  %1670 = load i1, ptr %205, align 1
  br i1 %1670, label %1671, label %1672

1671:                                             ; preds = %1669
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #6
  br label %1672

1672:                                             ; preds = %1671, %1669
  %1673 = load i1, ptr %203, align 1
  br i1 %1673, label %1674, label %1675

1674:                                             ; preds = %1672
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #6
  br label %1675

1675:                                             ; preds = %1674, %1672
  call void @llvm.lifetime.start.p0(i64 8, ptr %254) #6
  store double 0.000000e+00, ptr %254, align 8, !tbaa !9
  %1676 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %200, ptr noundef nonnull align 8 dereferenceable(8) %254)
  %1677 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %1676, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %1678 = load double, ptr %1677, align 8, !tbaa !9
  %1679 = load ptr, ptr %12, align 8, !tbaa !5
  store double %1678, ptr %1679, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %254) #6
  %1680 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %1681 = load double, ptr %1680, align 8, !tbaa !19
  %1682 = load ptr, ptr %11, align 8, !tbaa !5
  store double %1681, ptr %1682, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #6
  br label %3326

1683:                                             ; preds = %1555
  %1684 = landingpad { ptr, i32 }
          cleanup
  %1685 = extractvalue { ptr, i32 } %1684, 0
  store ptr %1685, ptr %41, align 8
  %1686 = extractvalue { ptr, i32 } %1684, 1
  store i32 %1686, ptr %42, align 4
  br label %1829

1687:                                             ; preds = %1556
  %1688 = landingpad { ptr, i32 }
          cleanup
  %1689 = extractvalue { ptr, i32 } %1688, 0
  store ptr %1689, ptr %41, align 8
  %1690 = extractvalue { ptr, i32 } %1688, 1
  store i32 %1690, ptr %42, align 4
  br label %1825

1691:                                             ; preds = %1557
  %1692 = landingpad { ptr, i32 }
          cleanup
  %1693 = extractvalue { ptr, i32 } %1692, 0
  store ptr %1693, ptr %41, align 8
  %1694 = extractvalue { ptr, i32 } %1692, 1
  store i32 %1694, ptr %42, align 4
  br label %1812

1695:                                             ; preds = %1558
  %1696 = landingpad { ptr, i32 }
          cleanup
  %1697 = extractvalue { ptr, i32 } %1696, 0
  store ptr %1697, ptr %41, align 8
  %1698 = extractvalue { ptr, i32 } %1696, 1
  store i32 %1698, ptr %42, align 4
  br label %1808

1699:                                             ; preds = %1559
  %1700 = landingpad { ptr, i32 }
          cleanup
  %1701 = extractvalue { ptr, i32 } %1700, 0
  store ptr %1701, ptr %41, align 8
  %1702 = extractvalue { ptr, i32 } %1700, 1
  store i32 %1702, ptr %42, align 4
  br label %1804

1703:                                             ; preds = %1560
  %1704 = landingpad { ptr, i32 }
          cleanup
  %1705 = extractvalue { ptr, i32 } %1704, 0
  store ptr %1705, ptr %41, align 8
  %1706 = extractvalue { ptr, i32 } %1704, 1
  store i32 %1706, ptr %42, align 4
  br label %1791

1707:                                             ; preds = %1561
  %1708 = landingpad { ptr, i32 }
          cleanup
  %1709 = extractvalue { ptr, i32 } %1708, 0
  store ptr %1709, ptr %41, align 8
  %1710 = extractvalue { ptr, i32 } %1708, 1
  store i32 %1710, ptr %42, align 4
  br label %1787

1711:                                             ; preds = %1562
  %1712 = landingpad { ptr, i32 }
          cleanup
  %1713 = extractvalue { ptr, i32 } %1712, 0
  store ptr %1713, ptr %41, align 8
  %1714 = extractvalue { ptr, i32 } %1712, 1
  store i32 %1714, ptr %42, align 4
  br label %1783

1715:                                             ; preds = %1563
  %1716 = landingpad { ptr, i32 }
          cleanup
  %1717 = extractvalue { ptr, i32 } %1716, 0
  store ptr %1717, ptr %41, align 8
  %1718 = extractvalue { ptr, i32 } %1716, 1
  store i32 %1718, ptr %42, align 4
  br label %1776

1719:                                             ; preds = %1564
  %1720 = landingpad { ptr, i32 }
          cleanup
  %1721 = extractvalue { ptr, i32 } %1720, 0
  store ptr %1721, ptr %41, align 8
  %1722 = extractvalue { ptr, i32 } %1720, 1
  store i32 %1722, ptr %42, align 4
  br label %1772

1723:                                             ; preds = %1565
  %1724 = landingpad { ptr, i32 }
          cleanup
  %1725 = extractvalue { ptr, i32 } %1724, 0
  store ptr %1725, ptr %41, align 8
  %1726 = extractvalue { ptr, i32 } %1724, 1
  store i32 %1726, ptr %42, align 4
  br label %1759

1727:                                             ; preds = %1566
  %1728 = landingpad { ptr, i32 }
          cleanup
  %1729 = extractvalue { ptr, i32 } %1728, 0
  store ptr %1729, ptr %41, align 8
  %1730 = extractvalue { ptr, i32 } %1728, 1
  store i32 %1730, ptr %42, align 4
  br label %1746

1731:                                             ; preds = %1567
  %1732 = landingpad { ptr, i32 }
          cleanup
  %1733 = extractvalue { ptr, i32 } %1732, 0
  store ptr %1733, ptr %41, align 8
  %1734 = extractvalue { ptr, i32 } %1732, 1
  store i32 %1734, ptr %42, align 4
  br label %1742

1735:                                             ; preds = %1568
  %1736 = landingpad { ptr, i32 }
          cleanup
  %1737 = extractvalue { ptr, i32 } %1736, 0
  store ptr %1737, ptr %41, align 8
  %1738 = extractvalue { ptr, i32 } %1736, 1
  store i32 %1738, ptr %42, align 4
  %1739 = load i1, ptr %253, align 1
  br i1 %1739, label %1740, label %1741

1740:                                             ; preds = %1735
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %240) #6
  br label %1741

1741:                                             ; preds = %1740, %1735
  br label %1742

1742:                                             ; preds = %1741, %1731
  %1743 = load i1, ptr %252, align 1
  br i1 %1743, label %1744, label %1745

1744:                                             ; preds = %1742
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %247) #6
  br label %1745

1745:                                             ; preds = %1744, %1742
  br label %1746

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

1748:                                             ; preds = %1746
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %249) #6
  br label %1749

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

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

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

1754:                                             ; preds = %1752
  call void @llvm.lifetime.end.p0(i64 32, ptr %247) #6
  br label %1755

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

1757:                                             ; preds = %1755
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %241) #6
  br label %1758

1758:                                             ; preds = %1757, %1755
  br label %1759

1759:                                             ; preds = %1758, %1723
  %1760 = load i1, ptr %245, align 1
  br i1 %1760, label %1761, label %1762

1761:                                             ; preds = %1759
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %243) #6
  br label %1762

1762:                                             ; preds = %1761, %1759
  %1763 = load i1, ptr %244, align 1
  br i1 %1763, label %1764, label %1765

1764:                                             ; preds = %1762
  call void @llvm.lifetime.end.p0(i64 1, ptr %243) #6
  br label %1765

1765:                                             ; preds = %1764, %1762
  %1766 = load i1, ptr %242, align 1
  br i1 %1766, label %1767, label %1768

1767:                                             ; preds = %1765
  call void @llvm.lifetime.end.p0(i64 32, ptr %241) #6
  br label %1768

1768:                                             ; preds = %1767, %1765
  %1769 = load i1, ptr %239, align 1
  br i1 %1769, label %1770, label %1771

1770:                                             ; preds = %1768
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  br label %1771

1771:                                             ; preds = %1770, %1768
  br label %1772

1772:                                             ; preds = %1771, %1719
  %1773 = load i1, ptr %238, align 1
  br i1 %1773, label %1774, label %1775

1774:                                             ; preds = %1772
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #6
  br label %1775

1775:                                             ; preds = %1774, %1772
  br label %1776

1776:                                             ; preds = %1775, %1715
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #6
  %1777 = load i1, ptr %236, align 1
  br i1 %1777, label %1778, label %1779

1778:                                             ; preds = %1776
  call void @llvm.lifetime.end.p0(i64 32, ptr %235) #6
  br label %1779

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

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

1782:                                             ; preds = %1781, %1779
  br label %1783

1783:                                             ; preds = %1782, %1711
  %1784 = load i1, ptr %233, align 1
  br i1 %1784, label %1785, label %1786

1785:                                             ; preds = %1783
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #6
  br label %1786

1786:                                             ; preds = %1785, %1783
  br label %1787

1787:                                             ; preds = %1786, %1707
  %1788 = load i1, ptr %232, align 1
  br i1 %1788, label %1789, label %1790

1789:                                             ; preds = %1787
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #6
  br label %1790

1790:                                             ; preds = %1789, %1787
  br label %1791

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

1793:                                             ; preds = %1791
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %229) #6
  br label %1794

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

1796:                                             ; preds = %1794
  call void @llvm.lifetime.end.p0(i64 1, ptr %229) #6
  br label %1797

1797:                                             ; preds = %1796, %1794
  %1798 = load i1, ptr %228, align 1
  br i1 %1798, label %1799, label %1800

1799:                                             ; preds = %1797
  call void @llvm.lifetime.end.p0(i64 32, ptr %227) #6
  br label %1800

1800:                                             ; preds = %1799, %1797
  %1801 = load i1, ptr %226, align 1
  br i1 %1801, label %1802, label %1803

1802:                                             ; preds = %1800
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %206) #6
  br label %1803

1803:                                             ; preds = %1802, %1800
  br label %1804

1804:                                             ; preds = %1803, %1699
  %1805 = load i1, ptr %225, align 1
  br i1 %1805, label %1806, label %1807

1806:                                             ; preds = %1804
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %1807

1807:                                             ; preds = %1806, %1804
  br label %1808

1808:                                             ; preds = %1807, %1695
  %1809 = load i1, ptr %224, align 1
  br i1 %1809, label %1810, label %1811

1810:                                             ; preds = %1808
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #6
  br label %1811

1811:                                             ; preds = %1810, %1808
  br label %1812

1812:                                             ; preds = %1811, %1691
  %1813 = load i1, ptr %223, align 1
  br i1 %1813, label %1814, label %1815

1814:                                             ; preds = %1812
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #6
  br label %1815

1815:                                             ; preds = %1814, %1812
  %1816 = load i1, ptr %222, align 1
  br i1 %1816, label %1817, label %1818

1817:                                             ; preds = %1815
  call void @llvm.lifetime.end.p0(i64 1, ptr %221) #6
  br label %1818

1818:                                             ; preds = %1817, %1815
  %1819 = load i1, ptr %220, align 1
  br i1 %1819, label %1820, label %1821

1820:                                             ; preds = %1818
  call void @llvm.lifetime.end.p0(i64 32, ptr %219) #6
  br label %1821

1821:                                             ; preds = %1820, %1818
  %1822 = load i1, ptr %218, align 1
  br i1 %1822, label %1823, label %1824

1823:                                             ; preds = %1821
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %210) #6
  br label %1824

1824:                                             ; preds = %1823, %1821
  br label %1825

1825:                                             ; preds = %1824, %1687
  %1826 = load i1, ptr %217, align 1
  br i1 %1826, label %1827, label %1828

1827:                                             ; preds = %1825
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #6
  br label %1828

1828:                                             ; preds = %1827, %1825
  br label %1829

1829:                                             ; preds = %1828, %1683
  %1830 = load i1, ptr %216, align 1
  br i1 %1830, label %1831, label %1832

1831:                                             ; preds = %1829
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #6
  br label %1832

1832:                                             ; preds = %1831, %1829
  %1833 = load i1, ptr %215, align 1
  br i1 %1833, label %1834, label %1835

1834:                                             ; preds = %1832
  call void @llvm.lifetime.end.p0(i64 1, ptr %214) #6
  br label %1835

1835:                                             ; preds = %1834, %1832
  %1836 = load i1, ptr %213, align 1
  br i1 %1836, label %1837, label %1838

1837:                                             ; preds = %1835
  call void @llvm.lifetime.end.p0(i64 32, ptr %212) #6
  br label %1838

1838:                                             ; preds = %1837, %1835
  %1839 = load i1, ptr %211, align 1
  br i1 %1839, label %1840, label %1841

1840:                                             ; preds = %1838
  call void @llvm.lifetime.end.p0(i64 32, ptr %210) #6
  br label %1841

1841:                                             ; preds = %1840, %1838
  %1842 = load i1, ptr %209, align 1
  br i1 %1842, label %1843, label %1844

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

1844:                                             ; preds = %1843, %1841
  %1845 = load i1, ptr %207, align 1
  br i1 %1845, label %1846, label %1847

1846:                                             ; preds = %1844
  call void @llvm.lifetime.end.p0(i64 32, ptr %206) #6
  br label %1847

1847:                                             ; preds = %1846, %1844
  %1848 = load i1, ptr %205, align 1
  br i1 %1848, label %1849, label %1850

1849:                                             ; preds = %1847
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #6
  br label %1850

1850:                                             ; preds = %1849, %1847
  %1851 = load i1, ptr %203, align 1
  br i1 %1851, label %1852, label %1853

1852:                                             ; preds = %1850
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #6
  br label %1853

1853:                                             ; preds = %1852, %1850
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #6
  br label %3360

1854:                                             ; preds = %1523, %1516
  %1855 = load double, ptr %13, align 8, !tbaa !9
  %1856 = getelementptr inbounds %class.Apex, ptr %485, i32 0, i32 6
  %1857 = load double, ptr %1856, align 8, !tbaa !28
  %1858 = fcmp olt double %1855, %1857
  br i1 %1858, label %1859, label %2224

1859:                                             ; preds = %1854
  %1860 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 1
  %1861 = load ptr, ptr %1860, align 8, !tbaa !24
  %1862 = call noundef double @_ZNK8VoidElem11conAngleAdvEv(ptr noundef nonnull align 8 dereferenceable(184) %1861)
  %1863 = load ptr, ptr %12, align 8, !tbaa !5
  store double %1862, ptr %1863, align 8, !tbaa !9
  %1864 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %1865 = trunc i8 %1864 to i1
  br i1 %1865, label %1866, label %1868

1866:                                             ; preds = %1859
  %1867 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.16)
  br label %1868

1868:                                             ; preds = %1866, %1859
  %1869 = load double, ptr %15, align 8, !tbaa !9
  %1870 = load double, ptr %13, align 8, !tbaa !9
  %1871 = fdiv double %1869, %1870
  %1872 = load ptr, ptr %12, align 8, !tbaa !5
  %1873 = load double, ptr %1872, align 8, !tbaa !9
  %1874 = load double, ptr %14, align 8, !tbaa !9
  %1875 = fadd double %1873, %1874
  %1876 = call double @cos(double noundef %1875) #6
  %1877 = fmul double %1871, %1876
  %1878 = load double, ptr %14, align 8, !tbaa !9
  %1879 = call double @sin(double noundef %1878) #6
  %1880 = fdiv double %1877, %1879
  %1881 = load ptr, ptr %11, align 8, !tbaa !5
  store double %1880, ptr %1881, align 8, !tbaa !9
  %1882 = load ptr, ptr %11, align 8, !tbaa !5
  %1883 = load double, ptr %1882, align 8, !tbaa !9
  %1884 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %1885 = load double, ptr %1884, align 8, !tbaa !19
  %1886 = fcmp olt double %1883, %1885
  br i1 %1886, label %1887, label %2216

1887:                                             ; preds = %1868
  call void @llvm.lifetime.start.p0(i64 8, ptr %255) #6
  %1888 = load double, ptr %13, align 8, !tbaa !9
  %1889 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %1890 = load double, ptr %1889, align 8, !tbaa !19
  %1891 = fmul double %1888, %1890
  %1892 = load double, ptr %14, align 8, !tbaa !9
  %1893 = call double @sin(double noundef %1892) #6
  %1894 = fmul double %1891, %1893
  %1895 = load double, ptr %15, align 8, !tbaa !9
  %1896 = fdiv double %1894, %1895
  store double %1896, ptr %255, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %256) #6
  store double 0x3FEFFFFDE7210BE9, ptr %256, align 8, !tbaa !9
  %1897 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %255, ptr noundef nonnull align 8 dereferenceable(8) %256)
  %1898 = load double, ptr %1897, align 8, !tbaa !9
  store double %1898, ptr %255, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %256) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %257) #6
  store double 0xBFEFFFFDE7210BE9, ptr %257, align 8, !tbaa !9
  %1899 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %255, ptr noundef nonnull align 8 dereferenceable(8) %257)
  %1900 = load double, ptr %1899, align 8, !tbaa !9
  store double %1900, ptr %255, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %257) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %258) #6
  %1901 = load double, ptr %255, align 8, !tbaa !9
  %1902 = call double @acos(double noundef %1901) #6
  %1903 = load double, ptr %14, align 8, !tbaa !9
  %1904 = fsub double %1902, %1903
  store double %1904, ptr %258, align 8, !tbaa !9
  %1905 = load double, ptr %258, align 8, !tbaa !9
  %1906 = fcmp oge double %1905, 0xBE7AD7F29ABCAF48
  store i1 false, ptr %261, align 1
  store i1 false, ptr %263, align 1
  store i1 false, ptr %265, align 1
  store i1 false, ptr %267, align 1
  store i1 false, ptr %269, align 1
  store i1 false, ptr %271, align 1
  store i1 false, ptr %273, align 1
  store i1 false, ptr %274, align 1
  store i1 false, ptr %275, align 1
  store i1 false, ptr %276, align 1
  store i1 false, ptr %278, align 1
  store i1 false, ptr %280, align 1
  store i1 false, ptr %281, align 1
  store i1 false, ptr %282, align 1
  store i1 false, ptr %283, align 1
  store i1 false, ptr %284, align 1
  store i1 false, ptr %286, align 1
  store i1 false, ptr %288, align 1
  store i1 false, ptr %289, align 1
  store i1 false, ptr %290, align 1
  store i1 false, ptr %291, align 1
  store i1 false, ptr %292, align 1
  store i1 false, ptr %294, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #6
  store i1 false, ptr %296, align 1
  store i1 false, ptr %297, align 1
  store i1 false, ptr %300, align 1
  store i1 false, ptr %302, align 1
  store i1 false, ptr %303, align 1
  store i1 false, ptr %304, align 1
  store i1 false, ptr %306, align 1
  store i1 false, ptr %308, align 1
  store i1 false, ptr %309, align 1
  store i1 false, ptr %310, align 1
  store i1 false, ptr %311, align 1
  br i1 %1906, label %1907, label %1912

1907:                                             ; preds = %1887
  %1908 = load double, ptr %258, align 8, !tbaa !9
  %1909 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %1910 = fadd double %1909, 0x3E7AD7F29ABCAF48
  %1911 = fcmp ole double %1908, %1910
  br i1 %1911, label %1928, label %1912

1912:                                             ; preds = %1907, %1887
  call void @llvm.lifetime.start.p0(i64 32, ptr %260) #6
  store i1 true, ptr %261, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %262) #6
  store i1 true, ptr %263, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %264) #6
  store i1 true, ptr %265, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %266) #6
  store i1 true, ptr %267, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %268) #6
  store i1 true, ptr %269, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %270) #6
  store i1 true, ptr %271, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %272) #6
  store i1 true, ptr %273, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #6
  store i1 true, ptr %274, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %270, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %272)
          to label %1913 unwind label %2044

1913:                                             ; preds = %1912
  store i1 true, ptr %275, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %268, ptr noundef nonnull align 8 dereferenceable(32) %270, ptr noundef @.str.2)
          to label %1914 unwind label %2048

1914:                                             ; preds = %1913
  store i1 true, ptr %276, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %277) #6
  store i1 true, ptr %278, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %279) #6
  store i1 true, ptr %280, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %279) #6
  store i1 true, ptr %281, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %279)
          to label %1915 unwind label %2052

1915:                                             ; preds = %1914
  store i1 true, ptr %282, 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 %266, ptr noundef nonnull align 8 dereferenceable(32) %268, ptr noundef nonnull align 8 dereferenceable(32) %277)
          to label %1916 unwind label %2056

1916:                                             ; preds = %1915
  store i1 true, ptr %283, 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 %264, ptr noundef nonnull align 8 dereferenceable(32) %266, ptr noundef @.str.3)
          to label %1917 unwind label %2060

1917:                                             ; preds = %1916
  store i1 true, ptr %284, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %285) #6
  store i1 true, ptr %286, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %287) #6
  store i1 true, ptr %288, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  store i1 true, ptr %289, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %285, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %287)
          to label %1918 unwind label %2064

1918:                                             ; preds = %1917
  store i1 true, ptr %290, 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 %262, ptr noundef nonnull align 8 dereferenceable(32) %264, ptr noundef nonnull align 8 dereferenceable(32) %285)
          to label %1919 unwind label %2068

1919:                                             ; preds = %1918
  store i1 true, ptr %291, 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 %260, ptr noundef nonnull align 8 dereferenceable(32) %262, ptr noundef @.str.5)
          to label %1920 unwind label %2072

1920:                                             ; preds = %1919
  store i1 true, ptr %292, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %293) #6
  store i1 true, ptr %294, align 1
  store i32 189, ptr %295, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %293, ptr noundef nonnull align 4 dereferenceable(4) %295)
          to label %1921 unwind label %2076

1921:                                             ; preds = %1920
  store i1 true, ptr %296, 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 %259, ptr noundef nonnull align 8 dereferenceable(32) %260, ptr noundef nonnull align 8 dereferenceable(32) %293)
          to label %1922 unwind label %2080

1922:                                             ; preds = %1921
  store i1 true, ptr %297, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %299) #6
  store i1 true, ptr %300, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %301) #6
  store i1 true, ptr %302, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %301) #6
  store i1 true, ptr %303, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %299, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %301)
          to label %1923 unwind label %2084

1923:                                             ; preds = %1922
  store i1 true, ptr %304, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %305) #6
  store i1 true, ptr %306, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %307) #6
  store i1 true, ptr %308, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %307) #6
  store i1 true, ptr %309, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %305, ptr noundef @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %307)
          to label %1924 unwind label %2088

1924:                                             ; preds = %1923
  store i1 true, ptr %310, 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 %298, ptr noundef nonnull align 8 dereferenceable(32) %299, ptr noundef nonnull align 8 dereferenceable(32) %305)
          to label %1925 unwind label %2092

1925:                                             ; preds = %1924
  store i1 true, ptr %311, align 1
  %1926 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %259, ptr noundef %298, i32 noundef 0)
          to label %1927 unwind label %2096

1927:                                             ; preds = %1925
  br label %1928

1928:                                             ; preds = %1927, %1907
  %1929 = phi i1 [ true, %1907 ], [ %1926, %1927 ]
  %1930 = xor i1 %1929, true
  %1931 = load i1, ptr %311, align 1
  br i1 %1931, label %1932, label %1933

1932:                                             ; preds = %1928
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %298) #6
  br label %1933

1933:                                             ; preds = %1932, %1928
  %1934 = load i1, ptr %310, align 1
  br i1 %1934, label %1935, label %1936

1935:                                             ; preds = %1933
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %305) #6
  br label %1936

1936:                                             ; preds = %1935, %1933
  %1937 = load i1, ptr %309, align 1
  br i1 %1937, label %1938, label %1939

1938:                                             ; preds = %1936
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %307) #6
  br label %1939

1939:                                             ; preds = %1938, %1936
  %1940 = load i1, ptr %308, align 1
  br i1 %1940, label %1941, label %1942

1941:                                             ; preds = %1939
  call void @llvm.lifetime.end.p0(i64 1, ptr %307) #6
  br label %1942

1942:                                             ; preds = %1941, %1939
  %1943 = load i1, ptr %306, align 1
  br i1 %1943, label %1944, label %1945

1944:                                             ; preds = %1942
  call void @llvm.lifetime.end.p0(i64 32, ptr %305) #6
  br label %1945

1945:                                             ; preds = %1944, %1942
  %1946 = load i1, ptr %304, align 1
  br i1 %1946, label %1947, label %1948

1947:                                             ; preds = %1945
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #6
  br label %1948

1948:                                             ; preds = %1947, %1945
  %1949 = load i1, ptr %303, align 1
  br i1 %1949, label %1950, label %1951

1950:                                             ; preds = %1948
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %301) #6
  br label %1951

1951:                                             ; preds = %1950, %1948
  %1952 = load i1, ptr %302, align 1
  br i1 %1952, label %1953, label %1954

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

1954:                                             ; preds = %1953, %1951
  %1955 = load i1, ptr %300, align 1
  br i1 %1955, label %1956, label %1957

1956:                                             ; preds = %1954
  call void @llvm.lifetime.end.p0(i64 32, ptr %299) #6
  br label %1957

1957:                                             ; preds = %1956, %1954
  %1958 = load i1, ptr %297, align 1
  br i1 %1958, label %1959, label %1960

1959:                                             ; preds = %1957
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %259) #6
  br label %1960

1960:                                             ; preds = %1959, %1957
  %1961 = load i1, ptr %296, align 1
  br i1 %1961, label %1962, label %1963

1962:                                             ; preds = %1960
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %293) #6
  br label %1963

1963:                                             ; preds = %1962, %1960
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #6
  %1964 = load i1, ptr %294, align 1
  br i1 %1964, label %1965, label %1966

1965:                                             ; preds = %1963
  call void @llvm.lifetime.end.p0(i64 32, ptr %293) #6
  br label %1966

1966:                                             ; preds = %1965, %1963
  %1967 = load i1, ptr %292, align 1
  br i1 %1967, label %1968, label %1969

1968:                                             ; preds = %1966
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %260) #6
  br label %1969

1969:                                             ; preds = %1968, %1966
  %1970 = load i1, ptr %291, align 1
  br i1 %1970, label %1971, label %1972

1971:                                             ; preds = %1969
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %262) #6
  br label %1972

1972:                                             ; preds = %1971, %1969
  %1973 = load i1, ptr %290, align 1
  br i1 %1973, label %1974, label %1975

1974:                                             ; preds = %1972
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #6
  br label %1975

1975:                                             ; preds = %1974, %1972
  %1976 = load i1, ptr %289, align 1
  br i1 %1976, label %1977, label %1978

1977:                                             ; preds = %1975
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  br label %1978

1978:                                             ; preds = %1977, %1975
  %1979 = load i1, ptr %288, align 1
  br i1 %1979, label %1980, label %1981

1980:                                             ; preds = %1978
  call void @llvm.lifetime.end.p0(i64 1, ptr %287) #6
  br label %1981

1981:                                             ; preds = %1980, %1978
  %1982 = load i1, ptr %286, align 1
  br i1 %1982, label %1983, label %1984

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

1984:                                             ; preds = %1983, %1981
  %1985 = load i1, ptr %284, align 1
  br i1 %1985, label %1986, label %1987

1986:                                             ; preds = %1984
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %264) #6
  br label %1987

1987:                                             ; preds = %1986, %1984
  %1988 = load i1, ptr %283, align 1
  br i1 %1988, label %1989, label %1990

1989:                                             ; preds = %1987
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %266) #6
  br label %1990

1990:                                             ; preds = %1989, %1987
  %1991 = load i1, ptr %282, align 1
  br i1 %1991, label %1992, label %1993

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

1993:                                             ; preds = %1992, %1990
  %1994 = load i1, ptr %281, align 1
  br i1 %1994, label %1995, label %1996

1995:                                             ; preds = %1993
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %279) #6
  br label %1996

1996:                                             ; preds = %1995, %1993
  %1997 = load i1, ptr %280, align 1
  br i1 %1997, label %1998, label %1999

1998:                                             ; preds = %1996
  call void @llvm.lifetime.end.p0(i64 1, ptr %279) #6
  br label %1999

1999:                                             ; preds = %1998, %1996
  %2000 = load i1, ptr %278, align 1
  br i1 %2000, label %2001, label %2002

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

2002:                                             ; preds = %2001, %1999
  %2003 = load i1, ptr %276, align 1
  br i1 %2003, label %2004, label %2005

2004:                                             ; preds = %2002
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %268) #6
  br label %2005

2005:                                             ; preds = %2004, %2002
  %2006 = load i1, ptr %275, align 1
  br i1 %2006, label %2007, label %2008

2007:                                             ; preds = %2005
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #6
  br label %2008

2008:                                             ; preds = %2007, %2005
  %2009 = load i1, ptr %274, align 1
  br i1 %2009, label %2010, label %2011

2010:                                             ; preds = %2008
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #6
  br label %2011

2011:                                             ; preds = %2010, %2008
  %2012 = load i1, ptr %273, align 1
  br i1 %2012, label %2013, label %2014

2013:                                             ; preds = %2011
  call void @llvm.lifetime.end.p0(i64 1, ptr %272) #6
  br label %2014

2014:                                             ; preds = %2013, %2011
  %2015 = load i1, ptr %271, align 1
  br i1 %2015, label %2016, label %2017

2016:                                             ; preds = %2014
  call void @llvm.lifetime.end.p0(i64 32, ptr %270) #6
  br label %2017

2017:                                             ; preds = %2016, %2014
  %2018 = load i1, ptr %269, align 1
  br i1 %2018, label %2019, label %2020

2019:                                             ; preds = %2017
  call void @llvm.lifetime.end.p0(i64 32, ptr %268) #6
  br label %2020

2020:                                             ; preds = %2019, %2017
  %2021 = load i1, ptr %267, align 1
  br i1 %2021, label %2022, label %2023

2022:                                             ; preds = %2020
  call void @llvm.lifetime.end.p0(i64 32, ptr %266) #6
  br label %2023

2023:                                             ; preds = %2022, %2020
  %2024 = load i1, ptr %265, align 1
  br i1 %2024, label %2025, label %2026

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

2026:                                             ; preds = %2025, %2023
  %2027 = load i1, ptr %263, align 1
  br i1 %2027, label %2028, label %2029

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

2029:                                             ; preds = %2028, %2026
  %2030 = load i1, ptr %261, align 1
  br i1 %2030, label %2031, label %2032

2031:                                             ; preds = %2029
  call void @llvm.lifetime.end.p0(i64 32, ptr %260) #6
  br label %2032

2032:                                             ; preds = %2031, %2029
  call void @llvm.lifetime.start.p0(i64 8, ptr %312) #6
  store double 0.000000e+00, ptr %312, align 8, !tbaa !9
  %2033 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %258, ptr noundef nonnull align 8 dereferenceable(8) %312)
  %2034 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %2033, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %2035 = load double, ptr %2034, align 8, !tbaa !9
  %2036 = load ptr, ptr %12, align 8, !tbaa !5
  store double %2035, ptr %2036, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %312) #6
  %2037 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %2038 = load double, ptr %2037, align 8, !tbaa !19
  %2039 = load ptr, ptr %11, align 8, !tbaa !5
  store double %2038, ptr %2039, align 8, !tbaa !9
  %2040 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %2041 = trunc i8 %2040 to i1
  br i1 %2041, label %2042, label %2215

2042:                                             ; preds = %2032
  %2043 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.17)
  br label %2215

2044:                                             ; preds = %1912
  %2045 = landingpad { ptr, i32 }
          cleanup
  %2046 = extractvalue { ptr, i32 } %2045, 0
  store ptr %2046, ptr %41, align 8
  %2047 = extractvalue { ptr, i32 } %2045, 1
  store i32 %2047, ptr %42, align 4
  br label %2190

2048:                                             ; preds = %1913
  %2049 = landingpad { ptr, i32 }
          cleanup
  %2050 = extractvalue { ptr, i32 } %2049, 0
  store ptr %2050, ptr %41, align 8
  %2051 = extractvalue { ptr, i32 } %2049, 1
  store i32 %2051, ptr %42, align 4
  br label %2186

2052:                                             ; preds = %1914
  %2053 = landingpad { ptr, i32 }
          cleanup
  %2054 = extractvalue { ptr, i32 } %2053, 0
  store ptr %2054, ptr %41, align 8
  %2055 = extractvalue { ptr, i32 } %2053, 1
  store i32 %2055, ptr %42, align 4
  br label %2173

2056:                                             ; preds = %1915
  %2057 = landingpad { ptr, i32 }
          cleanup
  %2058 = extractvalue { ptr, i32 } %2057, 0
  store ptr %2058, ptr %41, align 8
  %2059 = extractvalue { ptr, i32 } %2057, 1
  store i32 %2059, ptr %42, align 4
  br label %2169

2060:                                             ; preds = %1916
  %2061 = landingpad { ptr, i32 }
          cleanup
  %2062 = extractvalue { ptr, i32 } %2061, 0
  store ptr %2062, ptr %41, align 8
  %2063 = extractvalue { ptr, i32 } %2061, 1
  store i32 %2063, ptr %42, align 4
  br label %2165

2064:                                             ; preds = %1917
  %2065 = landingpad { ptr, i32 }
          cleanup
  %2066 = extractvalue { ptr, i32 } %2065, 0
  store ptr %2066, ptr %41, align 8
  %2067 = extractvalue { ptr, i32 } %2065, 1
  store i32 %2067, ptr %42, align 4
  br label %2152

2068:                                             ; preds = %1918
  %2069 = landingpad { ptr, i32 }
          cleanup
  %2070 = extractvalue { ptr, i32 } %2069, 0
  store ptr %2070, ptr %41, align 8
  %2071 = extractvalue { ptr, i32 } %2069, 1
  store i32 %2071, ptr %42, align 4
  br label %2148

2072:                                             ; preds = %1919
  %2073 = landingpad { ptr, i32 }
          cleanup
  %2074 = extractvalue { ptr, i32 } %2073, 0
  store ptr %2074, ptr %41, align 8
  %2075 = extractvalue { ptr, i32 } %2073, 1
  store i32 %2075, ptr %42, align 4
  br label %2144

2076:                                             ; preds = %1920
  %2077 = landingpad { ptr, i32 }
          cleanup
  %2078 = extractvalue { ptr, i32 } %2077, 0
  store ptr %2078, ptr %41, align 8
  %2079 = extractvalue { ptr, i32 } %2077, 1
  store i32 %2079, ptr %42, align 4
  br label %2137

2080:                                             ; preds = %1921
  %2081 = landingpad { ptr, i32 }
          cleanup
  %2082 = extractvalue { ptr, i32 } %2081, 0
  store ptr %2082, ptr %41, align 8
  %2083 = extractvalue { ptr, i32 } %2081, 1
  store i32 %2083, ptr %42, align 4
  br label %2133

2084:                                             ; preds = %1922
  %2085 = landingpad { ptr, i32 }
          cleanup
  %2086 = extractvalue { ptr, i32 } %2085, 0
  store ptr %2086, ptr %41, align 8
  %2087 = extractvalue { ptr, i32 } %2085, 1
  store i32 %2087, ptr %42, align 4
  br label %2120

2088:                                             ; preds = %1923
  %2089 = landingpad { ptr, i32 }
          cleanup
  %2090 = extractvalue { ptr, i32 } %2089, 0
  store ptr %2090, ptr %41, align 8
  %2091 = extractvalue { ptr, i32 } %2089, 1
  store i32 %2091, ptr %42, align 4
  br label %2107

2092:                                             ; preds = %1924
  %2093 = landingpad { ptr, i32 }
          cleanup
  %2094 = extractvalue { ptr, i32 } %2093, 0
  store ptr %2094, ptr %41, align 8
  %2095 = extractvalue { ptr, i32 } %2093, 1
  store i32 %2095, ptr %42, align 4
  br label %2103

2096:                                             ; preds = %1925
  %2097 = landingpad { ptr, i32 }
          cleanup
  %2098 = extractvalue { ptr, i32 } %2097, 0
  store ptr %2098, ptr %41, align 8
  %2099 = extractvalue { ptr, i32 } %2097, 1
  store i32 %2099, ptr %42, align 4
  %2100 = load i1, ptr %311, align 1
  br i1 %2100, label %2101, label %2102

2101:                                             ; preds = %2096
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %298) #6
  br label %2102

2102:                                             ; preds = %2101, %2096
  br label %2103

2103:                                             ; preds = %2102, %2092
  %2104 = load i1, ptr %310, align 1
  br i1 %2104, label %2105, label %2106

2105:                                             ; preds = %2103
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %305) #6
  br label %2106

2106:                                             ; preds = %2105, %2103
  br label %2107

2107:                                             ; preds = %2106, %2088
  %2108 = load i1, ptr %309, align 1
  br i1 %2108, label %2109, label %2110

2109:                                             ; preds = %2107
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %307) #6
  br label %2110

2110:                                             ; preds = %2109, %2107
  %2111 = load i1, ptr %308, align 1
  br i1 %2111, label %2112, label %2113

2112:                                             ; preds = %2110
  call void @llvm.lifetime.end.p0(i64 1, ptr %307) #6
  br label %2113

2113:                                             ; preds = %2112, %2110
  %2114 = load i1, ptr %306, align 1
  br i1 %2114, label %2115, label %2116

2115:                                             ; preds = %2113
  call void @llvm.lifetime.end.p0(i64 32, ptr %305) #6
  br label %2116

2116:                                             ; preds = %2115, %2113
  %2117 = load i1, ptr %304, align 1
  br i1 %2117, label %2118, label %2119

2118:                                             ; preds = %2116
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #6
  br label %2119

2119:                                             ; preds = %2118, %2116
  br label %2120

2120:                                             ; preds = %2119, %2084
  %2121 = load i1, ptr %303, align 1
  br i1 %2121, label %2122, label %2123

2122:                                             ; preds = %2120
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %301) #6
  br label %2123

2123:                                             ; preds = %2122, %2120
  %2124 = load i1, ptr %302, align 1
  br i1 %2124, label %2125, label %2126

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

2126:                                             ; preds = %2125, %2123
  %2127 = load i1, ptr %300, align 1
  br i1 %2127, label %2128, label %2129

2128:                                             ; preds = %2126
  call void @llvm.lifetime.end.p0(i64 32, ptr %299) #6
  br label %2129

2129:                                             ; preds = %2128, %2126
  %2130 = load i1, ptr %297, align 1
  br i1 %2130, label %2131, label %2132

2131:                                             ; preds = %2129
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %259) #6
  br label %2132

2132:                                             ; preds = %2131, %2129
  br label %2133

2133:                                             ; preds = %2132, %2080
  %2134 = load i1, ptr %296, align 1
  br i1 %2134, label %2135, label %2136

2135:                                             ; preds = %2133
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %293) #6
  br label %2136

2136:                                             ; preds = %2135, %2133
  br label %2137

2137:                                             ; preds = %2136, %2076
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #6
  %2138 = load i1, ptr %294, align 1
  br i1 %2138, label %2139, label %2140

2139:                                             ; preds = %2137
  call void @llvm.lifetime.end.p0(i64 32, ptr %293) #6
  br label %2140

2140:                                             ; preds = %2139, %2137
  %2141 = load i1, ptr %292, align 1
  br i1 %2141, label %2142, label %2143

2142:                                             ; preds = %2140
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %260) #6
  br label %2143

2143:                                             ; preds = %2142, %2140
  br label %2144

2144:                                             ; preds = %2143, %2072
  %2145 = load i1, ptr %291, align 1
  br i1 %2145, label %2146, label %2147

2146:                                             ; preds = %2144
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %262) #6
  br label %2147

2147:                                             ; preds = %2146, %2144
  br label %2148

2148:                                             ; preds = %2147, %2068
  %2149 = load i1, ptr %290, align 1
  br i1 %2149, label %2150, label %2151

2150:                                             ; preds = %2148
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #6
  br label %2151

2151:                                             ; preds = %2150, %2148
  br label %2152

2152:                                             ; preds = %2151, %2064
  %2153 = load i1, ptr %289, align 1
  br i1 %2153, label %2154, label %2155

2154:                                             ; preds = %2152
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  br label %2155

2155:                                             ; preds = %2154, %2152
  %2156 = load i1, ptr %288, align 1
  br i1 %2156, label %2157, label %2158

2157:                                             ; preds = %2155
  call void @llvm.lifetime.end.p0(i64 1, ptr %287) #6
  br label %2158

2158:                                             ; preds = %2157, %2155
  %2159 = load i1, ptr %286, align 1
  br i1 %2159, label %2160, label %2161

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

2161:                                             ; preds = %2160, %2158
  %2162 = load i1, ptr %284, align 1
  br i1 %2162, label %2163, label %2164

2163:                                             ; preds = %2161
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %264) #6
  br label %2164

2164:                                             ; preds = %2163, %2161
  br label %2165

2165:                                             ; preds = %2164, %2060
  %2166 = load i1, ptr %283, align 1
  br i1 %2166, label %2167, label %2168

2167:                                             ; preds = %2165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %266) #6
  br label %2168

2168:                                             ; preds = %2167, %2165
  br label %2169

2169:                                             ; preds = %2168, %2056
  %2170 = load i1, ptr %282, align 1
  br i1 %2170, label %2171, label %2172

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

2172:                                             ; preds = %2171, %2169
  br label %2173

2173:                                             ; preds = %2172, %2052
  %2174 = load i1, ptr %281, align 1
  br i1 %2174, label %2175, label %2176

2175:                                             ; preds = %2173
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %279) #6
  br label %2176

2176:                                             ; preds = %2175, %2173
  %2177 = load i1, ptr %280, align 1
  br i1 %2177, label %2178, label %2179

2178:                                             ; preds = %2176
  call void @llvm.lifetime.end.p0(i64 1, ptr %279) #6
  br label %2179

2179:                                             ; preds = %2178, %2176
  %2180 = load i1, ptr %278, align 1
  br i1 %2180, label %2181, label %2182

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

2182:                                             ; preds = %2181, %2179
  %2183 = load i1, ptr %276, align 1
  br i1 %2183, label %2184, label %2185

2184:                                             ; preds = %2182
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %268) #6
  br label %2185

2185:                                             ; preds = %2184, %2182
  br label %2186

2186:                                             ; preds = %2185, %2048
  %2187 = load i1, ptr %275, align 1
  br i1 %2187, label %2188, label %2189

2188:                                             ; preds = %2186
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #6
  br label %2189

2189:                                             ; preds = %2188, %2186
  br label %2190

2190:                                             ; preds = %2189, %2044
  %2191 = load i1, ptr %274, align 1
  br i1 %2191, label %2192, label %2193

2192:                                             ; preds = %2190
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #6
  br label %2193

2193:                                             ; preds = %2192, %2190
  %2194 = load i1, ptr %273, align 1
  br i1 %2194, label %2195, label %2196

2195:                                             ; preds = %2193
  call void @llvm.lifetime.end.p0(i64 1, ptr %272) #6
  br label %2196

2196:                                             ; preds = %2195, %2193
  %2197 = load i1, ptr %271, align 1
  br i1 %2197, label %2198, label %2199

2198:                                             ; preds = %2196
  call void @llvm.lifetime.end.p0(i64 32, ptr %270) #6
  br label %2199

2199:                                             ; preds = %2198, %2196
  %2200 = load i1, ptr %269, align 1
  br i1 %2200, label %2201, label %2202

2201:                                             ; preds = %2199
  call void @llvm.lifetime.end.p0(i64 32, ptr %268) #6
  br label %2202

2202:                                             ; preds = %2201, %2199
  %2203 = load i1, ptr %267, align 1
  br i1 %2203, label %2204, label %2205

2204:                                             ; preds = %2202
  call void @llvm.lifetime.end.p0(i64 32, ptr %266) #6
  br label %2205

2205:                                             ; preds = %2204, %2202
  %2206 = load i1, ptr %265, align 1
  br i1 %2206, label %2207, label %2208

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

2208:                                             ; preds = %2207, %2205
  %2209 = load i1, ptr %263, align 1
  br i1 %2209, label %2210, label %2211

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

2211:                                             ; preds = %2210, %2208
  %2212 = load i1, ptr %261, align 1
  br i1 %2212, label %2213, label %2214

2213:                                             ; preds = %2211
  call void @llvm.lifetime.end.p0(i64 32, ptr %260) #6
  br label %2214

2214:                                             ; preds = %2213, %2211
  call void @llvm.lifetime.end.p0(i64 8, ptr %258) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %255) #6
  br label %3360

2215:                                             ; preds = %2042, %2032
  call void @llvm.lifetime.end.p0(i64 8, ptr %258) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %255) #6
  br label %2223

2216:                                             ; preds = %1868
  %2217 = load ptr, ptr %11, align 8, !tbaa !5
  %2218 = load double, ptr %2217, align 8, !tbaa !9
  %2219 = fcmp olt double %2218, 0.000000e+00
  br i1 %2219, label %2220, label %2222

2220:                                             ; preds = %2216
  %2221 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.18)
  br label %2222

2222:                                             ; preds = %2220, %2216
  br label %2223

2223:                                             ; preds = %2222, %2215
  br label %3325

2224:                                             ; preds = %1854
  %2225 = load double, ptr %13, align 8, !tbaa !9
  %2226 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 3
  %2227 = load double, ptr %2226, align 8, !tbaa !30
  %2228 = fcmp ogt double %2225, %2227
  br i1 %2228, label %2229, label %2252

2229:                                             ; preds = %2224
  %2230 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 1
  %2231 = load ptr, ptr %2230, align 8, !tbaa !24
  %2232 = call noundef double @_ZNK8VoidElem16minInitRecCntAngEv(ptr noundef nonnull align 8 dereferenceable(184) %2231)
  %2233 = load ptr, ptr %12, align 8, !tbaa !5
  store double %2232, ptr %2233, align 8, !tbaa !9
  %2234 = load double, ptr %15, align 8, !tbaa !9
  %2235 = load double, ptr %13, align 8, !tbaa !9
  %2236 = fdiv double %2234, %2235
  %2237 = load ptr, ptr %12, align 8, !tbaa !5
  %2238 = load double, ptr %2237, align 8, !tbaa !9
  %2239 = load double, ptr %14, align 8, !tbaa !9
  %2240 = fadd double %2238, %2239
  %2241 = call double @cos(double noundef %2240) #6
  %2242 = fmul double %2236, %2241
  %2243 = load double, ptr %14, align 8, !tbaa !9
  %2244 = call double @sin(double noundef %2243) #6
  %2245 = fdiv double %2242, %2244
  %2246 = load ptr, ptr %11, align 8, !tbaa !5
  store double %2245, ptr %2246, align 8, !tbaa !9
  %2247 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %2248 = trunc i8 %2247 to i1
  br i1 %2248, label %2249, label %2251

2249:                                             ; preds = %2229
  %2250 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
  br label %2251

2251:                                             ; preds = %2249, %2229
  br label %3324

2252:                                             ; preds = %2224
  %2253 = load double, ptr %13, align 8, !tbaa !9
  %2254 = getelementptr inbounds %class.Apex, ptr %485, i32 0, i32 7
  %2255 = load double, ptr %2254, align 8, !tbaa !29
  %2256 = fcmp ogt double %2253, %2255
  br i1 %2256, label %2257, label %3001

2257:                                             ; preds = %2252
  %2258 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 1
  %2259 = load ptr, ptr %2258, align 8, !tbaa !24
  %2260 = call noundef double @_ZNK8VoidElem11conAngleRecEv(ptr noundef nonnull align 8 dereferenceable(184) %2259)
  %2261 = load ptr, ptr %12, align 8, !tbaa !5
  store double %2260, ptr %2261, align 8, !tbaa !9
  %2262 = load double, ptr %15, align 8, !tbaa !9
  %2263 = load double, ptr %13, align 8, !tbaa !9
  %2264 = fdiv double %2262, %2263
  %2265 = load ptr, ptr %12, align 8, !tbaa !5
  %2266 = load double, ptr %2265, align 8, !tbaa !9
  %2267 = load double, ptr %14, align 8, !tbaa !9
  %2268 = fadd double %2266, %2267
  %2269 = call double @cos(double noundef %2268) #6
  %2270 = fmul double %2264, %2269
  %2271 = load double, ptr %14, align 8, !tbaa !9
  %2272 = call double @sin(double noundef %2271) #6
  %2273 = fdiv double %2270, %2272
  %2274 = load ptr, ptr %11, align 8, !tbaa !5
  store double %2273, ptr %2274, align 8, !tbaa !9
  %2275 = load ptr, ptr %11, align 8, !tbaa !5
  %2276 = load double, ptr %2275, align 8, !tbaa !9
  %2277 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %2278 = load double, ptr %2277, align 8, !tbaa !19
  %2279 = fcmp ogt double %2276, %2278
  br i1 %2279, label %2280, label %2648

2280:                                             ; preds = %2257
  call void @llvm.lifetime.start.p0(i64 8, ptr %313) #6
  %2281 = load double, ptr %13, align 8, !tbaa !9
  %2282 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %2283 = load double, ptr %2282, align 8, !tbaa !19
  %2284 = fmul double %2281, %2283
  %2285 = load double, ptr %14, align 8, !tbaa !9
  %2286 = call double @sin(double noundef %2285) #6
  %2287 = fmul double %2284, %2286
  %2288 = load double, ptr %15, align 8, !tbaa !9
  %2289 = fdiv double %2287, %2288
  store double %2289, ptr %313, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %314) #6
  store double 0x3FEFFFFDE7210BE9, ptr %314, align 8, !tbaa !9
  %2290 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %313, ptr noundef nonnull align 8 dereferenceable(8) %314)
  %2291 = load double, ptr %2290, align 8, !tbaa !9
  store double %2291, ptr %313, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %314) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %315) #6
  store double 0xBFEFFFFDE7210BE9, ptr %315, align 8, !tbaa !9
  %2292 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %313, ptr noundef nonnull align 8 dereferenceable(8) %315)
  %2293 = load double, ptr %2292, align 8, !tbaa !9
  store double %2293, ptr %313, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %315) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %316) #6
  %2294 = load double, ptr %313, align 8, !tbaa !9
  %2295 = call double @acos(double noundef %2294) #6
  %2296 = load double, ptr %14, align 8, !tbaa !9
  %2297 = fsub double %2295, %2296
  store double %2297, ptr %316, align 8, !tbaa !9
  %2298 = load double, ptr %316, align 8, !tbaa !9
  %2299 = fcmp oge double %2298, 0xBE7AD7F29ABCAF48
  store i1 false, ptr %319, align 1
  store i1 false, ptr %321, align 1
  store i1 false, ptr %323, align 1
  store i1 false, ptr %325, align 1
  store i1 false, ptr %327, align 1
  store i1 false, ptr %329, align 1
  store i1 false, ptr %331, align 1
  store i1 false, ptr %332, align 1
  store i1 false, ptr %333, align 1
  store i1 false, ptr %334, align 1
  store i1 false, ptr %336, align 1
  store i1 false, ptr %338, align 1
  store i1 false, ptr %339, align 1
  store i1 false, ptr %340, align 1
  store i1 false, ptr %341, align 1
  store i1 false, ptr %342, align 1
  store i1 false, ptr %344, align 1
  store i1 false, ptr %346, align 1
  store i1 false, ptr %347, align 1
  store i1 false, ptr %348, align 1
  store i1 false, ptr %349, align 1
  store i1 false, ptr %350, align 1
  store i1 false, ptr %352, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #6
  store i1 false, ptr %354, align 1
  store i1 false, ptr %355, align 1
  store i1 false, ptr %358, align 1
  store i1 false, ptr %360, align 1
  store i1 false, ptr %361, align 1
  store i1 false, ptr %362, align 1
  store i1 false, ptr %364, align 1
  store i1 false, ptr %366, align 1
  store i1 false, ptr %367, align 1
  store i1 false, ptr %368, align 1
  store i1 false, ptr %369, align 1
  br i1 %2299, label %2300, label %2305

2300:                                             ; preds = %2280
  %2301 = load double, ptr %316, align 8, !tbaa !9
  %2302 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %2303 = fadd double %2302, 0x3E7AD7F29ABCAF48
  %2304 = fcmp ole double %2301, %2303
  br i1 %2304, label %2321, label %2305

2305:                                             ; preds = %2300, %2280
  call void @llvm.lifetime.start.p0(i64 32, ptr %318) #6
  store i1 true, ptr %319, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %320) #6
  store i1 true, ptr %321, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %322) #6
  store i1 true, ptr %323, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %324) #6
  store i1 true, ptr %325, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %326) #6
  store i1 true, ptr %327, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %328) #6
  store i1 true, ptr %329, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %330) #6
  store i1 true, ptr %331, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %330) #6
  store i1 true, ptr %332, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %328, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %330)
          to label %2306 unwind label %2453

2306:                                             ; preds = %2305
  store i1 true, ptr %333, 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 %326, ptr noundef nonnull align 8 dereferenceable(32) %328, ptr noundef @.str.2)
          to label %2307 unwind label %2457

2307:                                             ; preds = %2306
  store i1 true, ptr %334, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %335) #6
  store i1 true, ptr %336, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %337) #6
  store i1 true, ptr %338, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %337) #6
  store i1 true, ptr %339, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %335, ptr noundef @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %337)
          to label %2308 unwind label %2461

2308:                                             ; preds = %2307
  store i1 true, ptr %340, 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 %324, ptr noundef nonnull align 8 dereferenceable(32) %326, ptr noundef nonnull align 8 dereferenceable(32) %335)
          to label %2309 unwind label %2465

2309:                                             ; preds = %2308
  store i1 true, ptr %341, 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 %322, ptr noundef nonnull align 8 dereferenceable(32) %324, ptr noundef @.str.3)
          to label %2310 unwind label %2469

2310:                                             ; preds = %2309
  store i1 true, ptr %342, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %343) #6
  store i1 true, ptr %344, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %345) #6
  store i1 true, ptr %346, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %345) #6
  store i1 true, ptr %347, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %343, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %345)
          to label %2311 unwind label %2473

2311:                                             ; preds = %2310
  store i1 true, ptr %348, 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 %320, ptr noundef nonnull align 8 dereferenceable(32) %322, ptr noundef nonnull align 8 dereferenceable(32) %343)
          to label %2312 unwind label %2477

2312:                                             ; preds = %2311
  store i1 true, ptr %349, 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 %318, ptr noundef nonnull align 8 dereferenceable(32) %320, ptr noundef @.str.5)
          to label %2313 unwind label %2481

2313:                                             ; preds = %2312
  store i1 true, ptr %350, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %351) #6
  store i1 true, ptr %352, align 1
  store i32 216, ptr %353, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %351, ptr noundef nonnull align 4 dereferenceable(4) %353)
          to label %2314 unwind label %2485

2314:                                             ; preds = %2313
  store i1 true, ptr %354, 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 %317, ptr noundef nonnull align 8 dereferenceable(32) %318, ptr noundef nonnull align 8 dereferenceable(32) %351)
          to label %2315 unwind label %2489

2315:                                             ; preds = %2314
  store i1 true, ptr %355, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %357) #6
  store i1 true, ptr %358, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %359) #6
  store i1 true, ptr %360, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %359) #6
  store i1 true, ptr %361, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %357, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %359)
          to label %2316 unwind label %2493

2316:                                             ; preds = %2315
  store i1 true, ptr %362, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %363) #6
  store i1 true, ptr %364, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %365) #6
  store i1 true, ptr %366, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %365) #6
  store i1 true, ptr %367, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %363, ptr noundef @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %365)
          to label %2317 unwind label %2497

2317:                                             ; preds = %2316
  store i1 true, ptr %368, 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 %356, ptr noundef nonnull align 8 dereferenceable(32) %357, ptr noundef nonnull align 8 dereferenceable(32) %363)
          to label %2318 unwind label %2501

2318:                                             ; preds = %2317
  store i1 true, ptr %369, align 1
  %2319 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %317, ptr noundef %356, i32 noundef 0)
          to label %2320 unwind label %2505

2320:                                             ; preds = %2318
  br label %2321

2321:                                             ; preds = %2320, %2300
  %2322 = phi i1 [ true, %2300 ], [ %2319, %2320 ]
  %2323 = xor i1 %2322, true
  %2324 = load i1, ptr %369, align 1
  br i1 %2324, label %2325, label %2326

2325:                                             ; preds = %2321
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %356) #6
  br label %2326

2326:                                             ; preds = %2325, %2321
  %2327 = load i1, ptr %368, align 1
  br i1 %2327, label %2328, label %2329

2328:                                             ; preds = %2326
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %363) #6
  br label %2329

2329:                                             ; preds = %2328, %2326
  %2330 = load i1, ptr %367, align 1
  br i1 %2330, label %2331, label %2332

2331:                                             ; preds = %2329
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %365) #6
  br label %2332

2332:                                             ; preds = %2331, %2329
  %2333 = load i1, ptr %366, align 1
  br i1 %2333, label %2334, label %2335

2334:                                             ; preds = %2332
  call void @llvm.lifetime.end.p0(i64 1, ptr %365) #6
  br label %2335

2335:                                             ; preds = %2334, %2332
  %2336 = load i1, ptr %364, align 1
  br i1 %2336, label %2337, label %2338

2337:                                             ; preds = %2335
  call void @llvm.lifetime.end.p0(i64 32, ptr %363) #6
  br label %2338

2338:                                             ; preds = %2337, %2335
  %2339 = load i1, ptr %362, align 1
  br i1 %2339, label %2340, label %2341

2340:                                             ; preds = %2338
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %357) #6
  br label %2341

2341:                                             ; preds = %2340, %2338
  %2342 = load i1, ptr %361, align 1
  br i1 %2342, label %2343, label %2344

2343:                                             ; preds = %2341
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %359) #6
  br label %2344

2344:                                             ; preds = %2343, %2341
  %2345 = load i1, ptr %360, align 1
  br i1 %2345, label %2346, label %2347

2346:                                             ; preds = %2344
  call void @llvm.lifetime.end.p0(i64 1, ptr %359) #6
  br label %2347

2347:                                             ; preds = %2346, %2344
  %2348 = load i1, ptr %358, align 1
  br i1 %2348, label %2349, label %2350

2349:                                             ; preds = %2347
  call void @llvm.lifetime.end.p0(i64 32, ptr %357) #6
  br label %2350

2350:                                             ; preds = %2349, %2347
  %2351 = load i1, ptr %355, align 1
  br i1 %2351, label %2352, label %2353

2352:                                             ; preds = %2350
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %317) #6
  br label %2353

2353:                                             ; preds = %2352, %2350
  %2354 = load i1, ptr %354, align 1
  br i1 %2354, label %2355, label %2356

2355:                                             ; preds = %2353
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %351) #6
  br label %2356

2356:                                             ; preds = %2355, %2353
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #6
  %2357 = load i1, ptr %352, align 1
  br i1 %2357, label %2358, label %2359

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

2359:                                             ; preds = %2358, %2356
  %2360 = load i1, ptr %350, align 1
  br i1 %2360, label %2361, label %2362

2361:                                             ; preds = %2359
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %318) #6
  br label %2362

2362:                                             ; preds = %2361, %2359
  %2363 = load i1, ptr %349, align 1
  br i1 %2363, label %2364, label %2365

2364:                                             ; preds = %2362
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %320) #6
  br label %2365

2365:                                             ; preds = %2364, %2362
  %2366 = load i1, ptr %348, align 1
  br i1 %2366, label %2367, label %2368

2367:                                             ; preds = %2365
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %343) #6
  br label %2368

2368:                                             ; preds = %2367, %2365
  %2369 = load i1, ptr %347, align 1
  br i1 %2369, label %2370, label %2371

2370:                                             ; preds = %2368
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %345) #6
  br label %2371

2371:                                             ; preds = %2370, %2368
  %2372 = load i1, ptr %346, align 1
  br i1 %2372, label %2373, label %2374

2373:                                             ; preds = %2371
  call void @llvm.lifetime.end.p0(i64 1, ptr %345) #6
  br label %2374

2374:                                             ; preds = %2373, %2371
  %2375 = load i1, ptr %344, align 1
  br i1 %2375, label %2376, label %2377

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

2377:                                             ; preds = %2376, %2374
  %2378 = load i1, ptr %342, align 1
  br i1 %2378, label %2379, label %2380

2379:                                             ; preds = %2377
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %322) #6
  br label %2380

2380:                                             ; preds = %2379, %2377
  %2381 = load i1, ptr %341, align 1
  br i1 %2381, label %2382, label %2383

2382:                                             ; preds = %2380
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %324) #6
  br label %2383

2383:                                             ; preds = %2382, %2380
  %2384 = load i1, ptr %340, align 1
  br i1 %2384, label %2385, label %2386

2385:                                             ; preds = %2383
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %335) #6
  br label %2386

2386:                                             ; preds = %2385, %2383
  %2387 = load i1, ptr %339, align 1
  br i1 %2387, label %2388, label %2389

2388:                                             ; preds = %2386
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %337) #6
  br label %2389

2389:                                             ; preds = %2388, %2386
  %2390 = load i1, ptr %338, align 1
  br i1 %2390, label %2391, label %2392

2391:                                             ; preds = %2389
  call void @llvm.lifetime.end.p0(i64 1, ptr %337) #6
  br label %2392

2392:                                             ; preds = %2391, %2389
  %2393 = load i1, ptr %336, align 1
  br i1 %2393, label %2394, label %2395

2394:                                             ; preds = %2392
  call void @llvm.lifetime.end.p0(i64 32, ptr %335) #6
  br label %2395

2395:                                             ; preds = %2394, %2392
  %2396 = load i1, ptr %334, align 1
  br i1 %2396, label %2397, label %2398

2397:                                             ; preds = %2395
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %326) #6
  br label %2398

2398:                                             ; preds = %2397, %2395
  %2399 = load i1, ptr %333, align 1
  br i1 %2399, label %2400, label %2401

2400:                                             ; preds = %2398
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %328) #6
  br label %2401

2401:                                             ; preds = %2400, %2398
  %2402 = load i1, ptr %332, align 1
  br i1 %2402, label %2403, label %2404

2403:                                             ; preds = %2401
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %330) #6
  br label %2404

2404:                                             ; preds = %2403, %2401
  %2405 = load i1, ptr %331, align 1
  br i1 %2405, label %2406, label %2407

2406:                                             ; preds = %2404
  call void @llvm.lifetime.end.p0(i64 1, ptr %330) #6
  br label %2407

2407:                                             ; preds = %2406, %2404
  %2408 = load i1, ptr %329, align 1
  br i1 %2408, label %2409, label %2410

2409:                                             ; preds = %2407
  call void @llvm.lifetime.end.p0(i64 32, ptr %328) #6
  br label %2410

2410:                                             ; preds = %2409, %2407
  %2411 = load i1, ptr %327, align 1
  br i1 %2411, label %2412, label %2413

2412:                                             ; preds = %2410
  call void @llvm.lifetime.end.p0(i64 32, ptr %326) #6
  br label %2413

2413:                                             ; preds = %2412, %2410
  %2414 = load i1, ptr %325, align 1
  br i1 %2414, label %2415, label %2416

2415:                                             ; preds = %2413
  call void @llvm.lifetime.end.p0(i64 32, ptr %324) #6
  br label %2416

2416:                                             ; preds = %2415, %2413
  %2417 = load i1, ptr %323, align 1
  br i1 %2417, label %2418, label %2419

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

2419:                                             ; preds = %2418, %2416
  %2420 = load i1, ptr %321, align 1
  br i1 %2420, label %2421, label %2422

2421:                                             ; preds = %2419
  call void @llvm.lifetime.end.p0(i64 32, ptr %320) #6
  br label %2422

2422:                                             ; preds = %2421, %2419
  %2423 = load i1, ptr %319, align 1
  br i1 %2423, label %2424, label %2425

2424:                                             ; preds = %2422
  call void @llvm.lifetime.end.p0(i64 32, ptr %318) #6
  br label %2425

2425:                                             ; preds = %2424, %2422
  call void @llvm.lifetime.start.p0(i64 8, ptr %370) #6
  store double 0.000000e+00, ptr %370, align 8, !tbaa !9
  %2426 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %316, ptr noundef nonnull align 8 dereferenceable(8) %370)
  %2427 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %2426, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %2428 = load double, ptr %2427, align 8, !tbaa !9
  %2429 = load ptr, ptr %12, align 8, !tbaa !5
  store double %2428, ptr %2429, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %370) #6
  %2430 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %2431 = trunc i8 %2430 to i1
  br i1 %2431, label %2432, label %2624

2432:                                             ; preds = %2425
  %2433 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.20)
  %2434 = load double, ptr %13, align 8, !tbaa !9
  %2435 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %2433, double noundef %2434)
  %2436 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2435, ptr noundef @.str.21)
  %2437 = getelementptr inbounds %class.Apex, ptr %485, i32 0, i32 7
  %2438 = load double, ptr %2437, align 8, !tbaa !29
  %2439 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %2436, double noundef %2438)
  %2440 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2439, ptr noundef @.str.21)
  %2441 = load ptr, ptr %11, align 8, !tbaa !5
  %2442 = load double, ptr %2441, align 8, !tbaa !9
  %2443 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %2440, double noundef %2442)
  %2444 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2443, ptr noundef @.str.22)
  %2445 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %2446 = load double, ptr %2445, align 8, !tbaa !19
  %2447 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %2444, double noundef %2446)
  %2448 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2447, ptr noundef @.str.21)
  %2449 = load ptr, ptr %12, align 8, !tbaa !5
  %2450 = load double, ptr %2449, align 8, !tbaa !9
  %2451 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %2448, double noundef %2450)
  %2452 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2451, ptr noundef @.str.23)
  br label %2624

2453:                                             ; preds = %2305
  %2454 = landingpad { ptr, i32 }
          cleanup
  %2455 = extractvalue { ptr, i32 } %2454, 0
  store ptr %2455, ptr %41, align 8
  %2456 = extractvalue { ptr, i32 } %2454, 1
  store i32 %2456, ptr %42, align 4
  br label %2599

2457:                                             ; preds = %2306
  %2458 = landingpad { ptr, i32 }
          cleanup
  %2459 = extractvalue { ptr, i32 } %2458, 0
  store ptr %2459, ptr %41, align 8
  %2460 = extractvalue { ptr, i32 } %2458, 1
  store i32 %2460, ptr %42, align 4
  br label %2595

2461:                                             ; preds = %2307
  %2462 = landingpad { ptr, i32 }
          cleanup
  %2463 = extractvalue { ptr, i32 } %2462, 0
  store ptr %2463, ptr %41, align 8
  %2464 = extractvalue { ptr, i32 } %2462, 1
  store i32 %2464, ptr %42, align 4
  br label %2582

2465:                                             ; preds = %2308
  %2466 = landingpad { ptr, i32 }
          cleanup
  %2467 = extractvalue { ptr, i32 } %2466, 0
  store ptr %2467, ptr %41, align 8
  %2468 = extractvalue { ptr, i32 } %2466, 1
  store i32 %2468, ptr %42, align 4
  br label %2578

2469:                                             ; preds = %2309
  %2470 = landingpad { ptr, i32 }
          cleanup
  %2471 = extractvalue { ptr, i32 } %2470, 0
  store ptr %2471, ptr %41, align 8
  %2472 = extractvalue { ptr, i32 } %2470, 1
  store i32 %2472, ptr %42, align 4
  br label %2574

2473:                                             ; preds = %2310
  %2474 = landingpad { ptr, i32 }
          cleanup
  %2475 = extractvalue { ptr, i32 } %2474, 0
  store ptr %2475, ptr %41, align 8
  %2476 = extractvalue { ptr, i32 } %2474, 1
  store i32 %2476, ptr %42, align 4
  br label %2561

2477:                                             ; preds = %2311
  %2478 = landingpad { ptr, i32 }
          cleanup
  %2479 = extractvalue { ptr, i32 } %2478, 0
  store ptr %2479, ptr %41, align 8
  %2480 = extractvalue { ptr, i32 } %2478, 1
  store i32 %2480, ptr %42, align 4
  br label %2557

2481:                                             ; preds = %2312
  %2482 = landingpad { ptr, i32 }
          cleanup
  %2483 = extractvalue { ptr, i32 } %2482, 0
  store ptr %2483, ptr %41, align 8
  %2484 = extractvalue { ptr, i32 } %2482, 1
  store i32 %2484, ptr %42, align 4
  br label %2553

2485:                                             ; preds = %2313
  %2486 = landingpad { ptr, i32 }
          cleanup
  %2487 = extractvalue { ptr, i32 } %2486, 0
  store ptr %2487, ptr %41, align 8
  %2488 = extractvalue { ptr, i32 } %2486, 1
  store i32 %2488, ptr %42, align 4
  br label %2546

2489:                                             ; preds = %2314
  %2490 = landingpad { ptr, i32 }
          cleanup
  %2491 = extractvalue { ptr, i32 } %2490, 0
  store ptr %2491, ptr %41, align 8
  %2492 = extractvalue { ptr, i32 } %2490, 1
  store i32 %2492, ptr %42, align 4
  br label %2542

2493:                                             ; preds = %2315
  %2494 = landingpad { ptr, i32 }
          cleanup
  %2495 = extractvalue { ptr, i32 } %2494, 0
  store ptr %2495, ptr %41, align 8
  %2496 = extractvalue { ptr, i32 } %2494, 1
  store i32 %2496, ptr %42, align 4
  br label %2529

2497:                                             ; preds = %2316
  %2498 = landingpad { ptr, i32 }
          cleanup
  %2499 = extractvalue { ptr, i32 } %2498, 0
  store ptr %2499, ptr %41, align 8
  %2500 = extractvalue { ptr, i32 } %2498, 1
  store i32 %2500, ptr %42, align 4
  br label %2516

2501:                                             ; preds = %2317
  %2502 = landingpad { ptr, i32 }
          cleanup
  %2503 = extractvalue { ptr, i32 } %2502, 0
  store ptr %2503, ptr %41, align 8
  %2504 = extractvalue { ptr, i32 } %2502, 1
  store i32 %2504, ptr %42, align 4
  br label %2512

2505:                                             ; preds = %2318
  %2506 = landingpad { ptr, i32 }
          cleanup
  %2507 = extractvalue { ptr, i32 } %2506, 0
  store ptr %2507, ptr %41, align 8
  %2508 = extractvalue { ptr, i32 } %2506, 1
  store i32 %2508, ptr %42, align 4
  %2509 = load i1, ptr %369, align 1
  br i1 %2509, label %2510, label %2511

2510:                                             ; preds = %2505
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %356) #6
  br label %2511

2511:                                             ; preds = %2510, %2505
  br label %2512

2512:                                             ; preds = %2511, %2501
  %2513 = load i1, ptr %368, align 1
  br i1 %2513, label %2514, label %2515

2514:                                             ; preds = %2512
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %363) #6
  br label %2515

2515:                                             ; preds = %2514, %2512
  br label %2516

2516:                                             ; preds = %2515, %2497
  %2517 = load i1, ptr %367, align 1
  br i1 %2517, label %2518, label %2519

2518:                                             ; preds = %2516
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %365) #6
  br label %2519

2519:                                             ; preds = %2518, %2516
  %2520 = load i1, ptr %366, align 1
  br i1 %2520, label %2521, label %2522

2521:                                             ; preds = %2519
  call void @llvm.lifetime.end.p0(i64 1, ptr %365) #6
  br label %2522

2522:                                             ; preds = %2521, %2519
  %2523 = load i1, ptr %364, align 1
  br i1 %2523, label %2524, label %2525

2524:                                             ; preds = %2522
  call void @llvm.lifetime.end.p0(i64 32, ptr %363) #6
  br label %2525

2525:                                             ; preds = %2524, %2522
  %2526 = load i1, ptr %362, align 1
  br i1 %2526, label %2527, label %2528

2527:                                             ; preds = %2525
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %357) #6
  br label %2528

2528:                                             ; preds = %2527, %2525
  br label %2529

2529:                                             ; preds = %2528, %2493
  %2530 = load i1, ptr %361, align 1
  br i1 %2530, label %2531, label %2532

2531:                                             ; preds = %2529
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %359) #6
  br label %2532

2532:                                             ; preds = %2531, %2529
  %2533 = load i1, ptr %360, align 1
  br i1 %2533, label %2534, label %2535

2534:                                             ; preds = %2532
  call void @llvm.lifetime.end.p0(i64 1, ptr %359) #6
  br label %2535

2535:                                             ; preds = %2534, %2532
  %2536 = load i1, ptr %358, align 1
  br i1 %2536, label %2537, label %2538

2537:                                             ; preds = %2535
  call void @llvm.lifetime.end.p0(i64 32, ptr %357) #6
  br label %2538

2538:                                             ; preds = %2537, %2535
  %2539 = load i1, ptr %355, align 1
  br i1 %2539, label %2540, label %2541

2540:                                             ; preds = %2538
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %317) #6
  br label %2541

2541:                                             ; preds = %2540, %2538
  br label %2542

2542:                                             ; preds = %2541, %2489
  %2543 = load i1, ptr %354, align 1
  br i1 %2543, label %2544, label %2545

2544:                                             ; preds = %2542
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %351) #6
  br label %2545

2545:                                             ; preds = %2544, %2542
  br label %2546

2546:                                             ; preds = %2545, %2485
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #6
  %2547 = load i1, ptr %352, align 1
  br i1 %2547, label %2548, label %2549

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

2549:                                             ; preds = %2548, %2546
  %2550 = load i1, ptr %350, align 1
  br i1 %2550, label %2551, label %2552

2551:                                             ; preds = %2549
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %318) #6
  br label %2552

2552:                                             ; preds = %2551, %2549
  br label %2553

2553:                                             ; preds = %2552, %2481
  %2554 = load i1, ptr %349, align 1
  br i1 %2554, label %2555, label %2556

2555:                                             ; preds = %2553
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %320) #6
  br label %2556

2556:                                             ; preds = %2555, %2553
  br label %2557

2557:                                             ; preds = %2556, %2477
  %2558 = load i1, ptr %348, align 1
  br i1 %2558, label %2559, label %2560

2559:                                             ; preds = %2557
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %343) #6
  br label %2560

2560:                                             ; preds = %2559, %2557
  br label %2561

2561:                                             ; preds = %2560, %2473
  %2562 = load i1, ptr %347, align 1
  br i1 %2562, label %2563, label %2564

2563:                                             ; preds = %2561
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %345) #6
  br label %2564

2564:                                             ; preds = %2563, %2561
  %2565 = load i1, ptr %346, align 1
  br i1 %2565, label %2566, label %2567

2566:                                             ; preds = %2564
  call void @llvm.lifetime.end.p0(i64 1, ptr %345) #6
  br label %2567

2567:                                             ; preds = %2566, %2564
  %2568 = load i1, ptr %344, align 1
  br i1 %2568, label %2569, label %2570

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

2570:                                             ; preds = %2569, %2567
  %2571 = load i1, ptr %342, align 1
  br i1 %2571, label %2572, label %2573

2572:                                             ; preds = %2570
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %322) #6
  br label %2573

2573:                                             ; preds = %2572, %2570
  br label %2574

2574:                                             ; preds = %2573, %2469
  %2575 = load i1, ptr %341, align 1
  br i1 %2575, label %2576, label %2577

2576:                                             ; preds = %2574
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %324) #6
  br label %2577

2577:                                             ; preds = %2576, %2574
  br label %2578

2578:                                             ; preds = %2577, %2465
  %2579 = load i1, ptr %340, align 1
  br i1 %2579, label %2580, label %2581

2580:                                             ; preds = %2578
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %335) #6
  br label %2581

2581:                                             ; preds = %2580, %2578
  br label %2582

2582:                                             ; preds = %2581, %2461
  %2583 = load i1, ptr %339, align 1
  br i1 %2583, label %2584, label %2585

2584:                                             ; preds = %2582
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %337) #6
  br label %2585

2585:                                             ; preds = %2584, %2582
  %2586 = load i1, ptr %338, align 1
  br i1 %2586, label %2587, label %2588

2587:                                             ; preds = %2585
  call void @llvm.lifetime.end.p0(i64 1, ptr %337) #6
  br label %2588

2588:                                             ; preds = %2587, %2585
  %2589 = load i1, ptr %336, align 1
  br i1 %2589, label %2590, label %2591

2590:                                             ; preds = %2588
  call void @llvm.lifetime.end.p0(i64 32, ptr %335) #6
  br label %2591

2591:                                             ; preds = %2590, %2588
  %2592 = load i1, ptr %334, align 1
  br i1 %2592, label %2593, label %2594

2593:                                             ; preds = %2591
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %326) #6
  br label %2594

2594:                                             ; preds = %2593, %2591
  br label %2595

2595:                                             ; preds = %2594, %2457
  %2596 = load i1, ptr %333, align 1
  br i1 %2596, label %2597, label %2598

2597:                                             ; preds = %2595
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %328) #6
  br label %2598

2598:                                             ; preds = %2597, %2595
  br label %2599

2599:                                             ; preds = %2598, %2453
  %2600 = load i1, ptr %332, align 1
  br i1 %2600, label %2601, label %2602

2601:                                             ; preds = %2599
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %330) #6
  br label %2602

2602:                                             ; preds = %2601, %2599
  %2603 = load i1, ptr %331, align 1
  br i1 %2603, label %2604, label %2605

2604:                                             ; preds = %2602
  call void @llvm.lifetime.end.p0(i64 1, ptr %330) #6
  br label %2605

2605:                                             ; preds = %2604, %2602
  %2606 = load i1, ptr %329, align 1
  br i1 %2606, label %2607, label %2608

2607:                                             ; preds = %2605
  call void @llvm.lifetime.end.p0(i64 32, ptr %328) #6
  br label %2608

2608:                                             ; preds = %2607, %2605
  %2609 = load i1, ptr %327, align 1
  br i1 %2609, label %2610, label %2611

2610:                                             ; preds = %2608
  call void @llvm.lifetime.end.p0(i64 32, ptr %326) #6
  br label %2611

2611:                                             ; preds = %2610, %2608
  %2612 = load i1, ptr %325, align 1
  br i1 %2612, label %2613, label %2614

2613:                                             ; preds = %2611
  call void @llvm.lifetime.end.p0(i64 32, ptr %324) #6
  br label %2614

2614:                                             ; preds = %2613, %2611
  %2615 = load i1, ptr %323, align 1
  br i1 %2615, label %2616, label %2617

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

2617:                                             ; preds = %2616, %2614
  %2618 = load i1, ptr %321, align 1
  br i1 %2618, label %2619, label %2620

2619:                                             ; preds = %2617
  call void @llvm.lifetime.end.p0(i64 32, ptr %320) #6
  br label %2620

2620:                                             ; preds = %2619, %2617
  %2621 = load i1, ptr %319, align 1
  br i1 %2621, label %2622, label %2623

2622:                                             ; preds = %2620
  call void @llvm.lifetime.end.p0(i64 32, ptr %318) #6
  br label %2623

2623:                                             ; preds = %2622, %2620
  call void @llvm.lifetime.end.p0(i64 8, ptr %316) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #6
  br label %3360

2624:                                             ; preds = %2432, %2425
  %2625 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 2
  %2626 = load double, ptr %2625, align 8, !tbaa !19
  %2627 = load ptr, ptr %11, align 8, !tbaa !5
  store double %2626, ptr %2627, align 8, !tbaa !9
  %2628 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %2629 = trunc i8 %2628 to i1
  br i1 %2629, label %2630, label %2642

2630:                                             ; preds = %2624
  %2631 = load ptr, ptr %11, align 8, !tbaa !5
  %2632 = load double, ptr %2631, align 8, !tbaa !9
  %2633 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 1
  %2634 = load ptr, ptr %2633, align 8, !tbaa !24
  %2635 = call noundef double @_ZNK9ElemModel3RRREv(ptr noundef nonnull align 8 dereferenceable(152) %2634)
  %2636 = fdiv double %2632, %2635
  %2637 = load double, ptr %14, align 8, !tbaa !9
  %2638 = call double @tan(double noundef %2637) #6
  %2639 = fmul double %2636, %2638
  %2640 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, double noundef %2639)
  %2641 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2640, ptr noundef @.str.24)
  br label %2642

2642:                                             ; preds = %2630, %2624
  %2643 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %2644 = trunc i8 %2643 to i1
  br i1 %2644, label %2645, label %2647

2645:                                             ; preds = %2642
  %2646 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.25)
  br label %2647

2647:                                             ; preds = %2645, %2642
  call void @llvm.lifetime.end.p0(i64 8, ptr %316) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #6
  br label %3000

2648:                                             ; preds = %2257
  %2649 = load ptr, ptr %11, align 8, !tbaa !5
  %2650 = load double, ptr %2649, align 8, !tbaa !9
  %2651 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 4
  %2652 = load double, ptr %2651, align 8, !tbaa !31
  %2653 = fcmp olt double %2650, %2652
  br i1 %2653, label %2654, label %2999

2654:                                             ; preds = %2648
  call void @llvm.lifetime.start.p0(i64 8, ptr %371) #6
  %2655 = load double, ptr %13, align 8, !tbaa !9
  %2656 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 4
  %2657 = load double, ptr %2656, align 8, !tbaa !31
  %2658 = fmul double %2655, %2657
  %2659 = load double, ptr %14, align 8, !tbaa !9
  %2660 = call double @sin(double noundef %2659) #6
  %2661 = fmul double %2658, %2660
  %2662 = load double, ptr %15, align 8, !tbaa !9
  %2663 = fdiv double %2661, %2662
  store double %2663, ptr %371, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %372) #6
  store double 0x3FEFFFFDE7210BE9, ptr %372, align 8, !tbaa !9
  %2664 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %371, ptr noundef nonnull align 8 dereferenceable(8) %372)
  %2665 = load double, ptr %2664, align 8, !tbaa !9
  store double %2665, ptr %371, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %372) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %373) #6
  store double 0xBFEFFFFDE7210BE9, ptr %373, align 8, !tbaa !9
  %2666 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %371, ptr noundef nonnull align 8 dereferenceable(8) %373)
  %2667 = load double, ptr %2666, align 8, !tbaa !9
  store double %2667, ptr %371, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %373) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %374) #6
  %2668 = load double, ptr %371, align 8, !tbaa !9
  %2669 = call double @acos(double noundef %2668) #6
  %2670 = load double, ptr %14, align 8, !tbaa !9
  %2671 = fsub double %2669, %2670
  store double %2671, ptr %374, align 8, !tbaa !9
  %2672 = load double, ptr %374, align 8, !tbaa !9
  %2673 = fadd double %2672, 0x3E7AD7F29ABCAF48
  %2674 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 1
  %2675 = load ptr, ptr %2674, align 8, !tbaa !24
  %2676 = call noundef double @_ZNK8VoidElem16minInitRecCntAngEv(ptr noundef nonnull align 8 dereferenceable(184) %2675)
  %2677 = fcmp oge double %2673, %2676
  store i1 false, ptr %377, align 1
  store i1 false, ptr %379, align 1
  store i1 false, ptr %381, align 1
  store i1 false, ptr %383, align 1
  store i1 false, ptr %385, align 1
  store i1 false, ptr %387, align 1
  store i1 false, ptr %389, align 1
  store i1 false, ptr %390, align 1
  store i1 false, ptr %391, align 1
  store i1 false, ptr %392, align 1
  store i1 false, ptr %394, align 1
  store i1 false, ptr %396, align 1
  store i1 false, ptr %397, align 1
  store i1 false, ptr %398, align 1
  store i1 false, ptr %399, align 1
  store i1 false, ptr %400, align 1
  store i1 false, ptr %402, align 1
  store i1 false, ptr %404, align 1
  store i1 false, ptr %405, align 1
  store i1 false, ptr %406, align 1
  store i1 false, ptr %407, align 1
  store i1 false, ptr %408, align 1
  store i1 false, ptr %410, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #6
  store i1 false, ptr %412, align 1
  store i1 false, ptr %413, align 1
  store i1 false, ptr %416, align 1
  store i1 false, ptr %418, align 1
  store i1 false, ptr %419, align 1
  store i1 false, ptr %420, align 1
  store i1 false, ptr %422, align 1
  store i1 false, ptr %424, align 1
  store i1 false, ptr %425, align 1
  store i1 false, ptr %426, align 1
  store i1 false, ptr %427, align 1
  br i1 %2677, label %2678, label %2683

2678:                                             ; preds = %2654
  %2679 = load double, ptr %374, align 8, !tbaa !9
  %2680 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %2681 = fadd double %2680, 0x3E7AD7F29ABCAF48
  %2682 = fcmp ole double %2679, %2681
  br i1 %2682, label %2699, label %2683

2683:                                             ; preds = %2678, %2654
  call void @llvm.lifetime.start.p0(i64 32, ptr %376) #6
  store i1 true, ptr %377, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %378) #6
  store i1 true, ptr %379, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %380) #6
  store i1 true, ptr %381, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %382) #6
  store i1 true, ptr %383, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %384) #6
  store i1 true, ptr %385, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %386) #6
  store i1 true, ptr %387, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %388) #6
  store i1 true, ptr %389, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %388) #6
  store i1 true, ptr %390, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %386, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %388)
          to label %2684 unwind label %2819

2684:                                             ; preds = %2683
  store i1 true, ptr %391, 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 %384, ptr noundef nonnull align 8 dereferenceable(32) %386, ptr noundef @.str.2)
          to label %2685 unwind label %2823

2685:                                             ; preds = %2684
  store i1 true, ptr %392, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %393) #6
  store i1 true, ptr %394, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %395) #6
  store i1 true, ptr %396, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %395) #6
  store i1 true, ptr %397, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %393, ptr noundef @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %395)
          to label %2686 unwind label %2827

2686:                                             ; preds = %2685
  store i1 true, ptr %398, 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 %382, ptr noundef nonnull align 8 dereferenceable(32) %384, ptr noundef nonnull align 8 dereferenceable(32) %393)
          to label %2687 unwind label %2831

2687:                                             ; preds = %2686
  store i1 true, ptr %399, 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 %380, ptr noundef nonnull align 8 dereferenceable(32) %382, ptr noundef @.str.3)
          to label %2688 unwind label %2835

2688:                                             ; preds = %2687
  store i1 true, ptr %400, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %401) #6
  store i1 true, ptr %402, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %403) #6
  store i1 true, ptr %404, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %403) #6
  store i1 true, ptr %405, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %401, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %403)
          to label %2689 unwind label %2839

2689:                                             ; preds = %2688
  store i1 true, ptr %406, 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 %378, ptr noundef nonnull align 8 dereferenceable(32) %380, ptr noundef nonnull align 8 dereferenceable(32) %401)
          to label %2690 unwind label %2843

2690:                                             ; preds = %2689
  store i1 true, ptr %407, 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 %376, ptr noundef nonnull align 8 dereferenceable(32) %378, ptr noundef @.str.5)
          to label %2691 unwind label %2847

2691:                                             ; preds = %2690
  store i1 true, ptr %408, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %409) #6
  store i1 true, ptr %410, align 1
  store i32 231, ptr %411, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %409, ptr noundef nonnull align 4 dereferenceable(4) %411)
          to label %2692 unwind label %2851

2692:                                             ; preds = %2691
  store i1 true, ptr %412, 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 %375, ptr noundef nonnull align 8 dereferenceable(32) %376, ptr noundef nonnull align 8 dereferenceable(32) %409)
          to label %2693 unwind label %2855

2693:                                             ; preds = %2692
  store i1 true, ptr %413, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %415) #6
  store i1 true, ptr %416, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %417) #6
  store i1 true, ptr %418, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %417) #6
  store i1 true, ptr %419, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %415, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %417)
          to label %2694 unwind label %2859

2694:                                             ; preds = %2693
  store i1 true, ptr %420, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %421) #6
  store i1 true, ptr %422, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %423) #6
  store i1 true, ptr %424, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %423) #6
  store i1 true, ptr %425, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %421, ptr noundef @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %423)
          to label %2695 unwind label %2863

2695:                                             ; preds = %2694
  store i1 true, ptr %426, 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 %414, ptr noundef nonnull align 8 dereferenceable(32) %415, ptr noundef nonnull align 8 dereferenceable(32) %421)
          to label %2696 unwind label %2867

2696:                                             ; preds = %2695
  store i1 true, ptr %427, align 1
  %2697 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %375, ptr noundef %414, i32 noundef 0)
          to label %2698 unwind label %2871

2698:                                             ; preds = %2696
  br label %2699

2699:                                             ; preds = %2698, %2678
  %2700 = phi i1 [ true, %2678 ], [ %2697, %2698 ]
  %2701 = xor i1 %2700, true
  %2702 = load i1, ptr %427, align 1
  br i1 %2702, label %2703, label %2704

2703:                                             ; preds = %2699
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %414) #6
  br label %2704

2704:                                             ; preds = %2703, %2699
  %2705 = load i1, ptr %426, align 1
  br i1 %2705, label %2706, label %2707

2706:                                             ; preds = %2704
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %421) #6
  br label %2707

2707:                                             ; preds = %2706, %2704
  %2708 = load i1, ptr %425, align 1
  br i1 %2708, label %2709, label %2710

2709:                                             ; preds = %2707
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %423) #6
  br label %2710

2710:                                             ; preds = %2709, %2707
  %2711 = load i1, ptr %424, align 1
  br i1 %2711, label %2712, label %2713

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

2713:                                             ; preds = %2712, %2710
  %2714 = load i1, ptr %422, align 1
  br i1 %2714, label %2715, label %2716

2715:                                             ; preds = %2713
  call void @llvm.lifetime.end.p0(i64 32, ptr %421) #6
  br label %2716

2716:                                             ; preds = %2715, %2713
  %2717 = load i1, ptr %420, align 1
  br i1 %2717, label %2718, label %2719

2718:                                             ; preds = %2716
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %415) #6
  br label %2719

2719:                                             ; preds = %2718, %2716
  %2720 = load i1, ptr %419, align 1
  br i1 %2720, label %2721, label %2722

2721:                                             ; preds = %2719
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %417) #6
  br label %2722

2722:                                             ; preds = %2721, %2719
  %2723 = load i1, ptr %418, align 1
  br i1 %2723, label %2724, label %2725

2724:                                             ; preds = %2722
  call void @llvm.lifetime.end.p0(i64 1, ptr %417) #6
  br label %2725

2725:                                             ; preds = %2724, %2722
  %2726 = load i1, ptr %416, align 1
  br i1 %2726, label %2727, label %2728

2727:                                             ; preds = %2725
  call void @llvm.lifetime.end.p0(i64 32, ptr %415) #6
  br label %2728

2728:                                             ; preds = %2727, %2725
  %2729 = load i1, ptr %413, align 1
  br i1 %2729, label %2730, label %2731

2730:                                             ; preds = %2728
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %375) #6
  br label %2731

2731:                                             ; preds = %2730, %2728
  %2732 = load i1, ptr %412, align 1
  br i1 %2732, label %2733, label %2734

2733:                                             ; preds = %2731
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %409) #6
  br label %2734

2734:                                             ; preds = %2733, %2731
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #6
  %2735 = load i1, ptr %410, align 1
  br i1 %2735, label %2736, label %2737

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

2737:                                             ; preds = %2736, %2734
  %2738 = load i1, ptr %408, align 1
  br i1 %2738, label %2739, label %2740

2739:                                             ; preds = %2737
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %376) #6
  br label %2740

2740:                                             ; preds = %2739, %2737
  %2741 = load i1, ptr %407, align 1
  br i1 %2741, label %2742, label %2743

2742:                                             ; preds = %2740
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %378) #6
  br label %2743

2743:                                             ; preds = %2742, %2740
  %2744 = load i1, ptr %406, align 1
  br i1 %2744, label %2745, label %2746

2745:                                             ; preds = %2743
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %401) #6
  br label %2746

2746:                                             ; preds = %2745, %2743
  %2747 = load i1, ptr %405, align 1
  br i1 %2747, label %2748, label %2749

2748:                                             ; preds = %2746
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %403) #6
  br label %2749

2749:                                             ; preds = %2748, %2746
  %2750 = load i1, ptr %404, align 1
  br i1 %2750, label %2751, label %2752

2751:                                             ; preds = %2749
  call void @llvm.lifetime.end.p0(i64 1, ptr %403) #6
  br label %2752

2752:                                             ; preds = %2751, %2749
  %2753 = load i1, ptr %402, align 1
  br i1 %2753, label %2754, label %2755

2754:                                             ; preds = %2752
  call void @llvm.lifetime.end.p0(i64 32, ptr %401) #6
  br label %2755

2755:                                             ; preds = %2754, %2752
  %2756 = load i1, ptr %400, align 1
  br i1 %2756, label %2757, label %2758

2757:                                             ; preds = %2755
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %380) #6
  br label %2758

2758:                                             ; preds = %2757, %2755
  %2759 = load i1, ptr %399, align 1
  br i1 %2759, label %2760, label %2761

2760:                                             ; preds = %2758
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %382) #6
  br label %2761

2761:                                             ; preds = %2760, %2758
  %2762 = load i1, ptr %398, align 1
  br i1 %2762, label %2763, label %2764

2763:                                             ; preds = %2761
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %393) #6
  br label %2764

2764:                                             ; preds = %2763, %2761
  %2765 = load i1, ptr %397, align 1
  br i1 %2765, label %2766, label %2767

2766:                                             ; preds = %2764
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %395) #6
  br label %2767

2767:                                             ; preds = %2766, %2764
  %2768 = load i1, ptr %396, align 1
  br i1 %2768, label %2769, label %2770

2769:                                             ; preds = %2767
  call void @llvm.lifetime.end.p0(i64 1, ptr %395) #6
  br label %2770

2770:                                             ; preds = %2769, %2767
  %2771 = load i1, ptr %394, align 1
  br i1 %2771, label %2772, label %2773

2772:                                             ; preds = %2770
  call void @llvm.lifetime.end.p0(i64 32, ptr %393) #6
  br label %2773

2773:                                             ; preds = %2772, %2770
  %2774 = load i1, ptr %392, align 1
  br i1 %2774, label %2775, label %2776

2775:                                             ; preds = %2773
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %384) #6
  br label %2776

2776:                                             ; preds = %2775, %2773
  %2777 = load i1, ptr %391, align 1
  br i1 %2777, label %2778, label %2779

2778:                                             ; preds = %2776
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %386) #6
  br label %2779

2779:                                             ; preds = %2778, %2776
  %2780 = load i1, ptr %390, align 1
  br i1 %2780, label %2781, label %2782

2781:                                             ; preds = %2779
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %388) #6
  br label %2782

2782:                                             ; preds = %2781, %2779
  %2783 = load i1, ptr %389, align 1
  br i1 %2783, label %2784, label %2785

2784:                                             ; preds = %2782
  call void @llvm.lifetime.end.p0(i64 1, ptr %388) #6
  br label %2785

2785:                                             ; preds = %2784, %2782
  %2786 = load i1, ptr %387, align 1
  br i1 %2786, label %2787, label %2788

2787:                                             ; preds = %2785
  call void @llvm.lifetime.end.p0(i64 32, ptr %386) #6
  br label %2788

2788:                                             ; preds = %2787, %2785
  %2789 = load i1, ptr %385, align 1
  br i1 %2789, label %2790, label %2791

2790:                                             ; preds = %2788
  call void @llvm.lifetime.end.p0(i64 32, ptr %384) #6
  br label %2791

2791:                                             ; preds = %2790, %2788
  %2792 = load i1, ptr %383, align 1
  br i1 %2792, label %2793, label %2794

2793:                                             ; preds = %2791
  call void @llvm.lifetime.end.p0(i64 32, ptr %382) #6
  br label %2794

2794:                                             ; preds = %2793, %2791
  %2795 = load i1, ptr %381, align 1
  br i1 %2795, label %2796, label %2797

2796:                                             ; preds = %2794
  call void @llvm.lifetime.end.p0(i64 32, ptr %380) #6
  br label %2797

2797:                                             ; preds = %2796, %2794
  %2798 = load i1, ptr %379, align 1
  br i1 %2798, label %2799, label %2800

2799:                                             ; preds = %2797
  call void @llvm.lifetime.end.p0(i64 32, ptr %378) #6
  br label %2800

2800:                                             ; preds = %2799, %2797
  %2801 = load i1, ptr %377, align 1
  br i1 %2801, label %2802, label %2803

2802:                                             ; preds = %2800
  call void @llvm.lifetime.end.p0(i64 32, ptr %376) #6
  br label %2803

2803:                                             ; preds = %2802, %2800
  call void @llvm.lifetime.start.p0(i64 8, ptr %428) #6
  store double 0.000000e+00, ptr %428, align 8, !tbaa !9
  %2804 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %374, ptr noundef nonnull align 8 dereferenceable(8) %428)
  %2805 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %2804, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %2806 = load double, ptr %2805, align 8, !tbaa !9
  %2807 = load ptr, ptr %12, align 8, !tbaa !5
  store double %2806, ptr %2807, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %428) #6
  %2808 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %2809 = trunc i8 %2808 to i1
  br i1 %2809, label %2810, label %2990

2810:                                             ; preds = %2803
  %2811 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
  %2812 = load double, ptr %13, align 8, !tbaa !9
  %2813 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %2811, double noundef %2812)
  %2814 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2813, ptr noundef @.str.21)
  %2815 = getelementptr inbounds %class.Apex, ptr %485, i32 0, i32 7
  %2816 = load double, ptr %2815, align 8, !tbaa !29
  %2817 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %2814, double noundef %2816)
  %2818 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2817, ptr noundef @.str.28)
  br label %2990

2819:                                             ; preds = %2683
  %2820 = landingpad { ptr, i32 }
          cleanup
  %2821 = extractvalue { ptr, i32 } %2820, 0
  store ptr %2821, ptr %41, align 8
  %2822 = extractvalue { ptr, i32 } %2820, 1
  store i32 %2822, ptr %42, align 4
  br label %2965

2823:                                             ; preds = %2684
  %2824 = landingpad { ptr, i32 }
          cleanup
  %2825 = extractvalue { ptr, i32 } %2824, 0
  store ptr %2825, ptr %41, align 8
  %2826 = extractvalue { ptr, i32 } %2824, 1
  store i32 %2826, ptr %42, align 4
  br label %2961

2827:                                             ; preds = %2685
  %2828 = landingpad { ptr, i32 }
          cleanup
  %2829 = extractvalue { ptr, i32 } %2828, 0
  store ptr %2829, ptr %41, align 8
  %2830 = extractvalue { ptr, i32 } %2828, 1
  store i32 %2830, ptr %42, align 4
  br label %2948

2831:                                             ; preds = %2686
  %2832 = landingpad { ptr, i32 }
          cleanup
  %2833 = extractvalue { ptr, i32 } %2832, 0
  store ptr %2833, ptr %41, align 8
  %2834 = extractvalue { ptr, i32 } %2832, 1
  store i32 %2834, ptr %42, align 4
  br label %2944

2835:                                             ; preds = %2687
  %2836 = landingpad { ptr, i32 }
          cleanup
  %2837 = extractvalue { ptr, i32 } %2836, 0
  store ptr %2837, ptr %41, align 8
  %2838 = extractvalue { ptr, i32 } %2836, 1
  store i32 %2838, ptr %42, align 4
  br label %2940

2839:                                             ; preds = %2688
  %2840 = landingpad { ptr, i32 }
          cleanup
  %2841 = extractvalue { ptr, i32 } %2840, 0
  store ptr %2841, ptr %41, align 8
  %2842 = extractvalue { ptr, i32 } %2840, 1
  store i32 %2842, ptr %42, align 4
  br label %2927

2843:                                             ; preds = %2689
  %2844 = landingpad { ptr, i32 }
          cleanup
  %2845 = extractvalue { ptr, i32 } %2844, 0
  store ptr %2845, ptr %41, align 8
  %2846 = extractvalue { ptr, i32 } %2844, 1
  store i32 %2846, ptr %42, align 4
  br label %2923

2847:                                             ; preds = %2690
  %2848 = landingpad { ptr, i32 }
          cleanup
  %2849 = extractvalue { ptr, i32 } %2848, 0
  store ptr %2849, ptr %41, align 8
  %2850 = extractvalue { ptr, i32 } %2848, 1
  store i32 %2850, ptr %42, align 4
  br label %2919

2851:                                             ; preds = %2691
  %2852 = landingpad { ptr, i32 }
          cleanup
  %2853 = extractvalue { ptr, i32 } %2852, 0
  store ptr %2853, ptr %41, align 8
  %2854 = extractvalue { ptr, i32 } %2852, 1
  store i32 %2854, ptr %42, align 4
  br label %2912

2855:                                             ; preds = %2692
  %2856 = landingpad { ptr, i32 }
          cleanup
  %2857 = extractvalue { ptr, i32 } %2856, 0
  store ptr %2857, ptr %41, align 8
  %2858 = extractvalue { ptr, i32 } %2856, 1
  store i32 %2858, ptr %42, align 4
  br label %2908

2859:                                             ; preds = %2693
  %2860 = landingpad { ptr, i32 }
          cleanup
  %2861 = extractvalue { ptr, i32 } %2860, 0
  store ptr %2861, ptr %41, align 8
  %2862 = extractvalue { ptr, i32 } %2860, 1
  store i32 %2862, ptr %42, align 4
  br label %2895

2863:                                             ; preds = %2694
  %2864 = landingpad { ptr, i32 }
          cleanup
  %2865 = extractvalue { ptr, i32 } %2864, 0
  store ptr %2865, ptr %41, align 8
  %2866 = extractvalue { ptr, i32 } %2864, 1
  store i32 %2866, ptr %42, align 4
  br label %2882

2867:                                             ; preds = %2695
  %2868 = landingpad { ptr, i32 }
          cleanup
  %2869 = extractvalue { ptr, i32 } %2868, 0
  store ptr %2869, ptr %41, align 8
  %2870 = extractvalue { ptr, i32 } %2868, 1
  store i32 %2870, ptr %42, align 4
  br label %2878

2871:                                             ; preds = %2696
  %2872 = landingpad { ptr, i32 }
          cleanup
  %2873 = extractvalue { ptr, i32 } %2872, 0
  store ptr %2873, ptr %41, align 8
  %2874 = extractvalue { ptr, i32 } %2872, 1
  store i32 %2874, ptr %42, align 4
  %2875 = load i1, ptr %427, align 1
  br i1 %2875, label %2876, label %2877

2876:                                             ; preds = %2871
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %414) #6
  br label %2877

2877:                                             ; preds = %2876, %2871
  br label %2878

2878:                                             ; preds = %2877, %2867
  %2879 = load i1, ptr %426, align 1
  br i1 %2879, label %2880, label %2881

2880:                                             ; preds = %2878
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %421) #6
  br label %2881

2881:                                             ; preds = %2880, %2878
  br label %2882

2882:                                             ; preds = %2881, %2863
  %2883 = load i1, ptr %425, align 1
  br i1 %2883, label %2884, label %2885

2884:                                             ; preds = %2882
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %423) #6
  br label %2885

2885:                                             ; preds = %2884, %2882
  %2886 = load i1, ptr %424, align 1
  br i1 %2886, label %2887, label %2888

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

2888:                                             ; preds = %2887, %2885
  %2889 = load i1, ptr %422, align 1
  br i1 %2889, label %2890, label %2891

2890:                                             ; preds = %2888
  call void @llvm.lifetime.end.p0(i64 32, ptr %421) #6
  br label %2891

2891:                                             ; preds = %2890, %2888
  %2892 = load i1, ptr %420, align 1
  br i1 %2892, label %2893, label %2894

2893:                                             ; preds = %2891
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %415) #6
  br label %2894

2894:                                             ; preds = %2893, %2891
  br label %2895

2895:                                             ; preds = %2894, %2859
  %2896 = load i1, ptr %419, align 1
  br i1 %2896, label %2897, label %2898

2897:                                             ; preds = %2895
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %417) #6
  br label %2898

2898:                                             ; preds = %2897, %2895
  %2899 = load i1, ptr %418, align 1
  br i1 %2899, label %2900, label %2901

2900:                                             ; preds = %2898
  call void @llvm.lifetime.end.p0(i64 1, ptr %417) #6
  br label %2901

2901:                                             ; preds = %2900, %2898
  %2902 = load i1, ptr %416, align 1
  br i1 %2902, label %2903, label %2904

2903:                                             ; preds = %2901
  call void @llvm.lifetime.end.p0(i64 32, ptr %415) #6
  br label %2904

2904:                                             ; preds = %2903, %2901
  %2905 = load i1, ptr %413, align 1
  br i1 %2905, label %2906, label %2907

2906:                                             ; preds = %2904
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %375) #6
  br label %2907

2907:                                             ; preds = %2906, %2904
  br label %2908

2908:                                             ; preds = %2907, %2855
  %2909 = load i1, ptr %412, align 1
  br i1 %2909, label %2910, label %2911

2910:                                             ; preds = %2908
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %409) #6
  br label %2911

2911:                                             ; preds = %2910, %2908
  br label %2912

2912:                                             ; preds = %2911, %2851
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #6
  %2913 = load i1, ptr %410, align 1
  br i1 %2913, label %2914, label %2915

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

2915:                                             ; preds = %2914, %2912
  %2916 = load i1, ptr %408, align 1
  br i1 %2916, label %2917, label %2918

2917:                                             ; preds = %2915
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %376) #6
  br label %2918

2918:                                             ; preds = %2917, %2915
  br label %2919

2919:                                             ; preds = %2918, %2847
  %2920 = load i1, ptr %407, align 1
  br i1 %2920, label %2921, label %2922

2921:                                             ; preds = %2919
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %378) #6
  br label %2922

2922:                                             ; preds = %2921, %2919
  br label %2923

2923:                                             ; preds = %2922, %2843
  %2924 = load i1, ptr %406, align 1
  br i1 %2924, label %2925, label %2926

2925:                                             ; preds = %2923
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %401) #6
  br label %2926

2926:                                             ; preds = %2925, %2923
  br label %2927

2927:                                             ; preds = %2926, %2839
  %2928 = load i1, ptr %405, align 1
  br i1 %2928, label %2929, label %2930

2929:                                             ; preds = %2927
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %403) #6
  br label %2930

2930:                                             ; preds = %2929, %2927
  %2931 = load i1, ptr %404, align 1
  br i1 %2931, label %2932, label %2933

2932:                                             ; preds = %2930
  call void @llvm.lifetime.end.p0(i64 1, ptr %403) #6
  br label %2933

2933:                                             ; preds = %2932, %2930
  %2934 = load i1, ptr %402, align 1
  br i1 %2934, label %2935, label %2936

2935:                                             ; preds = %2933
  call void @llvm.lifetime.end.p0(i64 32, ptr %401) #6
  br label %2936

2936:                                             ; preds = %2935, %2933
  %2937 = load i1, ptr %400, align 1
  br i1 %2937, label %2938, label %2939

2938:                                             ; preds = %2936
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %380) #6
  br label %2939

2939:                                             ; preds = %2938, %2936
  br label %2940

2940:                                             ; preds = %2939, %2835
  %2941 = load i1, ptr %399, align 1
  br i1 %2941, label %2942, label %2943

2942:                                             ; preds = %2940
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %382) #6
  br label %2943

2943:                                             ; preds = %2942, %2940
  br label %2944

2944:                                             ; preds = %2943, %2831
  %2945 = load i1, ptr %398, align 1
  br i1 %2945, label %2946, label %2947

2946:                                             ; preds = %2944
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %393) #6
  br label %2947

2947:                                             ; preds = %2946, %2944
  br label %2948

2948:                                             ; preds = %2947, %2827
  %2949 = load i1, ptr %397, align 1
  br i1 %2949, label %2950, label %2951

2950:                                             ; preds = %2948
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %395) #6
  br label %2951

2951:                                             ; preds = %2950, %2948
  %2952 = load i1, ptr %396, align 1
  br i1 %2952, label %2953, label %2954

2953:                                             ; preds = %2951
  call void @llvm.lifetime.end.p0(i64 1, ptr %395) #6
  br label %2954

2954:                                             ; preds = %2953, %2951
  %2955 = load i1, ptr %394, align 1
  br i1 %2955, label %2956, label %2957

2956:                                             ; preds = %2954
  call void @llvm.lifetime.end.p0(i64 32, ptr %393) #6
  br label %2957

2957:                                             ; preds = %2956, %2954
  %2958 = load i1, ptr %392, align 1
  br i1 %2958, label %2959, label %2960

2959:                                             ; preds = %2957
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %384) #6
  br label %2960

2960:                                             ; preds = %2959, %2957
  br label %2961

2961:                                             ; preds = %2960, %2823
  %2962 = load i1, ptr %391, align 1
  br i1 %2962, label %2963, label %2964

2963:                                             ; preds = %2961
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %386) #6
  br label %2964

2964:                                             ; preds = %2963, %2961
  br label %2965

2965:                                             ; preds = %2964, %2819
  %2966 = load i1, ptr %390, align 1
  br i1 %2966, label %2967, label %2968

2967:                                             ; preds = %2965
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %388) #6
  br label %2968

2968:                                             ; preds = %2967, %2965
  %2969 = load i1, ptr %389, align 1
  br i1 %2969, label %2970, label %2971

2970:                                             ; preds = %2968
  call void @llvm.lifetime.end.p0(i64 1, ptr %388) #6
  br label %2971

2971:                                             ; preds = %2970, %2968
  %2972 = load i1, ptr %387, align 1
  br i1 %2972, label %2973, label %2974

2973:                                             ; preds = %2971
  call void @llvm.lifetime.end.p0(i64 32, ptr %386) #6
  br label %2974

2974:                                             ; preds = %2973, %2971
  %2975 = load i1, ptr %385, align 1
  br i1 %2975, label %2976, label %2977

2976:                                             ; preds = %2974
  call void @llvm.lifetime.end.p0(i64 32, ptr %384) #6
  br label %2977

2977:                                             ; preds = %2976, %2974
  %2978 = load i1, ptr %383, align 1
  br i1 %2978, label %2979, label %2980

2979:                                             ; preds = %2977
  call void @llvm.lifetime.end.p0(i64 32, ptr %382) #6
  br label %2980

2980:                                             ; preds = %2979, %2977
  %2981 = load i1, ptr %381, align 1
  br i1 %2981, label %2982, label %2983

2982:                                             ; preds = %2980
  call void @llvm.lifetime.end.p0(i64 32, ptr %380) #6
  br label %2983

2983:                                             ; preds = %2982, %2980
  %2984 = load i1, ptr %379, align 1
  br i1 %2984, label %2985, label %2986

2985:                                             ; preds = %2983
  call void @llvm.lifetime.end.p0(i64 32, ptr %378) #6
  br label %2986

2986:                                             ; preds = %2985, %2983
  %2987 = load i1, ptr %377, align 1
  br i1 %2987, label %2988, label %2989

2988:                                             ; preds = %2986
  call void @llvm.lifetime.end.p0(i64 32, ptr %376) #6
  br label %2989

2989:                                             ; preds = %2988, %2986
  call void @llvm.lifetime.end.p0(i64 8, ptr %374) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %371) #6
  br label %3360

2990:                                             ; preds = %2810, %2803
  %2991 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 4
  %2992 = load double, ptr %2991, align 8, !tbaa !31
  %2993 = load ptr, ptr %11, align 8, !tbaa !5
  store double %2992, ptr %2993, align 8, !tbaa !9
  %2994 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %2995 = trunc i8 %2994 to i1
  br i1 %2995, label %2996, label %2998

2996:                                             ; preds = %2990
  %2997 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.29)
  br label %2998

2998:                                             ; preds = %2996, %2990
  call void @llvm.lifetime.end.p0(i64 8, ptr %374) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %371) #6
  br label %2999

2999:                                             ; preds = %2998, %2648
  br label %3000

3000:                                             ; preds = %2999, %2647
  br label %3323

3001:                                             ; preds = %2252
  %3002 = load ptr, ptr %12, align 8, !tbaa !5
  %3003 = load double, ptr %3002, align 8, !tbaa !9
  %3004 = load ptr, ptr %12, align 8, !tbaa !5
  store double %3003, ptr %3004, align 8, !tbaa !9
  %3005 = load double, ptr %15, align 8, !tbaa !9
  %3006 = load double, ptr %13, align 8, !tbaa !9
  %3007 = fdiv double %3005, %3006
  %3008 = load ptr, ptr %12, align 8, !tbaa !5
  %3009 = load double, ptr %3008, align 8, !tbaa !9
  %3010 = load double, ptr %14, align 8, !tbaa !9
  %3011 = fadd double %3009, %3010
  %3012 = call double @cos(double noundef %3011) #6
  %3013 = fmul double %3007, %3012
  %3014 = load double, ptr %14, align 8, !tbaa !9
  %3015 = call double @sin(double noundef %3014) #6
  %3016 = fdiv double %3013, %3015
  %3017 = load ptr, ptr %11, align 8, !tbaa !5
  store double %3016, ptr %3017, align 8, !tbaa !9
  %3018 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %3019 = trunc i8 %3018 to i1
  br i1 %3019, label %3020, label %3022

3020:                                             ; preds = %3001
  %3021 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.30)
  br label %3022

3022:                                             ; preds = %3020, %3001
  %3023 = load ptr, ptr %12, align 8, !tbaa !5
  %3024 = load double, ptr %3023, align 8, !tbaa !9
  %3025 = fcmp oge double %3024, 0.000000e+00
  store i1 false, ptr %431, align 1
  store i1 false, ptr %433, align 1
  store i1 false, ptr %435, align 1
  store i1 false, ptr %437, align 1
  store i1 false, ptr %439, align 1
  store i1 false, ptr %441, align 1
  store i1 false, ptr %443, align 1
  store i1 false, ptr %444, align 1
  store i1 false, ptr %445, align 1
  store i1 false, ptr %446, align 1
  store i1 false, ptr %448, align 1
  store i1 false, ptr %450, align 1
  store i1 false, ptr %451, align 1
  store i1 false, ptr %452, align 1
  store i1 false, ptr %453, align 1
  store i1 false, ptr %454, align 1
  store i1 false, ptr %456, align 1
  store i1 false, ptr %458, align 1
  store i1 false, ptr %459, align 1
  store i1 false, ptr %460, align 1
  store i1 false, ptr %461, align 1
  store i1 false, ptr %462, align 1
  store i1 false, ptr %464, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #6
  store i1 false, ptr %466, align 1
  store i1 false, ptr %467, align 1
  store i1 false, ptr %470, align 1
  store i1 false, ptr %472, align 1
  store i1 false, ptr %473, align 1
  store i1 false, ptr %474, align 1
  store i1 false, ptr %476, align 1
  store i1 false, ptr %478, align 1
  store i1 false, ptr %479, align 1
  store i1 false, ptr %480, align 1
  store i1 false, ptr %481, align 1
  br i1 %3025, label %3026, label %3031

3026:                                             ; preds = %3022
  %3027 = load ptr, ptr %12, align 8, !tbaa !5
  %3028 = load double, ptr %3027, align 8, !tbaa !9
  %3029 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %3030 = fcmp ole double %3028, %3029
  br i1 %3030, label %3047, label %3031

3031:                                             ; preds = %3026, %3022
  call void @llvm.lifetime.start.p0(i64 32, ptr %430) #6
  store i1 true, ptr %431, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %432) #6
  store i1 true, ptr %433, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %434) #6
  store i1 true, ptr %435, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %436) #6
  store i1 true, ptr %437, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %438) #6
  store i1 true, ptr %439, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %440) #6
  store i1 true, ptr %441, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %442) #6
  store i1 true, ptr %443, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %442) #6
  store i1 true, ptr %444, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %440, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %442)
          to label %3032 unwind label %3152

3032:                                             ; preds = %3031
  store i1 true, ptr %445, 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 %438, ptr noundef nonnull align 8 dereferenceable(32) %440, ptr noundef @.str.2)
          to label %3033 unwind label %3156

3033:                                             ; preds = %3032
  store i1 true, ptr %446, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %447) #6
  store i1 true, ptr %448, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %449) #6
  store i1 true, ptr %450, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %449) #6
  store i1 true, ptr %451, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %447, ptr noundef @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %449)
          to label %3034 unwind label %3160

3034:                                             ; preds = %3033
  store i1 true, ptr %452, 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 %436, ptr noundef nonnull align 8 dereferenceable(32) %438, ptr noundef nonnull align 8 dereferenceable(32) %447)
          to label %3035 unwind label %3164

3035:                                             ; preds = %3034
  store i1 true, ptr %453, 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 %434, ptr noundef nonnull align 8 dereferenceable(32) %436, ptr noundef @.str.3)
          to label %3036 unwind label %3168

3036:                                             ; preds = %3035
  store i1 true, ptr %454, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %455) #6
  store i1 true, ptr %456, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %457) #6
  store i1 true, ptr %458, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %457) #6
  store i1 true, ptr %459, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %455, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %457)
          to label %3037 unwind label %3172

3037:                                             ; preds = %3036
  store i1 true, ptr %460, 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 %432, ptr noundef nonnull align 8 dereferenceable(32) %434, ptr noundef nonnull align 8 dereferenceable(32) %455)
          to label %3038 unwind label %3176

3038:                                             ; preds = %3037
  store i1 true, ptr %461, 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 %430, ptr noundef nonnull align 8 dereferenceable(32) %432, ptr noundef @.str.5)
          to label %3039 unwind label %3180

3039:                                             ; preds = %3038
  store i1 true, ptr %462, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %463) #6
  store i1 true, ptr %464, align 1
  store i32 245, ptr %465, align 4, !tbaa !23
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %463, ptr noundef nonnull align 4 dereferenceable(4) %465)
          to label %3040 unwind label %3184

3040:                                             ; preds = %3039
  store i1 true, ptr %466, 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 %429, ptr noundef nonnull align 8 dereferenceable(32) %430, ptr noundef nonnull align 8 dereferenceable(32) %463)
          to label %3041 unwind label %3188

3041:                                             ; preds = %3040
  store i1 true, ptr %467, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %469) #6
  store i1 true, ptr %470, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %471) #6
  store i1 true, ptr %472, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %471) #6
  store i1 true, ptr %473, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %469, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %471)
          to label %3042 unwind label %3192

3042:                                             ; preds = %3041
  store i1 true, ptr %474, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %475) #6
  store i1 true, ptr %476, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %477) #6
  store i1 true, ptr %478, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %477) #6
  store i1 true, ptr %479, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %475, ptr noundef @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %477)
          to label %3043 unwind label %3196

3043:                                             ; preds = %3042
  store i1 true, ptr %480, 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 %468, ptr noundef nonnull align 8 dereferenceable(32) %469, ptr noundef nonnull align 8 dereferenceable(32) %475)
          to label %3044 unwind label %3200

3044:                                             ; preds = %3043
  store i1 true, ptr %481, align 1
  %3045 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %429, ptr noundef %468, i32 noundef 0)
          to label %3046 unwind label %3204

3046:                                             ; preds = %3044
  br label %3047

3047:                                             ; preds = %3046, %3026
  %3048 = phi i1 [ true, %3026 ], [ %3045, %3046 ]
  %3049 = xor i1 %3048, true
  %3050 = load i1, ptr %481, align 1
  br i1 %3050, label %3051, label %3052

3051:                                             ; preds = %3047
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %468) #6
  br label %3052

3052:                                             ; preds = %3051, %3047
  %3053 = load i1, ptr %480, align 1
  br i1 %3053, label %3054, label %3055

3054:                                             ; preds = %3052
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %475) #6
  br label %3055

3055:                                             ; preds = %3054, %3052
  %3056 = load i1, ptr %479, align 1
  br i1 %3056, label %3057, label %3058

3057:                                             ; preds = %3055
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %477) #6
  br label %3058

3058:                                             ; preds = %3057, %3055
  %3059 = load i1, ptr %478, align 1
  br i1 %3059, label %3060, label %3061

3060:                                             ; preds = %3058
  call void @llvm.lifetime.end.p0(i64 1, ptr %477) #6
  br label %3061

3061:                                             ; preds = %3060, %3058
  %3062 = load i1, ptr %476, align 1
  br i1 %3062, label %3063, label %3064

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

3064:                                             ; preds = %3063, %3061
  %3065 = load i1, ptr %474, align 1
  br i1 %3065, label %3066, label %3067

3066:                                             ; preds = %3064
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %469) #6
  br label %3067

3067:                                             ; preds = %3066, %3064
  %3068 = load i1, ptr %473, align 1
  br i1 %3068, label %3069, label %3070

3069:                                             ; preds = %3067
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %471) #6
  br label %3070

3070:                                             ; preds = %3069, %3067
  %3071 = load i1, ptr %472, align 1
  br i1 %3071, label %3072, label %3073

3072:                                             ; preds = %3070
  call void @llvm.lifetime.end.p0(i64 1, ptr %471) #6
  br label %3073

3073:                                             ; preds = %3072, %3070
  %3074 = load i1, ptr %470, align 1
  br i1 %3074, label %3075, label %3076

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

3076:                                             ; preds = %3075, %3073
  %3077 = load i1, ptr %467, align 1
  br i1 %3077, label %3078, label %3079

3078:                                             ; preds = %3076
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %429) #6
  br label %3079

3079:                                             ; preds = %3078, %3076
  %3080 = load i1, ptr %466, align 1
  br i1 %3080, label %3081, label %3082

3081:                                             ; preds = %3079
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %463) #6
  br label %3082

3082:                                             ; preds = %3081, %3079
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #6
  %3083 = load i1, ptr %464, align 1
  br i1 %3083, label %3084, label %3085

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

3085:                                             ; preds = %3084, %3082
  %3086 = load i1, ptr %462, align 1
  br i1 %3086, label %3087, label %3088

3087:                                             ; preds = %3085
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %430) #6
  br label %3088

3088:                                             ; preds = %3087, %3085
  %3089 = load i1, ptr %461, align 1
  br i1 %3089, label %3090, label %3091

3090:                                             ; preds = %3088
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %432) #6
  br label %3091

3091:                                             ; preds = %3090, %3088
  %3092 = load i1, ptr %460, align 1
  br i1 %3092, label %3093, label %3094

3093:                                             ; preds = %3091
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %455) #6
  br label %3094

3094:                                             ; preds = %3093, %3091
  %3095 = load i1, ptr %459, align 1
  br i1 %3095, label %3096, label %3097

3096:                                             ; preds = %3094
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %457) #6
  br label %3097

3097:                                             ; preds = %3096, %3094
  %3098 = load i1, ptr %458, align 1
  br i1 %3098, label %3099, label %3100

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

3100:                                             ; preds = %3099, %3097
  %3101 = load i1, ptr %456, align 1
  br i1 %3101, label %3102, label %3103

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

3103:                                             ; preds = %3102, %3100
  %3104 = load i1, ptr %454, align 1
  br i1 %3104, label %3105, label %3106

3105:                                             ; preds = %3103
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %434) #6
  br label %3106

3106:                                             ; preds = %3105, %3103
  %3107 = load i1, ptr %453, align 1
  br i1 %3107, label %3108, label %3109

3108:                                             ; preds = %3106
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %436) #6
  br label %3109

3109:                                             ; preds = %3108, %3106
  %3110 = load i1, ptr %452, align 1
  br i1 %3110, label %3111, label %3112

3111:                                             ; preds = %3109
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %447) #6
  br label %3112

3112:                                             ; preds = %3111, %3109
  %3113 = load i1, ptr %451, align 1
  br i1 %3113, label %3114, label %3115

3114:                                             ; preds = %3112
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %449) #6
  br label %3115

3115:                                             ; preds = %3114, %3112
  %3116 = load i1, ptr %450, align 1
  br i1 %3116, label %3117, label %3118

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

3118:                                             ; preds = %3117, %3115
  %3119 = load i1, ptr %448, align 1
  br i1 %3119, label %3120, label %3121

3120:                                             ; preds = %3118
  call void @llvm.lifetime.end.p0(i64 32, ptr %447) #6
  br label %3121

3121:                                             ; preds = %3120, %3118
  %3122 = load i1, ptr %446, align 1
  br i1 %3122, label %3123, label %3124

3123:                                             ; preds = %3121
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %438) #6
  br label %3124

3124:                                             ; preds = %3123, %3121
  %3125 = load i1, ptr %445, align 1
  br i1 %3125, label %3126, label %3127

3126:                                             ; preds = %3124
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %440) #6
  br label %3127

3127:                                             ; preds = %3126, %3124
  %3128 = load i1, ptr %444, align 1
  br i1 %3128, label %3129, label %3130

3129:                                             ; preds = %3127
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %442) #6
  br label %3130

3130:                                             ; preds = %3129, %3127
  %3131 = load i1, ptr %443, align 1
  br i1 %3131, label %3132, label %3133

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

3133:                                             ; preds = %3132, %3130
  %3134 = load i1, ptr %441, align 1
  br i1 %3134, label %3135, label %3136

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

3136:                                             ; preds = %3135, %3133
  %3137 = load i1, ptr %439, align 1
  br i1 %3137, label %3138, label %3139

3138:                                             ; preds = %3136
  call void @llvm.lifetime.end.p0(i64 32, ptr %438) #6
  br label %3139

3139:                                             ; preds = %3138, %3136
  %3140 = load i1, ptr %437, align 1
  br i1 %3140, label %3141, label %3142

3141:                                             ; preds = %3139
  call void @llvm.lifetime.end.p0(i64 32, ptr %436) #6
  br label %3142

3142:                                             ; preds = %3141, %3139
  %3143 = load i1, ptr %435, align 1
  br i1 %3143, label %3144, label %3145

3144:                                             ; preds = %3142
  call void @llvm.lifetime.end.p0(i64 32, ptr %434) #6
  br label %3145

3145:                                             ; preds = %3144, %3142
  %3146 = load i1, ptr %433, align 1
  br i1 %3146, label %3147, label %3148

3147:                                             ; preds = %3145
  call void @llvm.lifetime.end.p0(i64 32, ptr %432) #6
  br label %3148

3148:                                             ; preds = %3147, %3145
  %3149 = load i1, ptr %431, align 1
  br i1 %3149, label %3150, label %3151

3150:                                             ; preds = %3148
  call void @llvm.lifetime.end.p0(i64 32, ptr %430) #6
  br label %3151

3151:                                             ; preds = %3150, %3148
  br label %3323

3152:                                             ; preds = %3031
  %3153 = landingpad { ptr, i32 }
          cleanup
  %3154 = extractvalue { ptr, i32 } %3153, 0
  store ptr %3154, ptr %41, align 8
  %3155 = extractvalue { ptr, i32 } %3153, 1
  store i32 %3155, ptr %42, align 4
  br label %3298

3156:                                             ; preds = %3032
  %3157 = landingpad { ptr, i32 }
          cleanup
  %3158 = extractvalue { ptr, i32 } %3157, 0
  store ptr %3158, ptr %41, align 8
  %3159 = extractvalue { ptr, i32 } %3157, 1
  store i32 %3159, ptr %42, align 4
  br label %3294

3160:                                             ; preds = %3033
  %3161 = landingpad { ptr, i32 }
          cleanup
  %3162 = extractvalue { ptr, i32 } %3161, 0
  store ptr %3162, ptr %41, align 8
  %3163 = extractvalue { ptr, i32 } %3161, 1
  store i32 %3163, ptr %42, align 4
  br label %3281

3164:                                             ; preds = %3034
  %3165 = landingpad { ptr, i32 }
          cleanup
  %3166 = extractvalue { ptr, i32 } %3165, 0
  store ptr %3166, ptr %41, align 8
  %3167 = extractvalue { ptr, i32 } %3165, 1
  store i32 %3167, ptr %42, align 4
  br label %3277

3168:                                             ; preds = %3035
  %3169 = landingpad { ptr, i32 }
          cleanup
  %3170 = extractvalue { ptr, i32 } %3169, 0
  store ptr %3170, ptr %41, align 8
  %3171 = extractvalue { ptr, i32 } %3169, 1
  store i32 %3171, ptr %42, align 4
  br label %3273

3172:                                             ; preds = %3036
  %3173 = landingpad { ptr, i32 }
          cleanup
  %3174 = extractvalue { ptr, i32 } %3173, 0
  store ptr %3174, ptr %41, align 8
  %3175 = extractvalue { ptr, i32 } %3173, 1
  store i32 %3175, ptr %42, align 4
  br label %3260

3176:                                             ; preds = %3037
  %3177 = landingpad { ptr, i32 }
          cleanup
  %3178 = extractvalue { ptr, i32 } %3177, 0
  store ptr %3178, ptr %41, align 8
  %3179 = extractvalue { ptr, i32 } %3177, 1
  store i32 %3179, ptr %42, align 4
  br label %3256

3180:                                             ; preds = %3038
  %3181 = landingpad { ptr, i32 }
          cleanup
  %3182 = extractvalue { ptr, i32 } %3181, 0
  store ptr %3182, ptr %41, align 8
  %3183 = extractvalue { ptr, i32 } %3181, 1
  store i32 %3183, ptr %42, align 4
  br label %3252

3184:                                             ; preds = %3039
  %3185 = landingpad { ptr, i32 }
          cleanup
  %3186 = extractvalue { ptr, i32 } %3185, 0
  store ptr %3186, ptr %41, align 8
  %3187 = extractvalue { ptr, i32 } %3185, 1
  store i32 %3187, ptr %42, align 4
  br label %3245

3188:                                             ; preds = %3040
  %3189 = landingpad { ptr, i32 }
          cleanup
  %3190 = extractvalue { ptr, i32 } %3189, 0
  store ptr %3190, ptr %41, align 8
  %3191 = extractvalue { ptr, i32 } %3189, 1
  store i32 %3191, ptr %42, align 4
  br label %3241

3192:                                             ; preds = %3041
  %3193 = landingpad { ptr, i32 }
          cleanup
  %3194 = extractvalue { ptr, i32 } %3193, 0
  store ptr %3194, ptr %41, align 8
  %3195 = extractvalue { ptr, i32 } %3193, 1
  store i32 %3195, ptr %42, align 4
  br label %3228

3196:                                             ; preds = %3042
  %3197 = landingpad { ptr, i32 }
          cleanup
  %3198 = extractvalue { ptr, i32 } %3197, 0
  store ptr %3198, ptr %41, align 8
  %3199 = extractvalue { ptr, i32 } %3197, 1
  store i32 %3199, ptr %42, align 4
  br label %3215

3200:                                             ; preds = %3043
  %3201 = landingpad { ptr, i32 }
          cleanup
  %3202 = extractvalue { ptr, i32 } %3201, 0
  store ptr %3202, ptr %41, align 8
  %3203 = extractvalue { ptr, i32 } %3201, 1
  store i32 %3203, ptr %42, align 4
  br label %3211

3204:                                             ; preds = %3044
  %3205 = landingpad { ptr, i32 }
          cleanup
  %3206 = extractvalue { ptr, i32 } %3205, 0
  store ptr %3206, ptr %41, align 8
  %3207 = extractvalue { ptr, i32 } %3205, 1
  store i32 %3207, ptr %42, align 4
  %3208 = load i1, ptr %481, align 1
  br i1 %3208, label %3209, label %3210

3209:                                             ; preds = %3204
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %468) #6
  br label %3210

3210:                                             ; preds = %3209, %3204
  br label %3211

3211:                                             ; preds = %3210, %3200
  %3212 = load i1, ptr %480, align 1
  br i1 %3212, label %3213, label %3214

3213:                                             ; preds = %3211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %475) #6
  br label %3214

3214:                                             ; preds = %3213, %3211
  br label %3215

3215:                                             ; preds = %3214, %3196
  %3216 = load i1, ptr %479, align 1
  br i1 %3216, label %3217, label %3218

3217:                                             ; preds = %3215
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %477) #6
  br label %3218

3218:                                             ; preds = %3217, %3215
  %3219 = load i1, ptr %478, align 1
  br i1 %3219, label %3220, label %3221

3220:                                             ; preds = %3218
  call void @llvm.lifetime.end.p0(i64 1, ptr %477) #6
  br label %3221

3221:                                             ; preds = %3220, %3218
  %3222 = load i1, ptr %476, align 1
  br i1 %3222, label %3223, label %3224

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

3224:                                             ; preds = %3223, %3221
  %3225 = load i1, ptr %474, align 1
  br i1 %3225, label %3226, label %3227

3226:                                             ; preds = %3224
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %469) #6
  br label %3227

3227:                                             ; preds = %3226, %3224
  br label %3228

3228:                                             ; preds = %3227, %3192
  %3229 = load i1, ptr %473, align 1
  br i1 %3229, label %3230, label %3231

3230:                                             ; preds = %3228
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %471) #6
  br label %3231

3231:                                             ; preds = %3230, %3228
  %3232 = load i1, ptr %472, align 1
  br i1 %3232, label %3233, label %3234

3233:                                             ; preds = %3231
  call void @llvm.lifetime.end.p0(i64 1, ptr %471) #6
  br label %3234

3234:                                             ; preds = %3233, %3231
  %3235 = load i1, ptr %470, align 1
  br i1 %3235, label %3236, label %3237

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

3237:                                             ; preds = %3236, %3234
  %3238 = load i1, ptr %467, align 1
  br i1 %3238, label %3239, label %3240

3239:                                             ; preds = %3237
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %429) #6
  br label %3240

3240:                                             ; preds = %3239, %3237
  br label %3241

3241:                                             ; preds = %3240, %3188
  %3242 = load i1, ptr %466, align 1
  br i1 %3242, label %3243, label %3244

3243:                                             ; preds = %3241
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %463) #6
  br label %3244

3244:                                             ; preds = %3243, %3241
  br label %3245

3245:                                             ; preds = %3244, %3184
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #6
  %3246 = load i1, ptr %464, align 1
  br i1 %3246, label %3247, label %3248

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

3248:                                             ; preds = %3247, %3245
  %3249 = load i1, ptr %462, align 1
  br i1 %3249, label %3250, label %3251

3250:                                             ; preds = %3248
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %430) #6
  br label %3251

3251:                                             ; preds = %3250, %3248
  br label %3252

3252:                                             ; preds = %3251, %3180
  %3253 = load i1, ptr %461, align 1
  br i1 %3253, label %3254, label %3255

3254:                                             ; preds = %3252
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %432) #6
  br label %3255

3255:                                             ; preds = %3254, %3252
  br label %3256

3256:                                             ; preds = %3255, %3176
  %3257 = load i1, ptr %460, align 1
  br i1 %3257, label %3258, label %3259

3258:                                             ; preds = %3256
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %455) #6
  br label %3259

3259:                                             ; preds = %3258, %3256
  br label %3260

3260:                                             ; preds = %3259, %3172
  %3261 = load i1, ptr %459, align 1
  br i1 %3261, label %3262, label %3263

3262:                                             ; preds = %3260
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %457) #6
  br label %3263

3263:                                             ; preds = %3262, %3260
  %3264 = load i1, ptr %458, align 1
  br i1 %3264, label %3265, label %3266

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

3266:                                             ; preds = %3265, %3263
  %3267 = load i1, ptr %456, align 1
  br i1 %3267, label %3268, label %3269

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

3269:                                             ; preds = %3268, %3266
  %3270 = load i1, ptr %454, align 1
  br i1 %3270, label %3271, label %3272

3271:                                             ; preds = %3269
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %434) #6
  br label %3272

3272:                                             ; preds = %3271, %3269
  br label %3273

3273:                                             ; preds = %3272, %3168
  %3274 = load i1, ptr %453, align 1
  br i1 %3274, label %3275, label %3276

3275:                                             ; preds = %3273
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %436) #6
  br label %3276

3276:                                             ; preds = %3275, %3273
  br label %3277

3277:                                             ; preds = %3276, %3164
  %3278 = load i1, ptr %452, align 1
  br i1 %3278, label %3279, label %3280

3279:                                             ; preds = %3277
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %447) #6
  br label %3280

3280:                                             ; preds = %3279, %3277
  br label %3281

3281:                                             ; preds = %3280, %3160
  %3282 = load i1, ptr %451, align 1
  br i1 %3282, label %3283, label %3284

3283:                                             ; preds = %3281
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %449) #6
  br label %3284

3284:                                             ; preds = %3283, %3281
  %3285 = load i1, ptr %450, align 1
  br i1 %3285, label %3286, label %3287

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

3287:                                             ; preds = %3286, %3284
  %3288 = load i1, ptr %448, align 1
  br i1 %3288, label %3289, label %3290

3289:                                             ; preds = %3287
  call void @llvm.lifetime.end.p0(i64 32, ptr %447) #6
  br label %3290

3290:                                             ; preds = %3289, %3287
  %3291 = load i1, ptr %446, align 1
  br i1 %3291, label %3292, label %3293

3292:                                             ; preds = %3290
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %438) #6
  br label %3293

3293:                                             ; preds = %3292, %3290
  br label %3294

3294:                                             ; preds = %3293, %3156
  %3295 = load i1, ptr %445, align 1
  br i1 %3295, label %3296, label %3297

3296:                                             ; preds = %3294
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %440) #6
  br label %3297

3297:                                             ; preds = %3296, %3294
  br label %3298

3298:                                             ; preds = %3297, %3152
  %3299 = load i1, ptr %444, align 1
  br i1 %3299, label %3300, label %3301

3300:                                             ; preds = %3298
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %442) #6
  br label %3301

3301:                                             ; preds = %3300, %3298
  %3302 = load i1, ptr %443, align 1
  br i1 %3302, label %3303, label %3304

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

3304:                                             ; preds = %3303, %3301
  %3305 = load i1, ptr %441, align 1
  br i1 %3305, label %3306, label %3307

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

3307:                                             ; preds = %3306, %3304
  %3308 = load i1, ptr %439, align 1
  br i1 %3308, label %3309, label %3310

3309:                                             ; preds = %3307
  call void @llvm.lifetime.end.p0(i64 32, ptr %438) #6
  br label %3310

3310:                                             ; preds = %3309, %3307
  %3311 = load i1, ptr %437, align 1
  br i1 %3311, label %3312, label %3313

3312:                                             ; preds = %3310
  call void @llvm.lifetime.end.p0(i64 32, ptr %436) #6
  br label %3313

3313:                                             ; preds = %3312, %3310
  %3314 = load i1, ptr %435, align 1
  br i1 %3314, label %3315, label %3316

3315:                                             ; preds = %3313
  call void @llvm.lifetime.end.p0(i64 32, ptr %434) #6
  br label %3316

3316:                                             ; preds = %3315, %3313
  %3317 = load i1, ptr %433, align 1
  br i1 %3317, label %3318, label %3319

3318:                                             ; preds = %3316
  call void @llvm.lifetime.end.p0(i64 32, ptr %432) #6
  br label %3319

3319:                                             ; preds = %3318, %3316
  %3320 = load i1, ptr %431, align 1
  br i1 %3320, label %3321, label %3322

3321:                                             ; preds = %3319
  call void @llvm.lifetime.end.p0(i64 32, ptr %430) #6
  br label %3322

3322:                                             ; preds = %3321, %3319
  br label %3360

3323:                                             ; preds = %3151, %3000
  br label %3324

3324:                                             ; preds = %3323, %2251
  br label %3325

3325:                                             ; preds = %3324, %2223
  br label %3326

3326:                                             ; preds = %3325, %1675
  %3327 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %3328 = trunc i8 %3327 to i1
  br i1 %3328, label %3329, label %3343

3329:                                             ; preds = %3326
  %3330 = load ptr, ptr %11, align 8, !tbaa !5
  %3331 = load double, ptr %3330, align 8, !tbaa !9
  %3332 = getelementptr inbounds %class.CornerApex, ptr %485, i32 0, i32 1
  %3333 = load ptr, ptr %3332, align 8, !tbaa !24
  %3334 = call noundef double @_ZNK9ElemModel3RRREv(ptr noundef nonnull align 8 dereferenceable(152) %3333)
  %3335 = load double, ptr %14, align 8, !tbaa !9
  %3336 = call double @tan(double noundef %3335) #6
  %3337 = fdiv double %3334, %3336
  %3338 = fmul double %3337, 2.000000e+00
  %3339 = fcmp ogt double %3331, %3338
  br i1 %3339, label %3340, label %3342

3340:                                             ; preds = %3329
  %3341 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.32)
  br label %3342

3342:                                             ; preds = %3340, %3329
  br label %3343

3343:                                             ; preds = %3342, %3326
  %3344 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %3345 = trunc i8 %3344 to i1
  br i1 %3345, label %3346, label %3356

3346:                                             ; preds = %3343
  %3347 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.33)
  %3348 = load double, ptr %13, align 8, !tbaa !9
  %3349 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %3347, double noundef %3348)
  %3350 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3349, ptr noundef @.str.34)
  %3351 = load ptr, ptr %12, align 8, !tbaa !5
  %3352 = load double, ptr %3351, align 8, !tbaa !9
  %3353 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %3350, double noundef %3352)
  %3354 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3353, ptr noundef @.str.21)
  %3355 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %3354, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %3356

3356:                                             ; preds = %3346, %3343
  store i32 0, ptr %20, align 4
  br label %3357

3357:                                             ; preds = %3356, %1512, %1174, %834, %493
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  %3358 = load i32, ptr %20, align 4
  switch i32 %3358, label %3366 [
    i32 0, label %3359
    i32 1, label %3359
  ]

3359:                                             ; preds = %3357, %3357
  ret void

3360:                                             ; preds = %3322, %2989, %2623, %2214, %1853, %1511, %1173, %833
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  br label %3361

3361:                                             ; preds = %3360
  %3362 = load ptr, ptr %41, align 8
  %3363 = load i32, ptr %42, align 4
  %3364 = insertvalue { ptr, i32 } poison, ptr %3362, 0
  %3365 = insertvalue { ptr, i32 } %3364, i32 %3363, 1
  resume { ptr, i32 } %3365

3366:                                             ; preds = %3357
  unreachable
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #5

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

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

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

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

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

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

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

attributes #0 = { 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 #1 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint 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 #6 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !12, i64 82}
!16 = !{!"_ZTS4Apex", !12, i64 8, !10, i64 16, !10, i64 24, !6, i64 32, !17, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !12, i64 80, !12, i64 81, !12, i64 82, !12, i64 83, !18, i64 88}
!17 = !{!"int", !7, i64 0}
!18 = !{!"_ZTSSt4pairIidE", !17, i64 0, !10, i64 8}
!19 = !{!20, !10, i64 112}
!20 = !{!"_ZTS10CornerApex", !16, i64 0, !6, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !6, i64 136}
!21 = !{!16, !17, i64 88}
!22 = !{!16, !10, i64 96}
!23 = !{!17, !17, i64 0}
!24 = !{!20, !6, i64 104}
!25 = !{!18, !17, i64 0}
!26 = !{!18, !10, i64 8}
!27 = !{!20, !6, i64 136}
!28 = !{!16, !10, i64 48}
!29 = !{!16, !10, i64 56}
!30 = !{!20, !10, i64 120}
!31 = !{!20, !10, i64 128}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }

@_ZN4Apex2PIE = external dso_local global double, align 8
@.str = external hidden unnamed_addr constant [11 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [4 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [8 x i8], align 1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #1

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb(ptr nocapture noundef nonnull readonly align 8 dereferenceable(144) %0, ptr nocapture noundef nonnull align 8 dereferenceable(8) %1, ptr nocapture noundef nonnull align 8 dereferenceable(8) %2, double noundef %3, double noundef %4, double noundef %5, i1 noundef zeroext %6, i1 noundef zeroext %7, i1 noundef zeroext %8) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %10 = alloca double, align 8
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator", align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca i32, align 4
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator", align 1
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator", align 1
  %33 = alloca double, align 8
  %34 = alloca double, align 8
  %35 = alloca double, align 8
  %36 = alloca double, align 8
  %37 = alloca double, align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca i32, align 4
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca double, align 8
  %58 = alloca double, align 8
  %59 = alloca double, align 8
  %60 = alloca double, align 8
  %61 = alloca double, 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::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::allocator", align 1
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::allocator", align 1
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::allocator", align 1
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca i32, align 4
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator", align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca double, align 8
  %82 = alloca double, align 8
  %83 = alloca double, align 8
  %84 = alloca double, align 8
  %85 = alloca double, align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::allocator", align 1
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::allocator", align 1
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::allocator", align 1
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca i32, align 4
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::allocator", align 1
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::allocator", align 1
  %105 = alloca double, align 8
  %106 = alloca double, align 8
  %107 = alloca double, align 8
  %108 = alloca double, align 8
  %109 = alloca double, align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::allocator", align 1
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::allocator", align 1
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::allocator", align 1
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca i32, align 4
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::allocator", align 1
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::allocator", align 1
  %129 = alloca double, align 8
  %130 = alloca double, align 8
  %131 = alloca double, align 8
  %132 = alloca double, align 8
  %133 = alloca double, align 8
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca %"class.std::allocator", align 1
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::allocator", align 1
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::allocator", align 1
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca i32, align 4
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::allocator", align 1
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::allocator", align 1
  %153 = alloca double, align 8
  %154 = alloca double, align 8
  %155 = alloca double, align 8
  %156 = alloca double, align 8
  %157 = alloca double, align 8
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::__cxx11::basic_string", align 8
  %162 = alloca %"class.std::__cxx11::basic_string", align 8
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca %"class.std::__cxx11::basic_string", align 8
  %165 = alloca %"class.std::allocator", align 1
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::allocator", align 1
  %168 = alloca %"class.std::__cxx11::basic_string", align 8
  %169 = alloca %"class.std::allocator", align 1
  %170 = alloca %"class.std::__cxx11::basic_string", align 8
  %171 = alloca i32, align 4
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::allocator", align 1
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca %"class.std::allocator", align 1
  %177 = alloca double, align 8
  %178 = alloca %"class.std::__cxx11::basic_string", align 8
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %"class.std::__cxx11::basic_string", align 8
  %182 = alloca %"class.std::__cxx11::basic_string", align 8
  %183 = alloca %"class.std::__cxx11::basic_string", align 8
  %184 = alloca %"class.std::__cxx11::basic_string", align 8
  %185 = alloca %"class.std::allocator", align 1
  %186 = alloca %"class.std::__cxx11::basic_string", align 8
  %187 = alloca %"class.std::allocator", align 1
  %188 = alloca %"class.std::__cxx11::basic_string", align 8
  %189 = alloca %"class.std::allocator", align 1
  %190 = alloca %"class.std::__cxx11::basic_string", align 8
  %191 = alloca i32, align 4
  %192 = alloca %"class.std::__cxx11::basic_string", align 8
  %193 = alloca %"class.std::__cxx11::basic_string", align 8
  %194 = alloca %"class.std::allocator", align 1
  %195 = alloca %"class.std::__cxx11::basic_string", align 8
  %196 = alloca %"class.std::allocator", align 1
  %197 = select i1 %7, double 0.000000e+00, double 0x3E7AD7F29ABCAF48
  %198 = getelementptr inbounds i8, ptr %0, i64 82
  %199 = load i8, ptr %198, align 2, !tbaa !5, !range !14, !noundef !15
  %200 = trunc nuw i8 %199 to i1
  br i1 %200, label %202, label %201

201:                                              ; preds = %9
  store double 1.000000e-10, ptr %1, align 8, !tbaa !16
  br label %.critedge1432

202:                                              ; preds = %9
  br i1 %6, label %472, label %203

203:                                              ; preds = %202
  %204 = getelementptr inbounds i8, ptr %0, i64 112
  %205 = load double, ptr %204, align 8, !tbaa !17
  store double %205, ptr %1, align 8, !tbaa !16
  %206 = getelementptr inbounds i8, ptr %0, i64 88
  %207 = load i32, ptr %206, align 8, !tbaa !19
  %208 = icmp sgt i32 %207, -1
  br i1 %208, label %209, label %290

209:                                              ; preds = %203
  %210 = getelementptr inbounds i8, ptr %0, i64 96
  %211 = load double, ptr %210, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #6
  %212 = fmul double %211, %205
  %213 = tail call double @sin(double noundef %4) #6
  %214 = fmul double %212, %213
  %215 = fdiv double %214, %5
  store double %215, ptr %10, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #6
  store double 0x3FEFFFFDE7210BE9, ptr %11, align 8, !tbaa !16
  %216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11)
  %217 = load double, ptr %216, align 8, !tbaa !16
  store double %217, ptr %10, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #6
  store double 0xBFEFFFFDE7210BE9, ptr %12, align 8, !tbaa !16
  %218 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %12)
  %219 = load double, ptr %218, align 8, !tbaa !16
  store double %219, ptr %10, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #6
  %220 = call double @acos(double noundef %219) #6
  %221 = fsub double %220, %4
  store double %221, ptr %13, align 8, !tbaa !16
  %222 = fcmp ult double %221, 0xBE7AD7F29ABCAF48
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #6
  br i1 %222, label %227, label %223

223:                                              ; preds = %209
  %224 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !16
  %225 = fadd double %224, 0x3E7AD7F29ABCAF48
  %226 = fcmp ugt double %221, %225
  br i1 %226, label %227, label %242

227:                                              ; preds = %223, %209
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %228 unwind label %248

228:                                              ; preds = %227
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.2)
          to label %229 unwind label %250

229:                                              ; preds = %228
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %230 unwind label %252

230:                                              ; preds = %229
  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) %22)
          to label %231 unwind label %254

231:                                              ; preds = %230
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.3)
          to label %232 unwind label %256

232:                                              ; preds = %231
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %233 unwind label %258

233:                                              ; preds = %232
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %234 unwind label %260

234:                                              ; preds = %233
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.5)
          to label %235 unwind label %262

235:                                              ; preds = %234
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  store i32 137, ptr %27, align 4, !tbaa !21
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 4 dereferenceable(4) %27)
          to label %236 unwind label %264

236:                                              ; preds = %235
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %237 unwind label %266

237:                                              ; preds = %236
  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.6, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %238 unwind label %268

238:                                              ; preds = %237
  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 @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %239 unwind label %270

239:                                              ; preds = %238
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %240 unwind label %272

240:                                              ; preds = %239
  %241 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %14, ptr noundef nonnull %28, i32 noundef 0)
          to label %.critedge1160 unwind label %274

242:                                              ; preds = %223
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #6
  br label %.critedge1181

.critedge1160:                                    ; preds = %240
  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) %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) %29) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  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) %22) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %.critedge1181

.critedge1181:                                    ; preds = %242, %.critedge1160
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #6
  store double 0.000000e+00, ptr %33, align 8, !tbaa !16
  %243 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %33)
  %244 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %243, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %245 = load double, ptr %244, align 8, !tbaa !16
  store double %245, ptr %2, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #6
  br i1 %8, label %246, label %289

246:                                              ; preds = %.critedge1181
  %247 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.13)
  br label %289

248:                                              ; preds = %227
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %288

250:                                              ; preds = %228
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %287

252:                                              ; preds = %229
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %286

254:                                              ; preds = %230
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %285

256:                                              ; preds = %231
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %284

258:                                              ; preds = %232
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %283

260:                                              ; preds = %233
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %282

262:                                              ; preds = %234
  %263 = landingpad { ptr, i32 }
          cleanup
  br label %281

264:                                              ; preds = %235
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %280

266:                                              ; preds = %236
  %267 = landingpad { ptr, i32 }
          cleanup
  br label %279

268:                                              ; preds = %237
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %278

270:                                              ; preds = %238
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %277

272:                                              ; preds = %239
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %276

274:                                              ; preds = %240
  %275 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %276

276:                                              ; preds = %272, %274
  %.pn1064 = phi { ptr, i32 } [ %275, %274 ], [ %273, %272 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %277

277:                                              ; preds = %270, %276
  %.pn1064.pn = phi { ptr, i32 } [ %.pn1064, %276 ], [ %271, %270 ]
  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) %29) #6
  br label %278

278:                                              ; preds = %268, %277
  %.pn1064.pn.pn = phi { ptr, i32 } [ %.pn1064.pn, %277 ], [ %269, %268 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %279

279:                                              ; preds = %266, %278
  %.pn1064.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn, %278 ], [ %267, %266 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %280

280:                                              ; preds = %279, %264
  %.pn1064.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn, %279 ], [ %265, %264 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %281

281:                                              ; preds = %262, %280
  %.pn1064.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn.pn, %280 ], [ %263, %262 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %282

282:                                              ; preds = %260, %281
  %.pn1064.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn.pn.pn, %281 ], [ %261, %260 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %283

283:                                              ; preds = %258, %282
  %.pn1064.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn.pn.pn.pn, %282 ], [ %259, %258 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %284

284:                                              ; preds = %256, %283
  %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn.pn.pn.pn.pn, %283 ], [ %257, %256 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %285

285:                                              ; preds = %254, %284
  %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn, %284 ], [ %255, %254 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %286

286:                                              ; preds = %252, %285
  %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn.pn, %285 ], [ %253, %252 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %287

287:                                              ; preds = %250, %286
  %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %286 ], [ %251, %250 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %288

288:                                              ; preds = %248, %287
  %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %287 ], [ %249, %248 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #6
  br label %983

289:                                              ; preds = %246, %.critedge1181
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #6
  br label %.critedge1432

290:                                              ; preds = %203
  %291 = getelementptr inbounds i8, ptr %0, i64 104
  %292 = load ptr, ptr %291, align 8, !tbaa !22
  %293 = tail call noundef ptr @_ZNK9ElemModel6elemanEv(ptr noundef nonnull align 8 dereferenceable(152) %292)
  %294 = tail call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4Elem11trappingOilEv(ptr noundef nonnull align 8 dereferenceable(408) %293)
  %295 = load i32, ptr %294, align 8, !tbaa !23
  %296 = icmp sgt i32 %295, -1
  br i1 %296, label %297, label %382

297:                                              ; preds = %290
  %298 = load ptr, ptr %291, align 8, !tbaa !22
  %299 = tail call noundef ptr @_ZNK9ElemModel6elemanEv(ptr noundef nonnull align 8 dereferenceable(152) %298)
  %300 = tail call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4Elem11trappingOilEv(ptr noundef nonnull align 8 dereferenceable(408) %299)
  %301 = getelementptr inbounds i8, ptr %300, i64 8
  %302 = load double, ptr %301, align 8, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #6
  %303 = load double, ptr %204, align 8, !tbaa !17
  %304 = fmul double %302, %303
  %305 = tail call double @sin(double noundef %4) #6
  %306 = fmul double %304, %305
  %307 = fdiv double %306, %5
  store double %307, ptr %34, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #6
  store double 0x3FEFFFFDE7210BE9, ptr %35, align 8, !tbaa !16
  %308 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35)
  %309 = load double, ptr %308, align 8, !tbaa !16
  store double %309, ptr %34, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #6
  store double 0xBFEFFFFDE7210BE9, ptr %36, align 8, !tbaa !16
  %310 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %36)
  %311 = load double, ptr %310, align 8, !tbaa !16
  store double %311, ptr %34, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #6
  %312 = call double @acos(double noundef %311) #6
  %313 = fsub double %312, %4
  store double %313, ptr %37, align 8, !tbaa !16
  %314 = fcmp ult double %313, 0xBE7AD7F29ABCAF48
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #6
  br i1 %314, label %319, label %315

315:                                              ; preds = %297
  %316 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !16
  %317 = fadd double %316, 0x3E7AD7F29ABCAF48
  %318 = fcmp ugt double %313, %317
  br i1 %318, label %319, label %334

319:                                              ; preds = %315, %297
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #6
  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 1, ptr nonnull %45) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %320 unwind label %340

320:                                              ; preds = %319
  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.2)
          to label %321 unwind label %342

321:                                              ; preds = %320
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %322 unwind label %344

322:                                              ; preds = %321
  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) %46)
          to label %323 unwind label %346

323:                                              ; preds = %322
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull @.str.3)
          to label %324 unwind label %348

324:                                              ; preds = %323
  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.4, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %325 unwind label %350

325:                                              ; preds = %324
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %326 unwind label %352

326:                                              ; preds = %325
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.5)
          to label %327 unwind label %354

327:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #6
  store i32 148, ptr %51, align 4, !tbaa !21
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 4 dereferenceable(4) %51)
          to label %328 unwind label %356

328:                                              ; preds = %327
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %329 unwind label %358

329:                                              ; preds = %328
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %54) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %330 unwind label %360

330:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %331 unwind label %362

331:                                              ; preds = %330
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %332 unwind label %364

332:                                              ; preds = %331
  %333 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %38, ptr noundef nonnull %52, i32 noundef 0)
          to label %.critedge1195 unwind label %366

334:                                              ; preds = %315
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #6
  br label %.critedge1216

.critedge1195:                                    ; preds = %332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @llvm.lifetime.end.p0(i64 4, 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) %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #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) %46) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  br label %.critedge1216

.critedge1216:                                    ; preds = %334, %.critedge1195
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #6
  store double 0.000000e+00, ptr %57, align 8, !tbaa !16
  %335 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %57)
  %336 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %335, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %337 = load double, ptr %336, align 8, !tbaa !16
  store double %337, ptr %2, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #6
  br i1 %8, label %338, label %381

338:                                              ; preds = %.critedge1216
  %339 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.14)
  br label %381

340:                                              ; preds = %319
  %341 = landingpad { ptr, i32 }
          cleanup
  br label %380

342:                                              ; preds = %320
  %343 = landingpad { ptr, i32 }
          cleanup
  br label %379

344:                                              ; preds = %321
  %345 = landingpad { ptr, i32 }
          cleanup
  br label %378

346:                                              ; preds = %322
  %347 = landingpad { ptr, i32 }
          cleanup
  br label %377

348:                                              ; preds = %323
  %349 = landingpad { ptr, i32 }
          cleanup
  br label %376

350:                                              ; preds = %324
  %351 = landingpad { ptr, i32 }
          cleanup
  br label %375

352:                                              ; preds = %325
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %374

354:                                              ; preds = %326
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %373

356:                                              ; preds = %327
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %372

358:                                              ; preds = %328
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %371

360:                                              ; preds = %329
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %370

362:                                              ; preds = %330
  %363 = landingpad { ptr, i32 }
          cleanup
  br label %369

364:                                              ; preds = %331
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %368

366:                                              ; preds = %332
  %367 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %368

368:                                              ; preds = %364, %366
  %.pn1050 = phi { ptr, i32 } [ %367, %366 ], [ %365, %364 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %369

369:                                              ; preds = %362, %368
  %.pn1050.pn = phi { ptr, i32 } [ %.pn1050, %368 ], [ %363, %362 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %370

370:                                              ; preds = %360, %369
  %.pn1050.pn.pn = phi { ptr, i32 } [ %.pn1050.pn, %369 ], [ %361, %360 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %371

371:                                              ; preds = %358, %370
  %.pn1050.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn, %370 ], [ %359, %358 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %372

372:                                              ; preds = %371, %356
  %.pn1050.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn, %371 ], [ %357, %356 ]
  call void @llvm.lifetime.end.p0(i64 4, 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) %39) #6
  br label %373

373:                                              ; preds = %354, %372
  %.pn1050.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn.pn, %372 ], [ %355, %354 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %374

374:                                              ; preds = %352, %373
  %.pn1050.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn.pn.pn, %373 ], [ %353, %352 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %375

375:                                              ; preds = %350, %374
  %.pn1050.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn.pn.pn.pn, %374 ], [ %351, %350 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %376

376:                                              ; preds = %348, %375
  %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn.pn.pn.pn.pn, %375 ], [ %349, %348 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %377

377:                                              ; preds = %346, %376
  %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn, %376 ], [ %347, %346 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %378

378:                                              ; preds = %344, %377
  %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn.pn, %377 ], [ %345, %344 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %379

379:                                              ; preds = %342, %378
  %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %378 ], [ %343, %342 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %380

380:                                              ; preds = %340, %379
  %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %379 ], [ %341, %340 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  br label %983

381:                                              ; preds = %338, %.critedge1216
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  br label %.critedge1432

382:                                              ; preds = %290
  %383 = getelementptr inbounds i8, ptr %0, i64 136
  %384 = load ptr, ptr %383, align 8, !tbaa !25
  %385 = tail call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4Apex10trappingCLEv(ptr noundef nonnull align 8 dereferenceable(104) %384)
  %386 = load i32, ptr %385, align 8, !tbaa !23
  %387 = icmp sgt i32 %386, -1
  br i1 %387, label %388, label %472

388:                                              ; preds = %382
  %389 = load ptr, ptr %383, align 8, !tbaa !25
  %390 = tail call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4Apex10trappingCLEv(ptr noundef nonnull align 8 dereferenceable(104) %389)
  %391 = getelementptr inbounds i8, ptr %390, i64 8
  %392 = load double, ptr %391, align 8, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #6
  %393 = load double, ptr %204, align 8, !tbaa !17
  %394 = fmul double %392, %393
  %395 = tail call double @sin(double noundef %4) #6
  %396 = fmul double %394, %395
  %397 = fdiv double %396, %5
  store double %397, ptr %58, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #6
  store double 0x3FEFFFFDE7210BE9, ptr %59, align 8, !tbaa !16
  %398 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59)
  %399 = load double, ptr %398, align 8, !tbaa !16
  store double %399, ptr %58, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #6
  store double 0xBFEFFFFDE7210BE9, ptr %60, align 8, !tbaa !16
  %400 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %60)
  %401 = load double, ptr %400, align 8, !tbaa !16
  store double %401, ptr %58, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #6
  %402 = call double @acos(double noundef %401) #6
  %403 = fsub double %402, %4
  store double %403, ptr %61, align 8, !tbaa !16
  %404 = fcmp ult double %403, 0xBE7AD7F29ABCAF48
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %75) #6
  br i1 %404, label %409, label %405

405:                                              ; preds = %388
  %406 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !16
  %407 = fadd double %406, 0x3E7AD7F29ABCAF48
  %408 = fcmp ugt double %403, %407
  br i1 %408, label %409, label %424

409:                                              ; preds = %405, %388
  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 32, ptr nonnull %68) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %69) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %410 unwind label %430

410:                                              ; preds = %409
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull @.str.2)
          to label %411 unwind label %432

411:                                              ; preds = %410
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %71) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %412 unwind label %434

412:                                              ; preds = %411
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(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 align 8 dereferenceable(32) %70)
          to label %413 unwind label %436

413:                                              ; preds = %412
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str.3)
          to label %414 unwind label %438

414:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %73) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %73)
          to label %415 unwind label %440

415:                                              ; preds = %414
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %416 unwind label %442

416:                                              ; preds = %415
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.5)
          to label %417 unwind label %444

417:                                              ; preds = %416
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #6
  store i32 159, ptr %75, align 4, !tbaa !21
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 4 dereferenceable(4) %75)
          to label %418 unwind label %446

418:                                              ; preds = %417
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %419 unwind label %448

419:                                              ; preds = %418
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %420 unwind label %450

420:                                              ; preds = %419
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %421 unwind label %452

421:                                              ; preds = %420
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %422 unwind label %454

422:                                              ; preds = %421
  %423 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %62, ptr noundef nonnull %76, i32 noundef 0)
          to label %.critedge1230 unwind label %456

424:                                              ; preds = %405
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #6
  br label %.critedge1251

.critedge1230:                                    ; preds = %422
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #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) %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #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) %66) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  br label %.critedge1251

.critedge1251:                                    ; preds = %424, %.critedge1230
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #6
  store double 0.000000e+00, ptr %81, align 8, !tbaa !16
  %425 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(8) %81)
  %426 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %425, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %427 = load double, ptr %426, align 8, !tbaa !16
  store double %427, ptr %2, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #6
  br i1 %8, label %428, label %471

428:                                              ; preds = %.critedge1251
  %429 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.15)
  br label %471

430:                                              ; preds = %409
  %431 = landingpad { ptr, i32 }
          cleanup
  br label %470

432:                                              ; preds = %410
  %433 = landingpad { ptr, i32 }
          cleanup
  br label %469

434:                                              ; preds = %411
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %468

436:                                              ; preds = %412
  %437 = landingpad { ptr, i32 }
          cleanup
  br label %467

438:                                              ; preds = %413
  %439 = landingpad { ptr, i32 }
          cleanup
  br label %466

440:                                              ; preds = %414
  %441 = landingpad { ptr, i32 }
          cleanup
  br label %465

442:                                              ; preds = %415
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %464

444:                                              ; preds = %416
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %463

446:                                              ; preds = %417
  %447 = landingpad { ptr, i32 }
          cleanup
  br label %462

448:                                              ; preds = %418
  %449 = landingpad { ptr, i32 }
          cleanup
  br label %461

450:                                              ; preds = %419
  %451 = landingpad { ptr, i32 }
          cleanup
  br label %460

452:                                              ; preds = %420
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %459

454:                                              ; preds = %421
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %458

456:                                              ; preds = %422
  %457 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br label %458

458:                                              ; preds = %454, %456
  %.pn = phi { ptr, i32 } [ %457, %456 ], [ %455, %454 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %459

459:                                              ; preds = %452, %458
  %.pn.pn = phi { ptr, i32 } [ %.pn, %458 ], [ %453, %452 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %460

460:                                              ; preds = %450, %459
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %459 ], [ %451, %450 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %461

461:                                              ; preds = %448, %460
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %460 ], [ %449, %448 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %462

462:                                              ; preds = %461, %446
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %461 ], [ %447, %446 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %463

463:                                              ; preds = %444, %462
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %462 ], [ %445, %444 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %464

464:                                              ; preds = %442, %463
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %463 ], [ %443, %442 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %465

465:                                              ; preds = %440, %464
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %464 ], [ %441, %440 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %466

466:                                              ; preds = %438, %465
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %465 ], [ %439, %438 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %467

467:                                              ; preds = %436, %466
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %466 ], [ %437, %436 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %468

468:                                              ; preds = %434, %467
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %467 ], [ %435, %434 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %469

469:                                              ; preds = %432, %468
  %.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, %468 ], [ %433, %432 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %470

470:                                              ; preds = %430, %469
  %.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, %469 ], [ %431, %430 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #6
  call void @llvm.lifetime.end.p0(i64 32, 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 8, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #6
  br label %983

471:                                              ; preds = %428, %.critedge1251
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #6
  br label %.critedge1432

472:                                              ; preds = %382, %202
  %473 = getelementptr inbounds i8, ptr %0, i64 48
  %474 = load double, ptr %473, align 8, !tbaa !26
  %475 = fsub double %474, %197
  %476 = fcmp ugt double %475, %3
  br i1 %476, label %561, label %477

477:                                              ; preds = %472
  %478 = getelementptr inbounds i8, ptr %0, i64 56
  %479 = load double, ptr %478, align 8, !tbaa !27
  %480 = fadd double %197, %479
  %481 = fcmp ult double %480, %3
  br i1 %481, label %561, label %482

482:                                              ; preds = %477
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #6
  %483 = getelementptr inbounds i8, ptr %0, i64 112
  %484 = load double, ptr %483, align 8, !tbaa !17
  %485 = fmul double %484, %3
  %486 = tail call double @sin(double noundef %4) #6
  %487 = fmul double %485, %486
  %488 = fdiv double %487, %5
  store double %488, ptr %82, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #6
  store double 0x3FEFFFFDE7210BE9, ptr %83, align 8, !tbaa !16
  %489 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull align 8 dereferenceable(8) %83)
  %490 = load double, ptr %489, align 8, !tbaa !16
  store double %490, ptr %82, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #6
  store double 0xBFEFFFFDE7210BE9, ptr %84, align 8, !tbaa !16
  %491 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull align 8 dereferenceable(8) %84)
  %492 = load double, ptr %491, align 8, !tbaa !16
  store double %492, ptr %82, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %85) #6
  %493 = call double @acos(double noundef %492) #6
  %494 = fsub double %493, %4
  store double %494, ptr %85, align 8, !tbaa !16
  %495 = fcmp ult double %494, 0xBE7AD7F29ABCAF48
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %99) #6
  br i1 %495, label %500, label %496

496:                                              ; preds = %482
  %497 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !16
  %498 = fadd double %497, 0x3E7AD7F29ABCAF48
  %499 = fcmp ugt double %494, %498
  br i1 %499, label %500, label %515

500:                                              ; preds = %496, %482
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %90) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %93) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %93)
          to label %501 unwind label %520

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

502:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %95) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %503 unwind label %524

503:                                              ; preds = %502
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %504 unwind label %526

504:                                              ; preds = %503
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull @.str.3)
          to label %505 unwind label %528

505:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %97) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %506 unwind label %530

506:                                              ; preds = %505
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %507 unwind label %532

507:                                              ; preds = %506
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull @.str.5)
          to label %508 unwind label %534

508:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %98) #6
  store i32 173, ptr %99, align 4, !tbaa !21
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %98, ptr noundef nonnull align 4 dereferenceable(4) %99)
          to label %509 unwind label %536

509:                                              ; preds = %508
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull align 8 dereferenceable(32) %98)
          to label %510 unwind label %538

510:                                              ; preds = %509
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %101) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %102) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %102)
          to label %511 unwind label %540

511:                                              ; preds = %510
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %104) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %512 unwind label %542

512:                                              ; preds = %511
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %100, ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %513 unwind label %544

513:                                              ; preds = %512
  %514 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %86, ptr noundef nonnull %100, i32 noundef 0)
          to label %.critedge1265 unwind label %546

515:                                              ; preds = %496
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %99) #6
  br label %.critedge1286

.critedge1265:                                    ; preds = %513
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %93) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  br label %.critedge1286

.critedge1286:                                    ; preds = %515, %.critedge1265
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #6
  store double 0.000000e+00, ptr %105, align 8, !tbaa !16
  %516 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef nonnull align 8 dereferenceable(8) %105)
  %517 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %516, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %518 = load double, ptr %517, align 8, !tbaa !16
  store double %518, ptr %2, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #6
  %519 = load double, ptr %483, align 8, !tbaa !17
  store double %519, ptr %1, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #6
  br label %.critedge1430

520:                                              ; preds = %500
  %521 = landingpad { ptr, i32 }
          cleanup
  br label %560

522:                                              ; preds = %501
  %523 = landingpad { ptr, i32 }
          cleanup
  br label %559

524:                                              ; preds = %502
  %525 = landingpad { ptr, i32 }
          cleanup
  br label %558

526:                                              ; preds = %503
  %527 = landingpad { ptr, i32 }
          cleanup
  br label %557

528:                                              ; preds = %504
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %556

530:                                              ; preds = %505
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %555

532:                                              ; preds = %506
  %533 = landingpad { ptr, i32 }
          cleanup
  br label %554

534:                                              ; preds = %507
  %535 = landingpad { ptr, i32 }
          cleanup
  br label %553

536:                                              ; preds = %508
  %537 = landingpad { ptr, i32 }
          cleanup
  br label %552

538:                                              ; preds = %509
  %539 = landingpad { ptr, i32 }
          cleanup
  br label %551

540:                                              ; preds = %510
  %541 = landingpad { ptr, i32 }
          cleanup
  br label %550

542:                                              ; preds = %511
  %543 = landingpad { ptr, i32 }
          cleanup
  br label %549

544:                                              ; preds = %512
  %545 = landingpad { ptr, i32 }
          cleanup
  br label %548

546:                                              ; preds = %513
  %547 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  br label %548

548:                                              ; preds = %544, %546
  %.pn1134 = phi { ptr, i32 } [ %547, %546 ], [ %545, %544 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %549

549:                                              ; preds = %542, %548
  %.pn1134.pn = phi { ptr, i32 } [ %.pn1134, %548 ], [ %543, %542 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %550

550:                                              ; preds = %540, %549
  %.pn1134.pn.pn = phi { ptr, i32 } [ %.pn1134.pn, %549 ], [ %541, %540 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %551

551:                                              ; preds = %538, %550
  %.pn1134.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn, %550 ], [ %539, %538 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %552

552:                                              ; preds = %551, %536
  %.pn1134.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn, %551 ], [ %537, %536 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br label %553

553:                                              ; preds = %534, %552
  %.pn1134.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn, %552 ], [ %535, %534 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %554

554:                                              ; preds = %532, %553
  %.pn1134.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn.pn, %553 ], [ %533, %532 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %555

555:                                              ; preds = %530, %554
  %.pn1134.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn.pn.pn, %554 ], [ %531, %530 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %556

556:                                              ; preds = %528, %555
  %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn.pn.pn.pn, %555 ], [ %529, %528 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  br label %557

557:                                              ; preds = %526, %556
  %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn, %556 ], [ %527, %526 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %558

558:                                              ; preds = %524, %557
  %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn, %557 ], [ %525, %524 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %559

559:                                              ; preds = %522, %558
  %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %558 ], [ %523, %522 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br label %560

560:                                              ; preds = %520, %559
  %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %559 ], [ %521, %520 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %93) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #6
  br label %983

561:                                              ; preds = %477, %472
  %562 = fcmp ogt double %474, %3
  br i1 %562, label %563, label %664

563:                                              ; preds = %561
  %564 = getelementptr inbounds i8, ptr %0, i64 104
  %565 = load ptr, ptr %564, align 8, !tbaa !22
  %566 = tail call noundef double @_ZNK8VoidElem11conAngleAdvEv(ptr noundef nonnull align 8 dereferenceable(184) %565)
  store double %566, ptr %2, align 8, !tbaa !16
  br i1 %8, label %567, label %569

567:                                              ; preds = %563
  %568 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.16)
  %.pre = load double, ptr %2, align 8, !tbaa !16
  br label %569

569:                                              ; preds = %567, %563
  %570 = phi double [ %.pre, %567 ], [ %566, %563 ]
  %571 = fdiv double %5, %3
  %572 = fadd double %570, %4
  %573 = tail call double @cos(double noundef %572) #6
  %574 = fmul double %571, %573
  %575 = tail call double @sin(double noundef %4) #6
  %576 = fdiv double %574, %575
  store double %576, ptr %1, align 8, !tbaa !16
  %577 = getelementptr inbounds i8, ptr %0, i64 112
  %578 = load double, ptr %577, align 8, !tbaa !17
  %579 = fcmp olt double %576, %578
  br i1 %579, label %580, label %660

580:                                              ; preds = %569
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #6
  %581 = fmul double %578, %3
  %582 = tail call double @sin(double noundef %4) #6
  %583 = fmul double %581, %582
  %584 = fdiv double %583, %5
  store double %584, ptr %106, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #6
  store double 0x3FEFFFFDE7210BE9, ptr %107, align 8, !tbaa !16
  %585 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef nonnull align 8 dereferenceable(8) %107)
  %586 = load double, ptr %585, align 8, !tbaa !16
  store double %586, ptr %106, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #6
  store double 0xBFEFFFFDE7210BE9, ptr %108, align 8, !tbaa !16
  %587 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef nonnull align 8 dereferenceable(8) %108)
  %588 = load double, ptr %587, align 8, !tbaa !16
  store double %588, ptr %106, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %109) #6
  %589 = call double @acos(double noundef %588) #6
  %590 = fsub double %589, %4
  store double %590, ptr %109, align 8, !tbaa !16
  %591 = fcmp ult double %590, 0xBE7AD7F29ABCAF48
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %123) #6
  br i1 %591, label %596, label %592

592:                                              ; preds = %580
  %593 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !16
  %594 = fadd double %593, 0x3E7AD7F29ABCAF48
  %595 = fcmp ugt double %590, %594
  br i1 %595, label %596, label %611

596:                                              ; preds = %592, %580
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %111) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %112) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %113) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %114) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %115) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %116) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %117) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %597 unwind label %618

597:                                              ; preds = %596
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %115, ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull @.str.2)
          to label %598 unwind label %620

598:                                              ; preds = %597
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %118) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %119) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %599 unwind label %622

599:                                              ; preds = %598
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %114, ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %600 unwind label %624

600:                                              ; preds = %599
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %113, ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull @.str.3)
          to label %601 unwind label %626

601:                                              ; preds = %600
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %120) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %121) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %121)
          to label %602 unwind label %628

602:                                              ; preds = %601
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %112, ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %120)
          to label %603 unwind label %630

603:                                              ; preds = %602
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %111, ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull @.str.5)
          to label %604 unwind label %632

604:                                              ; preds = %603
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %122) #6
  store i32 189, ptr %123, align 4, !tbaa !21
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull align 4 dereferenceable(4) %123)
          to label %605 unwind label %634

605:                                              ; preds = %604
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %606 unwind label %636

606:                                              ; preds = %605
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %125) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %126) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %126)
          to label %607 unwind label %638

607:                                              ; preds = %606
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %127) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %128) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %128)
          to label %608 unwind label %640

608:                                              ; preds = %607
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %609 unwind label %642

609:                                              ; preds = %608
  %610 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %110, ptr noundef nonnull %124, i32 noundef 0)
          to label %.critedge1300 unwind label %644

611:                                              ; preds = %592
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %123) #6
  br label %.critedge1321

.critedge1300:                                    ; preds = %609
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %128) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %123) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %119) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  br label %.critedge1321

.critedge1321:                                    ; preds = %611, %.critedge1300
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #6
  store double 0.000000e+00, ptr %129, align 8, !tbaa !16
  %612 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef nonnull align 8 dereferenceable(8) %129)
  %613 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %612, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %614 = load double, ptr %613, align 8, !tbaa !16
  store double %614, ptr %2, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #6
  %615 = load double, ptr %577, align 8, !tbaa !17
  store double %615, ptr %1, align 8, !tbaa !16
  br i1 %8, label %616, label %659

616:                                              ; preds = %.critedge1321
  %617 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.17)
  br label %659

618:                                              ; preds = %596
  %619 = landingpad { ptr, i32 }
          cleanup
  br label %658

620:                                              ; preds = %597
  %621 = landingpad { ptr, i32 }
          cleanup
  br label %657

622:                                              ; preds = %598
  %623 = landingpad { ptr, i32 }
          cleanup
  br label %656

624:                                              ; preds = %599
  %625 = landingpad { ptr, i32 }
          cleanup
  br label %655

626:                                              ; preds = %600
  %627 = landingpad { ptr, i32 }
          cleanup
  br label %654

628:                                              ; preds = %601
  %629 = landingpad { ptr, i32 }
          cleanup
  br label %653

630:                                              ; preds = %602
  %631 = landingpad { ptr, i32 }
          cleanup
  br label %652

632:                                              ; preds = %603
  %633 = landingpad { ptr, i32 }
          cleanup
  br label %651

634:                                              ; preds = %604
  %635 = landingpad { ptr, i32 }
          cleanup
  br label %650

636:                                              ; preds = %605
  %637 = landingpad { ptr, i32 }
          cleanup
  br label %649

638:                                              ; preds = %606
  %639 = landingpad { ptr, i32 }
          cleanup
  br label %648

640:                                              ; preds = %607
  %641 = landingpad { ptr, i32 }
          cleanup
  br label %647

642:                                              ; preds = %608
  %643 = landingpad { ptr, i32 }
          cleanup
  br label %646

644:                                              ; preds = %609
  %645 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %646

646:                                              ; preds = %642, %644
  %.pn1120 = phi { ptr, i32 } [ %645, %644 ], [ %643, %642 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %647

647:                                              ; preds = %640, %646
  %.pn1120.pn = phi { ptr, i32 } [ %.pn1120, %646 ], [ %641, %640 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %128) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %648

648:                                              ; preds = %638, %647
  %.pn1120.pn.pn = phi { ptr, i32 } [ %.pn1120.pn, %647 ], [ %639, %638 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %649

649:                                              ; preds = %636, %648
  %.pn1120.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn, %648 ], [ %637, %636 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %650

650:                                              ; preds = %649, %634
  %.pn1120.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn, %649 ], [ %635, %634 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %123) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %651

651:                                              ; preds = %632, %650
  %.pn1120.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn.pn, %650 ], [ %633, %632 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  br label %652

652:                                              ; preds = %630, %651
  %.pn1120.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn.pn.pn, %651 ], [ %631, %630 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  br label %653

653:                                              ; preds = %628, %652
  %.pn1120.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn.pn.pn.pn, %652 ], [ %629, %628 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  br label %654

654:                                              ; preds = %626, %653
  %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn.pn.pn.pn.pn, %653 ], [ %627, %626 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %655

655:                                              ; preds = %624, %654
  %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn, %654 ], [ %625, %624 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %656

656:                                              ; preds = %622, %655
  %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn.pn, %655 ], [ %623, %622 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %119) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %657

657:                                              ; preds = %620, %656
  %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %656 ], [ %621, %620 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %658

658:                                              ; preds = %618, %657
  %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %657 ], [ %619, %618 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #6
  br label %983

659:                                              ; preds = %616, %.critedge1321
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #6
  br label %.critedge1430

660:                                              ; preds = %569
  %661 = fcmp olt double %576, 0.000000e+00
  br i1 %661, label %662, label %.critedge1430

662:                                              ; preds = %660
  %663 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.18)
  br label %.critedge1430

664:                                              ; preds = %561
  %665 = getelementptr inbounds i8, ptr %0, i64 120
  %666 = load double, ptr %665, align 8, !tbaa !28
  %667 = fcmp olt double %666, %3
  br i1 %667, label %668, label %679

668:                                              ; preds = %664
  %669 = getelementptr inbounds i8, ptr %0, i64 104
  %670 = load ptr, ptr %669, align 8, !tbaa !22
  %671 = tail call noundef double @_ZNK8VoidElem16minInitRecCntAngEv(ptr noundef nonnull align 8 dereferenceable(184) %670)
  store double %671, ptr %2, align 8, !tbaa !16
  %672 = fdiv double %5, %3
  %673 = fadd double %671, %4
  %674 = tail call double @cos(double noundef %673) #6
  %675 = fmul double %672, %674
  %676 = tail call double @sin(double noundef %4) #6
  %677 = fdiv double %675, %676
  store double %677, ptr %1, align 8, !tbaa !16
  br i1 %8, label %.critedge1430.thread, label %.critedge1432

.critedge1430.thread:                             ; preds = %668
  %678 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
  br label %965

679:                                              ; preds = %664
  %680 = getelementptr inbounds i8, ptr %0, i64 56
  %681 = load double, ptr %680, align 8, !tbaa !27
  %682 = fcmp olt double %681, %3
  br i1 %682, label %683, label %893

683:                                              ; preds = %679
  %684 = getelementptr inbounds i8, ptr %0, i64 104
  %685 = load ptr, ptr %684, align 8, !tbaa !22
  %686 = tail call noundef double @_ZNK8VoidElem11conAngleRecEv(ptr noundef nonnull align 8 dereferenceable(184) %685)
  store double %686, ptr %2, align 8, !tbaa !16
  %687 = fdiv double %5, %3
  %688 = fadd double %686, %4
  %689 = tail call double @cos(double noundef %688) #6
  %690 = fmul double %687, %689
  %691 = tail call double @sin(double noundef %4) #6
  %692 = fdiv double %690, %691
  store double %692, ptr %1, align 8, !tbaa !16
  %693 = getelementptr inbounds i8, ptr %0, i64 112
  %694 = load double, ptr %693, align 8, !tbaa !17
  %695 = fcmp ogt double %692, %694
  br i1 %695, label %696, label %799

696:                                              ; preds = %683
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %130) #6
  %697 = fmul double %694, %3
  %698 = tail call double @sin(double noundef %4) #6
  %699 = fmul double %697, %698
  %700 = fdiv double %699, %5
  store double %700, ptr %130, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %131) #6
  store double 0x3FEFFFFDE7210BE9, ptr %131, align 8, !tbaa !16
  %701 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %130, ptr noundef nonnull align 8 dereferenceable(8) %131)
  %702 = load double, ptr %701, align 8, !tbaa !16
  store double %702, ptr %130, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %132) #6
  store double 0xBFEFFFFDE7210BE9, ptr %132, align 8, !tbaa !16
  %703 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %130, ptr noundef nonnull align 8 dereferenceable(8) %132)
  %704 = load double, ptr %703, align 8, !tbaa !16
  store double %704, ptr %130, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %133) #6
  %705 = call double @acos(double noundef %704) #6
  %706 = fsub double %705, %4
  store double %706, ptr %133, align 8, !tbaa !16
  %707 = fcmp ult double %706, 0xBE7AD7F29ABCAF48
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %147) #6
  br i1 %707, label %712, label %708

708:                                              ; preds = %696
  %709 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !16
  %710 = fadd double %709, 0x3E7AD7F29ABCAF48
  %711 = fcmp ugt double %706, %710
  br i1 %711, label %712, label %727

712:                                              ; preds = %708, %696
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %135) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %136) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %137) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %140) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %141) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %141)
          to label %713 unwind label %731

713:                                              ; preds = %712
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %139, ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull @.str.2)
          to label %714 unwind label %733

714:                                              ; preds = %713
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %142) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %143) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %715 unwind label %735

715:                                              ; preds = %714
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %138, ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %716 unwind label %737

716:                                              ; preds = %715
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %137, ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull @.str.3)
          to label %717 unwind label %739

717:                                              ; preds = %716
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %144) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %145) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %145)
          to label %718 unwind label %741

718:                                              ; preds = %717
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %136, ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef nonnull align 8 dereferenceable(32) %144)
          to label %719 unwind label %743

719:                                              ; preds = %718
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %135, ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef nonnull @.str.5)
          to label %720 unwind label %745

720:                                              ; preds = %719
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %146) #6
  store i32 216, ptr %147, align 4, !tbaa !21
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %146, ptr noundef nonnull align 4 dereferenceable(4) %147)
          to label %721 unwind label %747

721:                                              ; preds = %720
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %134, ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %722 unwind label %749

722:                                              ; preds = %721
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %149) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %150) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %723 unwind label %751

723:                                              ; preds = %722
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %152) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %152)
          to label %724 unwind label %753

724:                                              ; preds = %723
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %148, ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %725 unwind label %755

725:                                              ; preds = %724
  %726 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %134, ptr noundef nonnull %148, i32 noundef 0)
          to label %.critedge1335 unwind label %757

727:                                              ; preds = %708
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %147) #6
  br label %.critedge1356

.critedge1335:                                    ; preds = %725
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %145) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %141) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %137) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br label %.critedge1356

.critedge1356:                                    ; preds = %727, %.critedge1335
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %153) #6
  store double 0.000000e+00, ptr %153, align 8, !tbaa !16
  %728 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef nonnull align 8 dereferenceable(8) %153)
  %729 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %728, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %730 = load double, ptr %729, align 8, !tbaa !16
  store double %730, ptr %2, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %153) #6
  br i1 %8, label %774, label %772

731:                                              ; preds = %712
  %732 = landingpad { ptr, i32 }
          cleanup
  br label %771

733:                                              ; preds = %713
  %734 = landingpad { ptr, i32 }
          cleanup
  br label %770

735:                                              ; preds = %714
  %736 = landingpad { ptr, i32 }
          cleanup
  br label %769

737:                                              ; preds = %715
  %738 = landingpad { ptr, i32 }
          cleanup
  br label %768

739:                                              ; preds = %716
  %740 = landingpad { ptr, i32 }
          cleanup
  br label %767

741:                                              ; preds = %717
  %742 = landingpad { ptr, i32 }
          cleanup
  br label %766

743:                                              ; preds = %718
  %744 = landingpad { ptr, i32 }
          cleanup
  br label %765

745:                                              ; preds = %719
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %764

747:                                              ; preds = %720
  %748 = landingpad { ptr, i32 }
          cleanup
  br label %763

749:                                              ; preds = %721
  %750 = landingpad { ptr, i32 }
          cleanup
  br label %762

751:                                              ; preds = %722
  %752 = landingpad { ptr, i32 }
          cleanup
  br label %761

753:                                              ; preds = %723
  %754 = landingpad { ptr, i32 }
          cleanup
  br label %760

755:                                              ; preds = %724
  %756 = landingpad { ptr, i32 }
          cleanup
  br label %759

757:                                              ; preds = %725
  %758 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  br label %759

759:                                              ; preds = %755, %757
  %.pn1106 = phi { ptr, i32 } [ %758, %757 ], [ %756, %755 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %760

760:                                              ; preds = %753, %759
  %.pn1106.pn = phi { ptr, i32 } [ %.pn1106, %759 ], [ %754, %753 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  br label %761

761:                                              ; preds = %751, %760
  %.pn1106.pn.pn = phi { ptr, i32 } [ %.pn1106.pn, %760 ], [ %752, %751 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %762

762:                                              ; preds = %749, %761
  %.pn1106.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn, %761 ], [ %750, %749 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %763

763:                                              ; preds = %762, %747
  %.pn1106.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn, %762 ], [ %748, %747 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  br label %764

764:                                              ; preds = %745, %763
  %.pn1106.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn.pn, %763 ], [ %746, %745 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  br label %765

765:                                              ; preds = %743, %764
  %.pn1106.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn.pn.pn, %764 ], [ %744, %743 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %766

766:                                              ; preds = %741, %765
  %.pn1106.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn.pn.pn.pn, %765 ], [ %742, %741 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %145) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %767

767:                                              ; preds = %739, %766
  %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn.pn.pn.pn.pn, %766 ], [ %740, %739 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %768

768:                                              ; preds = %737, %767
  %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn, %767 ], [ %738, %737 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br label %769

769:                                              ; preds = %735, %768
  %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn.pn, %768 ], [ %736, %735 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %770

770:                                              ; preds = %733, %769
  %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %769 ], [ %734, %733 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  br label %771

771:                                              ; preds = %731, %770
  %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %770 ], [ %732, %731 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %141) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %137) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #6
  br label %983

772:                                              ; preds = %.critedge1356
  %773 = load double, ptr %693, align 8, !tbaa !17
  store double %773, ptr %1, align 8, !tbaa !16
  br label %.critedge1358

774:                                              ; preds = %.critedge1356
  %775 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.20)
  %776 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %775, double noundef %3)
  %777 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %776, ptr noundef nonnull @.str.21)
  %778 = load double, ptr %680, align 8, !tbaa !27
  %779 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %777, double noundef %778)
  %780 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %779, ptr noundef nonnull @.str.21)
  %781 = load double, ptr %1, align 8, !tbaa !16
  %782 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %780, double noundef %781)
  %783 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %782, ptr noundef nonnull @.str.22)
  %784 = load double, ptr %693, align 8, !tbaa !17
  %785 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %783, double noundef %784)
  %786 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %785, ptr noundef nonnull @.str.21)
  %787 = load double, ptr %2, align 8, !tbaa !16
  %788 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %786, double noundef %787)
  %789 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %788, ptr noundef nonnull @.str.23)
  %790 = load double, ptr %693, align 8, !tbaa !17
  store double %790, ptr %1, align 8, !tbaa !16
  %791 = load ptr, ptr %684, align 8, !tbaa !22
  %792 = call noundef double @_ZNK9ElemModel3RRREv(ptr noundef nonnull align 8 dereferenceable(152) %791)
  %793 = fdiv double %790, %792
  %794 = call double @tan(double noundef %4) #6
  %795 = fmul double %793, %794
  %796 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, double noundef %795)
  %797 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %796, ptr noundef nonnull @.str.24)
  %798 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.25)
  br label %.critedge1358

.critedge1358:                                    ; preds = %772, %774
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #6
  br label %.critedge1430

799:                                              ; preds = %683
  %800 = getelementptr inbounds i8, ptr %0, i64 128
  %801 = load double, ptr %800, align 8, !tbaa !29
  %802 = fcmp olt double %692, %801
  br i1 %802, label %803, label %.critedge1430

803:                                              ; preds = %799
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %154) #6
  %804 = fmul double %801, %3
  %805 = tail call double @sin(double noundef %4) #6
  %806 = fmul double %804, %805
  %807 = fdiv double %806, %5
  store double %807, ptr %154, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %155) #6
  store double 0x3FEFFFFDE7210BE9, ptr %155, align 8, !tbaa !16
  %808 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull align 8 dereferenceable(8) %155)
  %809 = load double, ptr %808, align 8, !tbaa !16
  store double %809, ptr %154, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %155) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %156) #6
  store double 0xBFEFFFFDE7210BE9, ptr %156, align 8, !tbaa !16
  %810 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull align 8 dereferenceable(8) %156)
  %811 = load double, ptr %810, align 8, !tbaa !16
  store double %811, ptr %154, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %156) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %157) #6
  %812 = call double @acos(double noundef %811) #6
  %813 = fsub double %812, %4
  store double %813, ptr %157, align 8, !tbaa !16
  %814 = fadd double %813, 0x3E7AD7F29ABCAF48
  %815 = load ptr, ptr %684, align 8, !tbaa !22
  %816 = call noundef double @_ZNK8VoidElem16minInitRecCntAngEv(ptr noundef nonnull align 8 dereferenceable(184) %815)
  %817 = fcmp ult double %814, %816
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %171) #6
  br i1 %817, label %822, label %818

818:                                              ; preds = %803
  %819 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !16
  %820 = fadd double %819, 0x3E7AD7F29ABCAF48
  %821 = fcmp ugt double %813, %820
  br i1 %821, label %822, label %837

822:                                              ; preds = %818, %803
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %159) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %160) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %161) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %162) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %163) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %164) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %165) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %165)
          to label %823 unwind label %850

823:                                              ; preds = %822
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %163, ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull @.str.2)
          to label %824 unwind label %852

824:                                              ; preds = %823
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %166) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %167) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef nonnull @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %825 unwind label %854

825:                                              ; preds = %824
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %162, ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %826 unwind label %856

826:                                              ; preds = %825
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %161, ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef nonnull @.str.3)
          to label %827 unwind label %858

827:                                              ; preds = %826
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %168) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %169) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %169) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %168, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %169)
          to label %828 unwind label %860

828:                                              ; preds = %827
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %160, ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull align 8 dereferenceable(32) %168)
          to label %829 unwind label %862

829:                                              ; preds = %828
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef nonnull @.str.5)
          to label %830 unwind label %864

830:                                              ; preds = %829
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %170) #6
  store i32 231, ptr %171, align 4, !tbaa !21
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %170, ptr noundef nonnull align 4 dereferenceable(4) %171)
          to label %831 unwind label %866

831:                                              ; preds = %830
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %158, ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull align 8 dereferenceable(32) %170)
          to label %832 unwind label %868

832:                                              ; preds = %831
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %173) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %174) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %174)
          to label %833 unwind label %870

833:                                              ; preds = %832
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %175) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %176) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef nonnull @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %176)
          to label %834 unwind label %872

834:                                              ; preds = %833
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %172, ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %835 unwind label %874

835:                                              ; preds = %834
  %836 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %158, ptr noundef nonnull %172, i32 noundef 0)
          to label %.critedge1372 unwind label %876

837:                                              ; preds = %818
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %171) #6
  br label %.critedge1393

.critedge1372:                                    ; preds = %835
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %169) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %165) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %164) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  br label %.critedge1393

.critedge1393:                                    ; preds = %837, %.critedge1372
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %177) #6
  store double 0.000000e+00, ptr %177, align 8, !tbaa !16
  %838 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull align 8 dereferenceable(8) %177)
  %839 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %838, ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE)
  %840 = load double, ptr %839, align 8, !tbaa !16
  store double %840, ptr %2, align 8, !tbaa !16
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %177) #6
  br i1 %8, label %841, label %.critedge1395

841:                                              ; preds = %.critedge1393
  %842 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
  %843 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %842, double noundef %3)
  %844 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %843, ptr noundef nonnull @.str.21)
  %845 = load double, ptr %680, align 8, !tbaa !27
  %846 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %844, double noundef %845)
  %847 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %846, ptr noundef nonnull @.str.28)
  %848 = load double, ptr %800, align 8, !tbaa !29
  store double %848, ptr %1, align 8, !tbaa !16
  %849 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.29)
  br label %892

850:                                              ; preds = %822
  %851 = landingpad { ptr, i32 }
          cleanup
  br label %890

852:                                              ; preds = %823
  %853 = landingpad { ptr, i32 }
          cleanup
  br label %889

854:                                              ; preds = %824
  %855 = landingpad { ptr, i32 }
          cleanup
  br label %888

856:                                              ; preds = %825
  %857 = landingpad { ptr, i32 }
          cleanup
  br label %887

858:                                              ; preds = %826
  %859 = landingpad { ptr, i32 }
          cleanup
  br label %886

860:                                              ; preds = %827
  %861 = landingpad { ptr, i32 }
          cleanup
  br label %885

862:                                              ; preds = %828
  %863 = landingpad { ptr, i32 }
          cleanup
  br label %884

864:                                              ; preds = %829
  %865 = landingpad { ptr, i32 }
          cleanup
  br label %883

866:                                              ; preds = %830
  %867 = landingpad { ptr, i32 }
          cleanup
  br label %882

868:                                              ; preds = %831
  %869 = landingpad { ptr, i32 }
          cleanup
  br label %881

870:                                              ; preds = %832
  %871 = landingpad { ptr, i32 }
          cleanup
  br label %880

872:                                              ; preds = %833
  %873 = landingpad { ptr, i32 }
          cleanup
  br label %879

874:                                              ; preds = %834
  %875 = landingpad { ptr, i32 }
          cleanup
  br label %878

876:                                              ; preds = %835
  %877 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %878

878:                                              ; preds = %874, %876
  %.pn1092 = phi { ptr, i32 } [ %877, %876 ], [ %875, %874 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %879

879:                                              ; preds = %872, %878
  %.pn1092.pn = phi { ptr, i32 } [ %.pn1092, %878 ], [ %873, %872 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %880

880:                                              ; preds = %870, %879
  %.pn1092.pn.pn = phi { ptr, i32 } [ %.pn1092.pn, %879 ], [ %871, %870 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %881

881:                                              ; preds = %868, %880
  %.pn1092.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn, %880 ], [ %869, %868 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  br label %882

882:                                              ; preds = %881, %866
  %.pn1092.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn, %881 ], [ %867, %866 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %883

883:                                              ; preds = %864, %882
  %.pn1092.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn.pn, %882 ], [ %865, %864 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  br label %884

884:                                              ; preds = %862, %883
  %.pn1092.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn.pn.pn, %883 ], [ %863, %862 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  br label %885

885:                                              ; preds = %860, %884
  %.pn1092.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn.pn.pn.pn, %884 ], [ %861, %860 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %169) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %886

886:                                              ; preds = %858, %885
  %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn.pn.pn.pn.pn, %885 ], [ %859, %858 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  br label %887

887:                                              ; preds = %856, %886
  %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn, %886 ], [ %857, %856 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  br label %888

888:                                              ; preds = %854, %887
  %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn.pn, %887 ], [ %855, %854 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %889

889:                                              ; preds = %852, %888
  %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %888 ], [ %853, %852 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #6
  br label %890

890:                                              ; preds = %850, %889
  %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %889 ], [ %851, %850 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %165) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %164) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #6
  br label %983

.critedge1395:                                    ; preds = %.critedge1393
  %891 = load double, ptr %800, align 8, !tbaa !29
  store double %891, ptr %1, align 8, !tbaa !16
  br label %892

892:                                              ; preds = %.critedge1395, %841
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #6
  br label %.critedge1430

893:                                              ; preds = %679
  %894 = load double, ptr %2, align 8, !tbaa !16
  %895 = fdiv double %5, %3
  %896 = fadd double %894, %4
  %897 = tail call double @cos(double noundef %896) #6
  %898 = fmul double %895, %897
  %899 = tail call double @sin(double noundef %4) #6
  %900 = fdiv double %898, %899
  store double %900, ptr %1, align 8, !tbaa !16
  br i1 %8, label %901, label %903

901:                                              ; preds = %893
  %902 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.30)
  br label %903

903:                                              ; preds = %901, %893
  %904 = load double, ptr %2, align 8, !tbaa !16
  %905 = fcmp ult double %904, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %191) #6
  %906 = load double, ptr @_ZN4Apex2PIE, align 8
  %907 = fcmp ugt double %904, %906
  %or.cond = select i1 %905, i1 true, i1 %907
  br i1 %or.cond, label %908, label %923

908:                                              ; preds = %903
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %179) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %180) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %181) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %182) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %183) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %184) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %185) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %184, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %185)
          to label %909 unwind label %924

909:                                              ; preds = %908
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %183, ptr noundef nonnull align 8 dereferenceable(32) %184, ptr noundef nonnull @.str.2)
          to label %910 unwind label %926

910:                                              ; preds = %909
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %186) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %187) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %186, ptr noundef nonnull @__FUNCTION__._ZNK10CornerApex18getCApexDistConAngERdS0_dddbbb, ptr noundef nonnull align 1 dereferenceable(1) %187)
          to label %911 unwind label %928

911:                                              ; preds = %910
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %182, ptr noundef nonnull align 8 dereferenceable(32) %183, ptr noundef nonnull align 8 dereferenceable(32) %186)
          to label %912 unwind label %930

912:                                              ; preds = %911
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %181, ptr noundef nonnull align 8 dereferenceable(32) %182, ptr noundef nonnull @.str.3)
          to label %913 unwind label %932

913:                                              ; preds = %912
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %188) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %189) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %189)
          to label %914 unwind label %934

914:                                              ; preds = %913
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %180, ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %915 unwind label %936

915:                                              ; preds = %914
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %179, ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull @.str.5)
          to label %916 unwind label %938

916:                                              ; preds = %915
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %190) #6
  store i32 245, ptr %191, align 4, !tbaa !21
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %190, ptr noundef nonnull align 4 dereferenceable(4) %191)
          to label %917 unwind label %940

917:                                              ; preds = %916
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %178, ptr noundef nonnull align 8 dereferenceable(32) %179, ptr noundef nonnull align 8 dereferenceable(32) %190)
          to label %918 unwind label %942

918:                                              ; preds = %917
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %193) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %194) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %194)
          to label %919 unwind label %944

919:                                              ; preds = %918
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %195) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %196) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %195, ptr noundef nonnull @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %196)
          to label %920 unwind label %946

920:                                              ; preds = %919
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %192, ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %921 unwind label %948

921:                                              ; preds = %920
  %922 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %178, ptr noundef nonnull %192, i32 noundef 0)
          to label %.critedge1409 unwind label %950

923:                                              ; preds = %903
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %191) #6
  br label %.critedge1430

.critedge1409:                                    ; preds = %921
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %196) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %195) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %194) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %193) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %191) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %190) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %189) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %188) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %187) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %186) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %184) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %185) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %184) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %183) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %182) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %180) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %179) #6
  br label %.critedge1430

924:                                              ; preds = %908
  %925 = landingpad { ptr, i32 }
          cleanup
  br label %964

926:                                              ; preds = %909
  %927 = landingpad { ptr, i32 }
          cleanup
  br label %963

928:                                              ; preds = %910
  %929 = landingpad { ptr, i32 }
          cleanup
  br label %962

930:                                              ; preds = %911
  %931 = landingpad { ptr, i32 }
          cleanup
  br label %961

932:                                              ; preds = %912
  %933 = landingpad { ptr, i32 }
          cleanup
  br label %960

934:                                              ; preds = %913
  %935 = landingpad { ptr, i32 }
          cleanup
  br label %959

936:                                              ; preds = %914
  %937 = landingpad { ptr, i32 }
          cleanup
  br label %958

938:                                              ; preds = %915
  %939 = landingpad { ptr, i32 }
          cleanup
  br label %957

940:                                              ; preds = %916
  %941 = landingpad { ptr, i32 }
          cleanup
  br label %956

942:                                              ; preds = %917
  %943 = landingpad { ptr, i32 }
          cleanup
  br label %955

944:                                              ; preds = %918
  %945 = landingpad { ptr, i32 }
          cleanup
  br label %954

946:                                              ; preds = %919
  %947 = landingpad { ptr, i32 }
          cleanup
  br label %953

948:                                              ; preds = %920
  %949 = landingpad { ptr, i32 }
          cleanup
  br label %952

950:                                              ; preds = %921
  %951 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #6
  br label %952

952:                                              ; preds = %948, %950
  %.pn1078 = phi { ptr, i32 } [ %951, %950 ], [ %949, %948 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  br label %953

953:                                              ; preds = %946, %952
  %.pn1078.pn = phi { ptr, i32 } [ %.pn1078, %952 ], [ %947, %946 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %196) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %195) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %954

954:                                              ; preds = %944, %953
  %.pn1078.pn.pn = phi { ptr, i32 } [ %.pn1078.pn, %953 ], [ %945, %944 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %194) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %193) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  br label %955

955:                                              ; preds = %942, %954
  %.pn1078.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn, %954 ], [ %943, %942 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #6
  br label %956

956:                                              ; preds = %955, %940
  %.pn1078.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn, %955 ], [ %941, %940 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %191) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %190) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  br label %957

957:                                              ; preds = %938, %956
  %.pn1078.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn.pn, %956 ], [ %939, %938 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %958

958:                                              ; preds = %936, %957
  %.pn1078.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn.pn.pn, %957 ], [ %937, %936 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  br label %959

959:                                              ; preds = %934, %958
  %.pn1078.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn.pn.pn.pn, %958 ], [ %935, %934 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %189) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %188) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  br label %960

960:                                              ; preds = %932, %959
  %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn.pn.pn.pn.pn, %959 ], [ %933, %932 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  br label %961

961:                                              ; preds = %930, %960
  %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn, %960 ], [ %931, %930 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #6
  br label %962

962:                                              ; preds = %928, %961
  %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn.pn, %961 ], [ %929, %928 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %187) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %186) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  br label %963

963:                                              ; preds = %926, %962
  %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %962 ], [ %927, %926 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %184) #6
  br label %964

964:                                              ; preds = %924, %963
  %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %963 ], [ %925, %924 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %185) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %184) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %183) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %182) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %180) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %179) #6
  br label %983

.critedge1430:                                    ; preds = %923, %660, %662, %659, %799, %892, %.critedge1358, %.critedge1409, %.critedge1286
  br i1 %8, label %965, label %.critedge1432

965:                                              ; preds = %.critedge1430.thread, %.critedge1430
  %966 = load double, ptr %1, align 8, !tbaa !16
  %967 = getelementptr inbounds i8, ptr %0, i64 104
  %968 = load ptr, ptr %967, align 8, !tbaa !22
  %969 = call noundef double @_ZNK9ElemModel3RRREv(ptr noundef nonnull align 8 dereferenceable(152) %968)
  %970 = call double @tan(double noundef %4) #6
  %971 = fdiv double %969, %970
  %972 = fmul double %971, 2.000000e+00
  %973 = fcmp ogt double %966, %972
  br i1 %973, label %974, label %.critedge1431

974:                                              ; preds = %965
  %975 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.32)
  br label %.critedge1431

.critedge1431:                                    ; preds = %974, %965
  %976 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.33)
  %977 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %976, double noundef %3)
  %978 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %977, ptr noundef nonnull @.str.34)
  %979 = load double, ptr %2, align 8, !tbaa !16
  %980 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %978, double noundef %979)
  %981 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %980, ptr noundef nonnull @.str.21)
  %982 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %981, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %.critedge1432

.critedge1432:                                    ; preds = %.critedge1431, %.critedge1430, %668, %471, %381, %289, %201
  ret void

983:                                              ; preds = %964, %890, %771, %658, %560, %470, %380, %288
  %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %560 ], [ %.pn1120.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %658 ], [ %.pn1106.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %771 ], [ %.pn1092.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %890 ], [ %.pn1078.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %964 ], [ %.pn1064.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %288 ], [ %.pn1050.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %380 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %470 ]
  resume { ptr, i32 } %.pn1134.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

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

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

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

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

attributes #0 = { 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 #1 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint 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 #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, !7, i64 82}
!6 = !{!"_ZTS4Apex", !7, i64 8, !10, i64 16, !10, i64 24, !11, i64 32, !12, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 81, !7, i64 82, !7, i64 83, !13, i64 88}
!7 = !{!"bool", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"double", !8, i64 0}
!11 = !{!"any pointer", !8, i64 0}
!12 = !{!"int", !8, i64 0}
!13 = !{!"_ZTSSt4pairIidE", !12, i64 0, !10, i64 8}
!14 = !{i8 0, i8 2}
!15 = !{}
!16 = !{!10, !10, i64 0}
!17 = !{!18, !10, i64 112}
!18 = !{!"_ZTS10CornerApex", !6, i64 0, !11, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !11, i64 136}
!19 = !{!6, !12, i64 88}
!20 = !{!6, !10, i64 96}
!21 = !{!12, !12, i64 0}
!22 = !{!18, !11, i64 104}
!23 = !{!13, !12, i64 0}
!24 = !{!13, !10, i64 8}
!25 = !{!18, !11, i64 136}
!26 = !{!6, !10, i64 48}
!27 = !{!6, !10, i64 56}
!28 = !{!18, !10, i64 120}
!29 = !{!18, !10, i64 128}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass