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

; 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
@__FUNCTION__._ZN10CornerApex10createFilmEdddddb = external hidden unnamed_addr constant [11 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
@.str.7 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN10CornerApex10createFilmEdddddb(ptr noundef nonnull align 8 dereferenceable(144) %0, double noundef %1, double noundef %2, double noundef %3, double noundef %4, double noundef %5, i1 noundef zeroext %6) #0 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca ptr, align 8
  %9 = alloca double, align 8
  %10 = alloca double, align 8
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca i8, align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca i1, align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca i1, align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca i1, align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca i1, align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca i1, align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca i1, align 1
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca i1, align 1
  %30 = alloca i1, align 1
  %31 = alloca ptr, align 8
  %32 = alloca i32, align 4
  %33 = alloca i1, align 1
  %34 = alloca i1, align 1
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca i1, align 1
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca i1, align 1
  %39 = alloca i1, align 1
  %40 = alloca i1, align 1
  %41 = alloca i1, align 1
  %42 = alloca i1, align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca i1, align 1
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca i1, align 1
  %47 = alloca i1, align 1
  %48 = alloca i1, align 1
  %49 = alloca i1, align 1
  %50 = alloca i1, align 1
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca i1, align 1
  %53 = alloca i32, align 4
  %54 = alloca i1, align 1
  %55 = alloca i1, align 1
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca i1, align 1
  %59 = alloca %"class.std::allocator", align 1
  %60 = alloca i1, align 1
  %61 = alloca i1, align 1
  %62 = alloca i1, align 1
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca i1, align 1
  %65 = alloca %"class.std::allocator", align 1
  %66 = alloca i1, align 1
  %67 = alloca i1, align 1
  %68 = alloca i1, align 1
  %69 = alloca i1, align 1
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca i1, align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca i1, align 1
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca i1, align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca i1, align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca i1, align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca i1, align 1
  %83 = alloca %"class.std::allocator", align 1
  %84 = alloca i1, align 1
  %85 = alloca i1, align 1
  %86 = alloca i1, align 1
  %87 = alloca i1, align 1
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca i1, align 1
  %90 = alloca %"class.std::allocator", align 1
  %91 = alloca i1, align 1
  %92 = alloca i1, align 1
  %93 = alloca i1, align 1
  %94 = alloca i1, align 1
  %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 i1, align 1
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca i1, align 1
  %106 = alloca i32, align 4
  %107 = alloca i1, align 1
  %108 = alloca i1, align 1
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca i1, align 1
  %112 = alloca %"class.std::allocator", align 1
  %113 = alloca i1, align 1
  %114 = alloca i1, align 1
  %115 = alloca i1, align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca i1, align 1
  %118 = alloca %"class.std::allocator", align 1
  %119 = alloca i1, align 1
  %120 = alloca i1, align 1
  %121 = alloca i1, align 1
  %122 = alloca i1, align 1
  %123 = alloca double, align 8
  %124 = alloca i32, align 4
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::__cxx11::basic_string", align 8
  %127 = alloca i1, align 1
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca i1, align 1
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca i1, align 1
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca i1, align 1
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca i1, align 1
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca i1, align 1
  %138 = alloca %"class.std::allocator", align 1
  %139 = alloca i1, align 1
  %140 = alloca i1, align 1
  %141 = alloca i1, align 1
  %142 = alloca i1, align 1
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca i1, align 1
  %145 = alloca %"class.std::allocator", align 1
  %146 = alloca i1, align 1
  %147 = alloca i1, align 1
  %148 = alloca i1, align 1
  %149 = alloca i1, align 1
  %150 = alloca i1, align 1
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca i1, align 1
  %153 = alloca %"class.std::allocator", align 1
  %154 = alloca i1, align 1
  %155 = alloca i1, align 1
  %156 = alloca i1, align 1
  %157 = alloca i1, align 1
  %158 = alloca i1, align 1
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca i1, align 1
  %161 = alloca i32, align 4
  %162 = alloca i1, align 1
  %163 = alloca i1, align 1
  %164 = alloca %"class.std::__cxx11::basic_string", align 8
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca i1, align 1
  %167 = alloca %"class.std::allocator", align 1
  %168 = alloca i1, align 1
  %169 = alloca i1, align 1
  %170 = alloca i1, align 1
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca i1, align 1
  %173 = alloca %"class.std::allocator", align 1
  %174 = alloca i1, align 1
  %175 = alloca i1, align 1
  %176 = alloca i1, align 1
  %177 = alloca i1, align 1
  store ptr %0, ptr %8, align 8, !tbaa !5
  store double %1, ptr %9, align 8, !tbaa !9
  store double %2, ptr %10, align 8, !tbaa !9
  store double %3, ptr %11, align 8, !tbaa !9
  store double %4, ptr %12, align 8, !tbaa !9
  store double %5, ptr %13, align 8, !tbaa !9
  %178 = zext i1 %6 to i8
  store i8 %178, ptr %14, align 1, !tbaa !11
  %179 = load ptr, ptr %8, align 8
  %180 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 12
  %181 = load i8, ptr %180, align 2, !tbaa !13, !range !17, !noundef !18
  %182 = trunc i8 %181 to i1
  store i1 false, ptr %17, align 1
  store i1 false, ptr %19, align 1
  store i1 false, ptr %21, align 1
  store i1 false, ptr %23, align 1
  store i1 false, ptr %25, align 1
  store i1 false, ptr %27, align 1
  store i1 false, ptr %29, align 1
  store i1 false, ptr %30, align 1
  store i1 false, ptr %33, align 1
  store i1 false, ptr %34, align 1
  store i1 false, ptr %36, align 1
  store i1 false, ptr %38, align 1
  store i1 false, ptr %39, align 1
  store i1 false, ptr %40, align 1
  store i1 false, ptr %41, align 1
  store i1 false, ptr %42, align 1
  store i1 false, ptr %44, align 1
  store i1 false, ptr %46, align 1
  store i1 false, ptr %47, align 1
  store i1 false, ptr %48, align 1
  store i1 false, ptr %49, align 1
  store i1 false, ptr %50, align 1
  store i1 false, ptr %52, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #6
  store i1 false, ptr %54, align 1
  store i1 false, ptr %55, align 1
  store i1 false, ptr %58, align 1
  store i1 false, ptr %60, align 1
  store i1 false, ptr %61, align 1
  store i1 false, ptr %62, align 1
  store i1 false, ptr %64, align 1
  store i1 false, ptr %66, align 1
  store i1 false, ptr %67, align 1
  store i1 false, ptr %68, align 1
  store i1 false, ptr %69, align 1
  br i1 %182, label %183, label %199

183:                                              ; preds = %7
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #6
  store i1 true, ptr %17, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #6
  store i1 true, ptr %19, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  store i1 true, ptr %21, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #6
  store i1 true, ptr %23, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #6
  store i1 true, ptr %25, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  store i1 true, ptr %27, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #6
  store i1 true, ptr %29, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  store i1 true, ptr %30, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %184 unwind label %432

184:                                              ; preds = %183
  store i1 true, ptr %33, 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 %24, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str.2)
          to label %185 unwind label %436

185:                                              ; preds = %184
  store i1 true, ptr %34, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  store i1 true, ptr %36, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #6
  store i1 true, ptr %38, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  store i1 true, ptr %39, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef @__FUNCTION__._ZN10CornerApex10createFilmEdddddb, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %186 unwind label %440

186:                                              ; preds = %185
  store i1 true, ptr %40, 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 %22, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %187 unwind label %444

187:                                              ; preds = %186
  store i1 true, ptr %41, 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 %20, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.3)
          to label %188 unwind label %448

188:                                              ; preds = %187
  store i1 true, ptr %42, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #6
  store i1 true, ptr %44, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #6
  store i1 true, ptr %46, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  store i1 true, ptr %47, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %189 unwind label %452

189:                                              ; preds = %188
  store i1 true, ptr %48, 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 %18, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %190 unwind label %456

190:                                              ; preds = %189
  store i1 true, ptr %49, 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 %16, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef @.str.5)
          to label %191 unwind label %460

191:                                              ; preds = %190
  store i1 true, ptr %50, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #6
  store i1 true, ptr %52, align 1
  store i32 41, ptr %53, align 4, !tbaa !19
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 4 dereferenceable(4) %53)
          to label %192 unwind label %464

192:                                              ; preds = %191
  store i1 true, ptr %54, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %193 unwind label %468

193:                                              ; preds = %192
  store i1 true, ptr %55, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #6
  store i1 true, ptr %58, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #6
  store i1 true, ptr %60, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  store i1 true, ptr %61, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %194 unwind label %472

194:                                              ; preds = %193
  store i1 true, ptr %62, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #6
  store i1 true, ptr %64, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #6
  store i1 true, ptr %66, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #6
  store i1 true, ptr %67, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %195 unwind label %476

195:                                              ; preds = %194
  store i1 true, ptr %68, 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 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %196 unwind label %480

196:                                              ; preds = %195
  store i1 true, ptr %69, align 1
  %197 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %15, ptr noundef %56, i32 noundef 0)
          to label %198 unwind label %484

198:                                              ; preds = %196
  br label %199

199:                                              ; preds = %198, %7
  %200 = phi i1 [ true, %7 ], [ %197, %198 ]
  %201 = xor i1 %200, true
  %202 = load i1, ptr %69, align 1
  br i1 %202, label %203, label %204

203:                                              ; preds = %199
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %204

204:                                              ; preds = %203, %199
  %205 = load i1, ptr %68, align 1
  br i1 %205, label %206, label %207

206:                                              ; preds = %204
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %207

207:                                              ; preds = %206, %204
  %208 = load i1, ptr %67, align 1
  br i1 %208, label %209, label %210

209:                                              ; preds = %207
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #6
  br label %210

210:                                              ; preds = %209, %207
  %211 = load i1, ptr %66, align 1
  br i1 %211, label %212, label %213

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

213:                                              ; preds = %212, %210
  %214 = load i1, ptr %64, align 1
  br i1 %214, label %215, label %216

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

216:                                              ; preds = %215, %213
  %217 = load i1, ptr %62, align 1
  br i1 %217, label %218, label %219

218:                                              ; preds = %216
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %219

219:                                              ; preds = %218, %216
  %220 = load i1, ptr %61, align 1
  br i1 %220, label %221, label %222

221:                                              ; preds = %219
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  br label %222

222:                                              ; preds = %221, %219
  %223 = load i1, ptr %60, align 1
  br i1 %223, label %224, label %225

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

225:                                              ; preds = %224, %222
  %226 = load i1, ptr %58, align 1
  br i1 %226, label %227, label %228

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

228:                                              ; preds = %227, %225
  %229 = load i1, ptr %55, align 1
  br i1 %229, label %230, label %231

230:                                              ; preds = %228
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %231

231:                                              ; preds = %230, %228
  %232 = load i1, ptr %54, align 1
  br i1 %232, label %233, label %234

233:                                              ; preds = %231
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %234

234:                                              ; preds = %233, %231
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  %235 = load i1, ptr %52, align 1
  br i1 %235, label %236, label %237

236:                                              ; preds = %234
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  br label %237

237:                                              ; preds = %236, %234
  %238 = load i1, ptr %50, align 1
  br i1 %238, label %239, label %240

239:                                              ; preds = %237
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %240

240:                                              ; preds = %239, %237
  %241 = load i1, ptr %49, align 1
  br i1 %241, label %242, label %243

242:                                              ; preds = %240
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %243

243:                                              ; preds = %242, %240
  %244 = load i1, ptr %48, align 1
  br i1 %244, label %245, label %246

245:                                              ; preds = %243
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %246

246:                                              ; preds = %245, %243
  %247 = load i1, ptr %47, align 1
  br i1 %247, label %248, label %249

248:                                              ; preds = %246
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  br label %249

249:                                              ; preds = %248, %246
  %250 = load i1, ptr %46, align 1
  br i1 %250, label %251, label %252

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

252:                                              ; preds = %251, %249
  %253 = load i1, ptr %44, align 1
  br i1 %253, label %254, label %255

254:                                              ; preds = %252
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  br label %255

255:                                              ; preds = %254, %252
  %256 = load i1, ptr %42, align 1
  br i1 %256, label %257, label %258

257:                                              ; preds = %255
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %258

258:                                              ; preds = %257, %255
  %259 = load i1, ptr %41, align 1
  br i1 %259, label %260, label %261

260:                                              ; preds = %258
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %261

261:                                              ; preds = %260, %258
  %262 = load i1, ptr %40, align 1
  br i1 %262, label %263, label %264

263:                                              ; preds = %261
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %264

264:                                              ; preds = %263, %261
  %265 = load i1, ptr %39, align 1
  br i1 %265, label %266, label %267

266:                                              ; preds = %264
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  br label %267

267:                                              ; preds = %266, %264
  %268 = load i1, ptr %38, align 1
  br i1 %268, label %269, label %270

269:                                              ; preds = %267
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #6
  br label %270

270:                                              ; preds = %269, %267
  %271 = load i1, ptr %36, align 1
  br i1 %271, label %272, label %273

272:                                              ; preds = %270
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  br label %273

273:                                              ; preds = %272, %270
  %274 = load i1, ptr %34, align 1
  br i1 %274, label %275, label %276

275:                                              ; preds = %273
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %276

276:                                              ; preds = %275, %273
  %277 = load i1, ptr %33, align 1
  br i1 %277, label %278, label %279

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

279:                                              ; preds = %278, %276
  %280 = load i1, ptr %30, align 1
  br i1 %280, label %281, label %282

281:                                              ; preds = %279
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  br label %282

282:                                              ; preds = %281, %279
  %283 = load i1, ptr %29, align 1
  br i1 %283, label %284, label %285

284:                                              ; preds = %282
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  br label %285

285:                                              ; preds = %284, %282
  %286 = load i1, ptr %27, align 1
  br i1 %286, label %287, label %288

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

288:                                              ; preds = %287, %285
  %289 = load i1, ptr %25, align 1
  br i1 %289, label %290, label %291

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

291:                                              ; preds = %290, %288
  %292 = load i1, ptr %23, align 1
  br i1 %292, label %293, label %294

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

294:                                              ; preds = %293, %291
  %295 = load i1, ptr %21, align 1
  br i1 %295, label %296, label %297

296:                                              ; preds = %294
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  br label %297

297:                                              ; preds = %296, %294
  %298 = load i1, ptr %19, align 1
  br i1 %298, label %299, label %300

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

300:                                              ; preds = %299, %297
  %301 = load i1, ptr %17, align 1
  br i1 %301, label %302, label %303

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

303:                                              ; preds = %302, %300
  %304 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 13
  %305 = load i8, ptr %304, align 1, !tbaa !20, !range !17, !noundef !18
  %306 = trunc i8 %305 to i1
  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 %78, align 1
  store i1 false, ptr %80, align 1
  store i1 false, ptr %82, align 1
  store i1 false, ptr %84, align 1
  store i1 false, ptr %85, align 1
  store i1 false, ptr %86, align 1
  store i1 false, ptr %87, align 1
  store i1 false, ptr %89, align 1
  store i1 false, ptr %91, align 1
  store i1 false, ptr %92, align 1
  store i1 false, ptr %93, align 1
  store i1 false, ptr %94, align 1
  store i1 false, ptr %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 %103, align 1
  store i1 false, ptr %105, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #6
  store i1 false, ptr %107, align 1
  store i1 false, ptr %108, align 1
  store i1 false, ptr %111, align 1
  store i1 false, ptr %113, align 1
  store i1 false, ptr %114, align 1
  store i1 false, ptr %115, align 1
  store i1 false, ptr %117, align 1
  store i1 false, ptr %119, align 1
  store i1 false, ptr %120, align 1
  store i1 false, ptr %121, align 1
  store i1 false, ptr %122, align 1
  br i1 %306, label %307, label %323

307:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #6
  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 32, ptr %75) #6
  store i1 true, ptr %76, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #6
  store i1 true, ptr %78, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #6
  store i1 true, ptr %80, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #6
  store i1 true, ptr %82, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #6
  store i1 true, ptr %84, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  store i1 true, ptr %85, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %308 unwind label %603

308:                                              ; preds = %307
  store i1 true, ptr %86, 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 %79, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.2)
          to label %309 unwind label %607

309:                                              ; preds = %308
  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 1, ptr %90) #6
  store i1 true, ptr %91, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  store i1 true, ptr %92, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef @__FUNCTION__._ZN10CornerApex10createFilmEdddddb, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %310 unwind label %611

310:                                              ; preds = %309
  store i1 true, ptr %93, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %311 unwind label %615

311:                                              ; preds = %310
  store i1 true, ptr %94, 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 %75, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef @.str.3)
          to label %312 unwind label %619

312:                                              ; preds = %311
  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.4, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %313 unwind label %623

313:                                              ; preds = %312
  store i1 true, ptr %101, 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 %73, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %314 unwind label %627

314:                                              ; preds = %313
  store i1 true, ptr %102, 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 %71, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.5)
          to label %315 unwind label %631

315:                                              ; preds = %314
  store i1 true, ptr %103, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #6
  store i1 true, ptr %105, align 1
  store i32 42, ptr %106, align 4, !tbaa !19
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef nonnull align 4 dereferenceable(4) %106)
          to label %316 unwind label %635

316:                                              ; preds = %315
  store i1 true, ptr %107, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %317 unwind label %639

317:                                              ; preds = %316
  store i1 true, ptr %108, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #6
  store i1 true, ptr %111, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #6
  store i1 true, ptr %113, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  store i1 true, ptr %114, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %318 unwind label %643

318:                                              ; preds = %317
  store i1 true, ptr %115, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %116) #6
  store i1 true, ptr %117, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %118) #6
  store i1 true, ptr %119, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #6
  store i1 true, ptr %120, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %319 unwind label %647

319:                                              ; preds = %318
  store i1 true, ptr %121, 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 %109, ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %116)
          to label %320 unwind label %651

320:                                              ; preds = %319
  store i1 true, ptr %122, align 1
  %321 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %70, ptr noundef %109, i32 noundef 0)
          to label %322 unwind label %655

322:                                              ; preds = %320
  br label %323

323:                                              ; preds = %322, %303
  %324 = phi i1 [ true, %303 ], [ %321, %322 ]
  %325 = xor i1 %324, true
  %326 = load i1, ptr %122, align 1
  br i1 %326, label %327, label %328

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

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

330:                                              ; preds = %328
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %331

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

333:                                              ; preds = %331
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #6
  br label %334

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

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

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

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

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

342:                                              ; preds = %340
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %343

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

345:                                              ; preds = %343
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  br label %346

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

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

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

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

352:                                              ; preds = %351, %349
  %353 = load i1, ptr %108, align 1
  br i1 %353, label %354, label %355

354:                                              ; preds = %352
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %355

355:                                              ; preds = %354, %352
  %356 = load i1, ptr %107, align 1
  br i1 %356, label %357, label %358

357:                                              ; preds = %355
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %358

358:                                              ; preds = %357, %355
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #6
  %359 = load i1, ptr %105, align 1
  br i1 %359, label %360, label %361

360:                                              ; preds = %358
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  br label %361

361:                                              ; preds = %360, %358
  %362 = load i1, ptr %103, align 1
  br i1 %362, label %363, label %364

363:                                              ; preds = %361
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %364

364:                                              ; preds = %363, %361
  %365 = load i1, ptr %102, align 1
  br i1 %365, label %366, label %367

366:                                              ; preds = %364
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %367

367:                                              ; preds = %366, %364
  %368 = load i1, ptr %101, align 1
  br i1 %368, label %369, label %370

369:                                              ; preds = %367
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %370

370:                                              ; preds = %369, %367
  %371 = load i1, ptr %100, align 1
  br i1 %371, label %372, label %373

372:                                              ; preds = %370
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  br label %373

373:                                              ; preds = %372, %370
  %374 = load i1, ptr %99, align 1
  br i1 %374, label %375, label %376

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

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

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

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

381:                                              ; preds = %379
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %382

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

384:                                              ; preds = %382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %385

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

387:                                              ; preds = %385
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %388

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

390:                                              ; preds = %388
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  br label %391

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

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

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

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

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

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

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

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

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

405:                                              ; preds = %403
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  br label %406

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

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

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

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

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

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

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

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

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

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

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

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

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

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

427:                                              ; preds = %426, %424
  %428 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 12
  %429 = load i8, ptr %428, align 2, !tbaa !13, !range !17, !noundef !18
  %430 = trunc i8 %429 to i1
  br i1 %430, label %431, label %774

431:                                              ; preds = %427
  br label %1160

432:                                              ; preds = %183
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %31, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %32, align 4
  br label %578

436:                                              ; preds = %184
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %31, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %32, align 4
  br label %574

440:                                              ; preds = %185
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %31, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %32, align 4
  br label %561

444:                                              ; preds = %186
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %31, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %32, align 4
  br label %557

448:                                              ; preds = %187
  %449 = landingpad { ptr, i32 }
          cleanup
  %450 = extractvalue { ptr, i32 } %449, 0
  store ptr %450, ptr %31, align 8
  %451 = extractvalue { ptr, i32 } %449, 1
  store i32 %451, ptr %32, align 4
  br label %553

452:                                              ; preds = %188
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %31, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %32, align 4
  br label %540

456:                                              ; preds = %189
  %457 = landingpad { ptr, i32 }
          cleanup
  %458 = extractvalue { ptr, i32 } %457, 0
  store ptr %458, ptr %31, align 8
  %459 = extractvalue { ptr, i32 } %457, 1
  store i32 %459, ptr %32, align 4
  br label %536

460:                                              ; preds = %190
  %461 = landingpad { ptr, i32 }
          cleanup
  %462 = extractvalue { ptr, i32 } %461, 0
  store ptr %462, ptr %31, align 8
  %463 = extractvalue { ptr, i32 } %461, 1
  store i32 %463, ptr %32, align 4
  br label %532

464:                                              ; preds = %191
  %465 = landingpad { ptr, i32 }
          cleanup
  %466 = extractvalue { ptr, i32 } %465, 0
  store ptr %466, ptr %31, align 8
  %467 = extractvalue { ptr, i32 } %465, 1
  store i32 %467, ptr %32, align 4
  br label %525

468:                                              ; preds = %192
  %469 = landingpad { ptr, i32 }
          cleanup
  %470 = extractvalue { ptr, i32 } %469, 0
  store ptr %470, ptr %31, align 8
  %471 = extractvalue { ptr, i32 } %469, 1
  store i32 %471, ptr %32, align 4
  br label %521

472:                                              ; preds = %193
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %31, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %32, align 4
  br label %508

476:                                              ; preds = %194
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %31, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %32, align 4
  br label %495

480:                                              ; preds = %195
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %31, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %32, align 4
  br label %491

484:                                              ; preds = %196
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %31, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %32, align 4
  %488 = load i1, ptr %69, align 1
  br i1 %488, label %489, label %490

489:                                              ; preds = %484
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %490

490:                                              ; preds = %489, %484
  br label %491

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

493:                                              ; preds = %491
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %494

494:                                              ; preds = %493, %491
  br label %495

495:                                              ; preds = %494, %476
  %496 = load i1, ptr %67, align 1
  br i1 %496, label %497, label %498

497:                                              ; preds = %495
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #6
  br label %498

498:                                              ; preds = %497, %495
  %499 = load i1, ptr %66, align 1
  br i1 %499, label %500, label %501

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

501:                                              ; preds = %500, %498
  %502 = load i1, ptr %64, align 1
  br i1 %502, label %503, label %504

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

504:                                              ; preds = %503, %501
  %505 = load i1, ptr %62, align 1
  br i1 %505, label %506, label %507

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

507:                                              ; preds = %506, %504
  br label %508

508:                                              ; preds = %507, %472
  %509 = load i1, ptr %61, align 1
  br i1 %509, label %510, label %511

510:                                              ; preds = %508
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  br label %511

511:                                              ; preds = %510, %508
  %512 = load i1, ptr %60, align 1
  br i1 %512, label %513, label %514

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

514:                                              ; preds = %513, %511
  %515 = load i1, ptr %58, align 1
  br i1 %515, label %516, label %517

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

517:                                              ; preds = %516, %514
  %518 = load i1, ptr %55, align 1
  br i1 %518, label %519, label %520

519:                                              ; preds = %517
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %520

520:                                              ; preds = %519, %517
  br label %521

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

523:                                              ; preds = %521
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %524

524:                                              ; preds = %523, %521
  br label %525

525:                                              ; preds = %524, %464
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  %526 = load i1, ptr %52, align 1
  br i1 %526, label %527, label %528

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

528:                                              ; preds = %527, %525
  %529 = load i1, ptr %50, align 1
  br i1 %529, label %530, label %531

530:                                              ; preds = %528
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %531

531:                                              ; preds = %530, %528
  br label %532

532:                                              ; preds = %531, %460
  %533 = load i1, ptr %49, align 1
  br i1 %533, label %534, label %535

534:                                              ; preds = %532
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %535

535:                                              ; preds = %534, %532
  br label %536

536:                                              ; preds = %535, %456
  %537 = load i1, ptr %48, align 1
  br i1 %537, label %538, label %539

538:                                              ; preds = %536
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %539

539:                                              ; preds = %538, %536
  br label %540

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

542:                                              ; preds = %540
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  br label %543

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

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

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

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

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

551:                                              ; preds = %549
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %552

552:                                              ; preds = %551, %549
  br label %553

553:                                              ; preds = %552, %448
  %554 = load i1, ptr %41, align 1
  br i1 %554, label %555, label %556

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

556:                                              ; preds = %555, %553
  br label %557

557:                                              ; preds = %556, %444
  %558 = load i1, ptr %40, align 1
  br i1 %558, label %559, label %560

559:                                              ; preds = %557
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %560

560:                                              ; preds = %559, %557
  br label %561

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

563:                                              ; preds = %561
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  br label %564

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

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

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

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

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

572:                                              ; preds = %570
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %573

573:                                              ; preds = %572, %570
  br label %574

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

576:                                              ; preds = %574
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %577

577:                                              ; preds = %576, %574
  br label %578

578:                                              ; preds = %577, %432
  %579 = load i1, ptr %30, align 1
  br i1 %579, label %580, label %581

580:                                              ; preds = %578
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  br label %581

581:                                              ; preds = %580, %578
  %582 = load i1, ptr %29, align 1
  br i1 %582, label %583, label %584

583:                                              ; preds = %581
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  br label %584

584:                                              ; preds = %583, %581
  %585 = load i1, ptr %27, align 1
  br i1 %585, label %586, label %587

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

587:                                              ; preds = %586, %584
  %588 = load i1, ptr %25, align 1
  br i1 %588, label %589, label %590

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

590:                                              ; preds = %589, %587
  %591 = load i1, ptr %23, align 1
  br i1 %591, label %592, label %593

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

593:                                              ; preds = %592, %590
  %594 = load i1, ptr %21, align 1
  br i1 %594, label %595, label %596

595:                                              ; preds = %593
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  br label %596

596:                                              ; preds = %595, %593
  %597 = load i1, ptr %19, align 1
  br i1 %597, label %598, label %599

598:                                              ; preds = %596
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  br label %599

599:                                              ; preds = %598, %596
  %600 = load i1, ptr %17, align 1
  br i1 %600, label %601, label %602

601:                                              ; preds = %599
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  br label %602

602:                                              ; preds = %601, %599
  br label %1161

603:                                              ; preds = %307
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %31, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %32, align 4
  br label %749

607:                                              ; preds = %308
  %608 = landingpad { ptr, i32 }
          cleanup
  %609 = extractvalue { ptr, i32 } %608, 0
  store ptr %609, ptr %31, align 8
  %610 = extractvalue { ptr, i32 } %608, 1
  store i32 %610, ptr %32, align 4
  br label %745

611:                                              ; preds = %309
  %612 = landingpad { ptr, i32 }
          cleanup
  %613 = extractvalue { ptr, i32 } %612, 0
  store ptr %613, ptr %31, align 8
  %614 = extractvalue { ptr, i32 } %612, 1
  store i32 %614, ptr %32, align 4
  br label %732

615:                                              ; preds = %310
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %31, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %32, align 4
  br label %728

619:                                              ; preds = %311
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %31, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %32, align 4
  br label %724

623:                                              ; preds = %312
  %624 = landingpad { ptr, i32 }
          cleanup
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %31, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %32, align 4
  br label %711

627:                                              ; preds = %313
  %628 = landingpad { ptr, i32 }
          cleanup
  %629 = extractvalue { ptr, i32 } %628, 0
  store ptr %629, ptr %31, align 8
  %630 = extractvalue { ptr, i32 } %628, 1
  store i32 %630, ptr %32, align 4
  br label %707

631:                                              ; preds = %314
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %31, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %32, align 4
  br label %703

635:                                              ; preds = %315
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %31, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %32, align 4
  br label %696

639:                                              ; preds = %316
  %640 = landingpad { ptr, i32 }
          cleanup
  %641 = extractvalue { ptr, i32 } %640, 0
  store ptr %641, ptr %31, align 8
  %642 = extractvalue { ptr, i32 } %640, 1
  store i32 %642, ptr %32, align 4
  br label %692

643:                                              ; preds = %317
  %644 = landingpad { ptr, i32 }
          cleanup
  %645 = extractvalue { ptr, i32 } %644, 0
  store ptr %645, ptr %31, align 8
  %646 = extractvalue { ptr, i32 } %644, 1
  store i32 %646, ptr %32, align 4
  br label %679

647:                                              ; preds = %318
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %31, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %32, align 4
  br label %666

651:                                              ; preds = %319
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %31, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %32, align 4
  br label %662

655:                                              ; preds = %320
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %31, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %32, align 4
  %659 = load i1, ptr %122, align 1
  br i1 %659, label %660, label %661

660:                                              ; preds = %655
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %661

661:                                              ; preds = %660, %655
  br label %662

662:                                              ; preds = %661, %651
  %663 = load i1, ptr %121, align 1
  br i1 %663, label %664, label %665

664:                                              ; preds = %662
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %665

665:                                              ; preds = %664, %662
  br label %666

666:                                              ; preds = %665, %647
  %667 = load i1, ptr %120, align 1
  br i1 %667, label %668, label %669

668:                                              ; preds = %666
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #6
  br label %669

669:                                              ; preds = %668, %666
  %670 = load i1, ptr %119, align 1
  br i1 %670, label %671, label %672

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

672:                                              ; preds = %671, %669
  %673 = load i1, ptr %117, align 1
  br i1 %673, label %674, label %675

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

675:                                              ; preds = %674, %672
  %676 = load i1, ptr %115, align 1
  br i1 %676, label %677, label %678

677:                                              ; preds = %675
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %678

678:                                              ; preds = %677, %675
  br label %679

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

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

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

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

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

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

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

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

691:                                              ; preds = %690, %688
  br label %692

692:                                              ; preds = %691, %639
  %693 = load i1, ptr %107, align 1
  br i1 %693, label %694, label %695

694:                                              ; preds = %692
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %695

695:                                              ; preds = %694, %692
  br label %696

696:                                              ; preds = %695, %635
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #6
  %697 = load i1, ptr %105, align 1
  br i1 %697, label %698, label %699

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

699:                                              ; preds = %698, %696
  %700 = load i1, ptr %103, align 1
  br i1 %700, label %701, label %702

701:                                              ; preds = %699
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %702

702:                                              ; preds = %701, %699
  br label %703

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

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

706:                                              ; preds = %705, %703
  br label %707

707:                                              ; preds = %706, %627
  %708 = load i1, ptr %101, align 1
  br i1 %708, label %709, label %710

709:                                              ; preds = %707
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %710

710:                                              ; preds = %709, %707
  br label %711

711:                                              ; preds = %710, %623
  %712 = load i1, ptr %100, align 1
  br i1 %712, label %713, label %714

713:                                              ; preds = %711
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  br label %714

714:                                              ; preds = %713, %711
  %715 = load i1, ptr %99, align 1
  br i1 %715, label %716, label %717

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

717:                                              ; preds = %716, %714
  %718 = load i1, ptr %97, align 1
  br i1 %718, label %719, label %720

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

720:                                              ; preds = %719, %717
  %721 = load i1, ptr %95, align 1
  br i1 %721, label %722, label %723

722:                                              ; preds = %720
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %723

723:                                              ; preds = %722, %720
  br label %724

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

726:                                              ; preds = %724
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %727

727:                                              ; preds = %726, %724
  br label %728

728:                                              ; preds = %727, %615
  %729 = load i1, ptr %93, align 1
  br i1 %729, label %730, label %731

730:                                              ; preds = %728
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %731

731:                                              ; preds = %730, %728
  br label %732

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

734:                                              ; preds = %732
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  br label %735

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

737:                                              ; preds = %735
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #6
  br label %738

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

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

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

743:                                              ; preds = %741
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %744

744:                                              ; preds = %743, %741
  br label %745

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

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

748:                                              ; preds = %747, %745
  br label %749

749:                                              ; preds = %748, %603
  %750 = load i1, ptr %85, align 1
  br i1 %750, label %751, label %752

751:                                              ; preds = %749
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  br label %752

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

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

755:                                              ; preds = %754, %752
  %756 = load i1, ptr %82, align 1
  br i1 %756, label %757, label %758

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

758:                                              ; preds = %757, %755
  %759 = load i1, ptr %80, align 1
  br i1 %759, label %760, label %761

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

761:                                              ; preds = %760, %758
  %762 = load i1, ptr %78, align 1
  br i1 %762, label %763, label %764

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

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

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

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

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

770:                                              ; preds = %769, %767
  %771 = load i1, ptr %72, align 1
  br i1 %771, label %772, label %773

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

773:                                              ; preds = %772, %770
  br label %1161

774:                                              ; preds = %427
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #6
  %775 = load i8, ptr %14, align 1, !tbaa !11, !range !17, !noundef !18
  %776 = trunc i8 %775 to i1
  br i1 %776, label %777, label %779

777:                                              ; preds = %774
  %778 = load double, ptr %10, align 8, !tbaa !9
  br label %781

779:                                              ; preds = %774
  %780 = load double, ptr %11, align 8, !tbaa !9
  br label %781

781:                                              ; preds = %779, %777
  %782 = phi double [ %778, %777 ], [ %780, %779 ]
  store double %782, ptr %123, align 8, !tbaa !9
  %783 = load double, ptr %123, align 8, !tbaa !9
  %784 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !9
  %785 = fdiv double %784, 2.000000e+00
  %786 = load double, ptr %12, align 8, !tbaa !9
  %787 = fsub double %785, %786
  %788 = fcmp olt double %783, %787
  %789 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 12
  %790 = zext i1 %788 to i8
  store i8 %790, ptr %789, align 2, !tbaa !13
  %791 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 12
  %792 = load i8, ptr %791, align 2, !tbaa !13, !range !17, !noundef !18
  %793 = trunc i8 %792 to i1
  br i1 %793, label %795, label %794

794:                                              ; preds = %781
  store i32 1, ptr %124, align 4
  br label %1158

795:                                              ; preds = %781
  %796 = load double, ptr %13, align 8, !tbaa !9
  %797 = load double, ptr %9, align 8, !tbaa !9
  %798 = fdiv double %796, %797
  %799 = load double, ptr %123, align 8, !tbaa !9
  %800 = load double, ptr %12, align 8, !tbaa !9
  %801 = fadd double %799, %800
  %802 = call double @cos(double noundef %801) #6
  %803 = fmul double %798, %802
  %804 = load double, ptr %12, align 8, !tbaa !9
  %805 = call double @sin(double noundef %804) #6
  %806 = fdiv double %803, %805
  %807 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 2
  store double %806, ptr %807, align 8, !tbaa !21
  %808 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 2
  %809 = load double, ptr %808, align 8, !tbaa !21
  %810 = fcmp ogt double %809, 0.000000e+00
  store i1 false, ptr %127, align 1
  store i1 false, ptr %129, align 1
  store i1 false, ptr %131, align 1
  store i1 false, ptr %133, align 1
  store i1 false, ptr %135, align 1
  store i1 false, ptr %137, align 1
  store i1 false, ptr %139, align 1
  store i1 false, ptr %140, align 1
  store i1 false, ptr %141, align 1
  store i1 false, ptr %142, align 1
  store i1 false, ptr %144, align 1
  store i1 false, ptr %146, align 1
  store i1 false, ptr %147, align 1
  store i1 false, ptr %148, align 1
  store i1 false, ptr %149, align 1
  store i1 false, ptr %150, align 1
  store i1 false, ptr %152, align 1
  store i1 false, ptr %154, align 1
  store i1 false, ptr %155, align 1
  store i1 false, ptr %156, align 1
  store i1 false, ptr %157, align 1
  store i1 false, ptr %158, align 1
  store i1 false, ptr %160, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #6
  store i1 false, ptr %162, align 1
  store i1 false, ptr %163, align 1
  store i1 false, ptr %166, align 1
  store i1 false, ptr %168, align 1
  store i1 false, ptr %169, align 1
  store i1 false, ptr %170, align 1
  store i1 false, ptr %172, 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 %177, align 1
  br i1 %810, label %827, label %811

811:                                              ; preds = %795
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #6
  store i1 true, ptr %127, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #6
  store i1 true, ptr %129, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #6
  store i1 true, ptr %131, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #6
  store i1 true, ptr %133, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #6
  store i1 true, ptr %135, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %136) #6
  store i1 true, ptr %137, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %138) #6
  store i1 true, ptr %139, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #6
  store i1 true, ptr %140, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %138)
          to label %812 unwind label %944

812:                                              ; preds = %811
  store i1 true, ptr %141, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %134, ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef @.str.2)
          to label %813 unwind label %948

813:                                              ; preds = %812
  store i1 true, ptr %142, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %143) #6
  store i1 true, ptr %144, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %145) #6
  store i1 true, ptr %146, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #6
  store i1 true, ptr %147, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %143, ptr noundef @__FUNCTION__._ZN10CornerApex10createFilmEdddddb, ptr noundef nonnull align 1 dereferenceable(1) %145)
          to label %814 unwind label %952

814:                                              ; preds = %813
  store i1 true, ptr %148, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %132, ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull align 8 dereferenceable(32) %143)
          to label %815 unwind label %956

815:                                              ; preds = %814
  store i1 true, ptr %149, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.3)
          to label %816 unwind label %960

816:                                              ; preds = %815
  store i1 true, ptr %150, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %151) #6
  store i1 true, ptr %152, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %153) #6
  store i1 true, ptr %154, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #6
  store i1 true, ptr %155, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %153)
          to label %817 unwind label %964

817:                                              ; preds = %816
  store i1 true, ptr %156, 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 %128, ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %818 unwind label %968

818:                                              ; preds = %817
  store i1 true, ptr %157, 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 %126, ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef @.str.5)
          to label %819 unwind label %972

819:                                              ; preds = %818
  store i1 true, ptr %158, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %159) #6
  store i1 true, ptr %160, align 1
  store i32 55, ptr %161, align 4, !tbaa !19
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef nonnull align 4 dereferenceable(4) %161)
          to label %820 unwind label %976

820:                                              ; preds = %819
  store i1 true, ptr %162, 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 %125, ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %821 unwind label %980

821:                                              ; preds = %820
  store i1 true, ptr %163, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %165) #6
  store i1 true, ptr %166, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #6
  store i1 true, ptr %168, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #6
  store i1 true, ptr %169, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %822 unwind label %984

822:                                              ; preds = %821
  store i1 true, ptr %170, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %171) #6
  store i1 true, ptr %172, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %173) #6
  store i1 true, ptr %174, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #6
  store i1 true, ptr %175, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %171, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %173)
          to label %823 unwind label %988

823:                                              ; preds = %822
  store i1 true, ptr %176, 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 %164, ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(32) %171)
          to label %824 unwind label %992

824:                                              ; preds = %823
  store i1 true, ptr %177, align 1
  %825 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %125, ptr noundef %164, i32 noundef 0)
          to label %826 unwind label %996

826:                                              ; preds = %824
  br label %827

827:                                              ; preds = %826, %795
  %828 = phi i1 [ true, %795 ], [ %825, %826 ]
  %829 = xor i1 %828, true
  %830 = load i1, ptr %177, align 1
  br i1 %830, label %831, label %832

831:                                              ; preds = %827
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #6
  br label %832

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

834:                                              ; preds = %832
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  br label %835

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

837:                                              ; preds = %835
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #6
  br label %838

838:                                              ; preds = %837, %835
  %839 = load i1, ptr %174, align 1
  br i1 %839, label %840, label %841

840:                                              ; preds = %838
  call void @llvm.lifetime.end.p0(i64 1, ptr %173) #6
  br label %841

841:                                              ; preds = %840, %838
  %842 = load i1, ptr %172, align 1
  br i1 %842, label %843, label %844

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

844:                                              ; preds = %843, %841
  %845 = load i1, ptr %170, align 1
  br i1 %845, label %846, label %847

846:                                              ; preds = %844
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %847

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

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

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

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

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

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

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

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

859:                                              ; preds = %858, %856
  %860 = load i1, ptr %162, align 1
  br i1 %860, label %861, label %862

861:                                              ; preds = %859
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %862

862:                                              ; preds = %861, %859
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #6
  %863 = load i1, ptr %160, align 1
  br i1 %863, label %864, label %865

864:                                              ; preds = %862
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #6
  br label %865

865:                                              ; preds = %864, %862
  %866 = load i1, ptr %158, align 1
  br i1 %866, label %867, label %868

867:                                              ; preds = %865
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #6
  br label %868

868:                                              ; preds = %867, %865
  %869 = load i1, ptr %157, align 1
  br i1 %869, label %870, label %871

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

871:                                              ; preds = %870, %868
  %872 = load i1, ptr %156, align 1
  br i1 %872, label %873, label %874

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

874:                                              ; preds = %873, %871
  %875 = load i1, ptr %155, align 1
  br i1 %875, label %876, label %877

876:                                              ; preds = %874
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #6
  br label %877

877:                                              ; preds = %876, %874
  %878 = load i1, ptr %154, align 1
  br i1 %878, label %879, label %880

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

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

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

883:                                              ; preds = %882, %880
  %884 = load i1, ptr %150, align 1
  br i1 %884, label %885, label %886

885:                                              ; preds = %883
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %886

886:                                              ; preds = %885, %883
  %887 = load i1, ptr %149, align 1
  br i1 %887, label %888, label %889

888:                                              ; preds = %886
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %889

889:                                              ; preds = %888, %886
  %890 = load i1, ptr %148, align 1
  br i1 %890, label %891, label %892

891:                                              ; preds = %889
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  br label %892

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

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

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

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

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

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

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

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

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

906:                                              ; preds = %904
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  br label %907

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

909:                                              ; preds = %907
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #6
  br label %910

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

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

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

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

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

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

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

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

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

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

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

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

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

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

931:                                              ; preds = %930, %928
  %932 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 2
  %933 = load double, ptr %932, align 8, !tbaa !21
  %934 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 1
  %935 = load ptr, ptr %934, align 8, !tbaa !23
  %936 = call noundef double @_ZNK9ElemModel3RRREv(ptr noundef nonnull align 8 dereferenceable(152) %935)
  %937 = load double, ptr %12, align 8, !tbaa !9
  %938 = call double @tan(double noundef %937) #6
  %939 = fdiv double %936, %938
  %940 = fmul double %939, 2.000000e+00
  %941 = fcmp ogt double %933, %940
  br i1 %941, label %942, label %1115

942:                                              ; preds = %931
  %943 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.10)
  br label %1115

944:                                              ; preds = %811
  %945 = landingpad { ptr, i32 }
          cleanup
  %946 = extractvalue { ptr, i32 } %945, 0
  store ptr %946, ptr %31, align 8
  %947 = extractvalue { ptr, i32 } %945, 1
  store i32 %947, ptr %32, align 4
  br label %1090

948:                                              ; preds = %812
  %949 = landingpad { ptr, i32 }
          cleanup
  %950 = extractvalue { ptr, i32 } %949, 0
  store ptr %950, ptr %31, align 8
  %951 = extractvalue { ptr, i32 } %949, 1
  store i32 %951, ptr %32, align 4
  br label %1086

952:                                              ; preds = %813
  %953 = landingpad { ptr, i32 }
          cleanup
  %954 = extractvalue { ptr, i32 } %953, 0
  store ptr %954, ptr %31, align 8
  %955 = extractvalue { ptr, i32 } %953, 1
  store i32 %955, ptr %32, align 4
  br label %1073

956:                                              ; preds = %814
  %957 = landingpad { ptr, i32 }
          cleanup
  %958 = extractvalue { ptr, i32 } %957, 0
  store ptr %958, ptr %31, align 8
  %959 = extractvalue { ptr, i32 } %957, 1
  store i32 %959, ptr %32, align 4
  br label %1069

960:                                              ; preds = %815
  %961 = landingpad { ptr, i32 }
          cleanup
  %962 = extractvalue { ptr, i32 } %961, 0
  store ptr %962, ptr %31, align 8
  %963 = extractvalue { ptr, i32 } %961, 1
  store i32 %963, ptr %32, align 4
  br label %1065

964:                                              ; preds = %816
  %965 = landingpad { ptr, i32 }
          cleanup
  %966 = extractvalue { ptr, i32 } %965, 0
  store ptr %966, ptr %31, align 8
  %967 = extractvalue { ptr, i32 } %965, 1
  store i32 %967, ptr %32, align 4
  br label %1052

968:                                              ; preds = %817
  %969 = landingpad { ptr, i32 }
          cleanup
  %970 = extractvalue { ptr, i32 } %969, 0
  store ptr %970, ptr %31, align 8
  %971 = extractvalue { ptr, i32 } %969, 1
  store i32 %971, ptr %32, align 4
  br label %1048

972:                                              ; preds = %818
  %973 = landingpad { ptr, i32 }
          cleanup
  %974 = extractvalue { ptr, i32 } %973, 0
  store ptr %974, ptr %31, align 8
  %975 = extractvalue { ptr, i32 } %973, 1
  store i32 %975, ptr %32, align 4
  br label %1044

976:                                              ; preds = %819
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %31, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %32, align 4
  br label %1037

980:                                              ; preds = %820
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %31, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %32, align 4
  br label %1033

984:                                              ; preds = %821
  %985 = landingpad { ptr, i32 }
          cleanup
  %986 = extractvalue { ptr, i32 } %985, 0
  store ptr %986, ptr %31, align 8
  %987 = extractvalue { ptr, i32 } %985, 1
  store i32 %987, ptr %32, align 4
  br label %1020

988:                                              ; preds = %822
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %31, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %32, align 4
  br label %1007

992:                                              ; preds = %823
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %31, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %32, align 4
  br label %1003

996:                                              ; preds = %824
  %997 = landingpad { ptr, i32 }
          cleanup
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %31, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %32, align 4
  %1000 = load i1, ptr %177, align 1
  br i1 %1000, label %1001, label %1002

1001:                                             ; preds = %996
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #6
  br label %1002

1002:                                             ; preds = %1001, %996
  br label %1003

1003:                                             ; preds = %1002, %992
  %1004 = load i1, ptr %176, align 1
  br i1 %1004, label %1005, label %1006

1005:                                             ; preds = %1003
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  br label %1006

1006:                                             ; preds = %1005, %1003
  br label %1007

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

1009:                                             ; preds = %1007
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #6
  br label %1010

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

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

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

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

1016:                                             ; preds = %1015, %1013
  %1017 = load i1, ptr %170, align 1
  br i1 %1017, label %1018, label %1019

1018:                                             ; preds = %1016
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1019

1019:                                             ; preds = %1018, %1016
  br label %1020

1020:                                             ; preds = %1019, %984
  %1021 = load i1, ptr %169, align 1
  br i1 %1021, label %1022, label %1023

1022:                                             ; preds = %1020
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #6
  br label %1023

1023:                                             ; preds = %1022, %1020
  %1024 = load i1, ptr %168, align 1
  br i1 %1024, label %1025, label %1026

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

1026:                                             ; preds = %1025, %1023
  %1027 = load i1, ptr %166, align 1
  br i1 %1027, label %1028, label %1029

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

1029:                                             ; preds = %1028, %1026
  %1030 = load i1, ptr %163, align 1
  br i1 %1030, label %1031, label %1032

1031:                                             ; preds = %1029
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1032

1032:                                             ; preds = %1031, %1029
  br label %1033

1033:                                             ; preds = %1032, %980
  %1034 = load i1, ptr %162, align 1
  br i1 %1034, label %1035, label %1036

1035:                                             ; preds = %1033
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1036

1036:                                             ; preds = %1035, %1033
  br label %1037

1037:                                             ; preds = %1036, %976
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #6
  %1038 = load i1, ptr %160, align 1
  br i1 %1038, label %1039, label %1040

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

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

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

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

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

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

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

1048:                                             ; preds = %1047, %968
  %1049 = load i1, ptr %156, align 1
  br i1 %1049, label %1050, label %1051

1050:                                             ; preds = %1048
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1051

1051:                                             ; preds = %1050, %1048
  br label %1052

1052:                                             ; preds = %1051, %964
  %1053 = load i1, ptr %155, align 1
  br i1 %1053, label %1054, label %1055

1054:                                             ; preds = %1052
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #6
  br label %1055

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

1057:                                             ; preds = %1055
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #6
  br label %1058

1058:                                             ; preds = %1057, %1055
  %1059 = load i1, ptr %152, align 1
  br i1 %1059, label %1060, label %1061

1060:                                             ; preds = %1058
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #6
  br label %1061

1061:                                             ; preds = %1060, %1058
  %1062 = load i1, ptr %150, align 1
  br i1 %1062, label %1063, label %1064

1063:                                             ; preds = %1061
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1064

1064:                                             ; preds = %1063, %1061
  br label %1065

1065:                                             ; preds = %1064, %960
  %1066 = load i1, ptr %149, align 1
  br i1 %1066, label %1067, label %1068

1067:                                             ; preds = %1065
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %1068

1068:                                             ; preds = %1067, %1065
  br label %1069

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1092:                                             ; preds = %1090
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #6
  br label %1093

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1114:                                             ; preds = %1113, %1111
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #6
  br label %1161

1115:                                             ; preds = %942, %931
  %1116 = load double, ptr %9, align 8, !tbaa !9
  %1117 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 3
  store double %1116, ptr %1117, align 8, !tbaa !24
  %1118 = load double, ptr %13, align 8, !tbaa !9
  %1119 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE, ptr noundef nonnull align 8 dereferenceable(8) %11)
  %1120 = load double, ptr %1119, align 8, !tbaa !9
  %1121 = load double, ptr %12, align 8, !tbaa !9
  %1122 = fadd double %1120, %1121
  %1123 = call double @cos(double noundef %1122) #6
  %1124 = fmul double %1118, %1123
  %1125 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 2
  %1126 = load double, ptr %1125, align 8, !tbaa !21
  %1127 = load double, ptr %12, align 8, !tbaa !9
  %1128 = call double @sin(double noundef %1127) #6
  %1129 = fmul double %1126, %1128
  %1130 = fdiv double %1124, %1129
  %1131 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 6
  store double %1130, ptr %1131, align 8, !tbaa !25
  %1132 = load double, ptr %13, align 8, !tbaa !9
  %1133 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE, ptr noundef nonnull align 8 dereferenceable(8) %10)
  %1134 = load double, ptr %1133, align 8, !tbaa !9
  %1135 = load double, ptr %12, align 8, !tbaa !9
  %1136 = fadd double %1134, %1135
  %1137 = call double @cos(double noundef %1136) #6
  %1138 = fmul double %1132, %1137
  %1139 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 2
  %1140 = load double, ptr %1139, align 8, !tbaa !21
  %1141 = load double, ptr %12, align 8, !tbaa !9
  %1142 = call double @sin(double noundef %1141) #6
  %1143 = fmul double %1140, %1142
  %1144 = fdiv double %1138, %1143
  %1145 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 7
  store double %1144, ptr %1145, align 8, !tbaa !26
  %1146 = getelementptr inbounds %class.Apex, ptr %179, i32 0, i32 13
  store i8 1, ptr %1146, align 1, !tbaa !20
  %1147 = load double, ptr %9, align 8, !tbaa !9
  %1148 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 3
  %1149 = load double, ptr %1148, align 8, !tbaa !27
  %1150 = fcmp ogt double %1147, %1149
  br i1 %1150, label %1151, label %1157

1151:                                             ; preds = %1115
  %1152 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 2
  %1153 = load double, ptr %1152, align 8, !tbaa !21
  %1154 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 4
  store double %1153, ptr %1154, align 8, !tbaa !28
  %1155 = load double, ptr %9, align 8, !tbaa !9
  %1156 = getelementptr inbounds %class.CornerApex, ptr %179, i32 0, i32 3
  store double %1155, ptr %1156, align 8, !tbaa !27
  br label %1157

1157:                                             ; preds = %1151, %1115
  store i32 0, ptr %124, align 4
  br label %1158

1158:                                             ; preds = %1157, %794
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #6
  %1159 = load i32, ptr %124, align 4
  switch i32 %1159, label %1166 [
    i32 0, label %1160
    i32 1, label %1160
  ]

1160:                                             ; preds = %1158, %1158, %431
  ret void

1161:                                             ; preds = %1114, %773, %602
  %1162 = load ptr, ptr %31, align 8
  %1163 = load i32, ptr %32, align 4
  %1164 = insertvalue { ptr, i32 } poison, ptr %1162, 0
  %1165 = insertvalue { ptr, i32 } %1164, i32 %1163, 1
  resume { ptr, i32 } %1165

1166:                                             ; preds = %1158
  unreachable
}

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; 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

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { 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 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 = !{!14, !12, i64 82}
!14 = !{!"_ZTS4Apex", !12, i64 8, !10, i64 16, !10, i64 24, !6, i64 32, !15, 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, !16, i64 88}
!15 = !{!"int", !7, i64 0}
!16 = !{!"_ZTSSt4pairIidE", !15, i64 0, !10, i64 8}
!17 = !{i8 0, i8 2}
!18 = !{}
!19 = !{!15, !15, i64 0}
!20 = !{!14, !12, i64 83}
!21 = !{!22, !10, i64 112}
!22 = !{!"_ZTS10CornerApex", !14, i64 0, !6, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !6, i64 136}
!23 = !{!22, !6, i64 104}
!24 = !{!14, !10, i64 24}
!25 = !{!14, !10, i64 48}
!26 = !{!14, !10, i64 56}
!27 = !{!22, !10, i64 120}
!28 = !{!22, !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
@__FUNCTION__._ZN10CornerApex10createFilmEdddddb = external hidden unnamed_addr constant [11 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
@.str.7 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN10CornerApex10createFilmEdddddb(ptr nocapture noundef nonnull align 8 dereferenceable(144) %0, double noundef %1, double noundef %2, double noundef %3, double noundef %4, double noundef %5, i1 noundef zeroext %6) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca double, align 8
  %9 = alloca double, align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::allocator", align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %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 i32, align 4
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator", align 1
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator", align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator", align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca i32, align 4
  %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::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::allocator", align 1
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::allocator", align 1
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::allocator", align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca i32, align 4
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator", align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator", align 1
  store double %2, ptr %8, align 8, !tbaa !5
  store double %3, ptr %9, align 8, !tbaa !5
  %67 = getelementptr inbounds i8, ptr %0, i64 82
  %68 = load i8, ptr %67, align 2, !tbaa !9, !range !15, !noundef !16
  %69 = trunc nuw i8 %68 to i1
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #6
  br i1 %69, label %70, label %85

70:                                               ; preds = %7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %71 unwind label %107

71:                                               ; preds = %70
  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.2)
          to label %72 unwind label %109

72:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @__FUNCTION__._ZN10CornerApex10createFilmEdddddb, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %73 unwind label %111

73:                                               ; preds = %72
  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) %18)
          to label %74 unwind label %113

74:                                               ; preds = %73
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.3)
          to label %75 unwind label %115

75:                                               ; preds = %74
  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.4, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %76 unwind label %117

76:                                               ; preds = %75
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %77 unwind label %119

77:                                               ; preds = %76
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.5)
          to label %78 unwind label %121

78:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  store i32 41, ptr %23, align 4, !tbaa !17
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %79 unwind label %123

79:                                               ; preds = %78
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %80 unwind label %125

80:                                               ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %81 unwind label %127

81:                                               ; preds = %80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %82 unwind label %129

82:                                               ; preds = %81
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %83 unwind label %131

83:                                               ; preds = %82
  %84 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %10, ptr noundef nonnull %24, i32 noundef 0)
          to label %.critedge422 unwind label %133

85:                                               ; preds = %7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #6
  br label %.critedge443

.critedge422:                                     ; preds = %83
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @llvm.lifetime.end.p0(i64 4, 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) %11) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @_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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %.critedge443

.critedge443:                                     ; preds = %85, %.critedge422
  %86 = getelementptr inbounds i8, ptr %0, i64 83
  %87 = load i8, ptr %86, align 1, !tbaa !18, !range !15, !noundef !16
  %88 = trunc nuw i8 %87 to i1
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #6
  br i1 %88, label %89, label %104

89:                                               ; preds = %.critedge443
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %90 unwind label %148

90:                                               ; preds = %89
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.2)
          to label %91 unwind label %150

91:                                               ; preds = %90
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @__FUNCTION__._ZN10CornerApex10createFilmEdddddb, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %92 unwind label %152

92:                                               ; preds = %91
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %93 unwind label %154

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

94:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %95 unwind label %158

95:                                               ; preds = %94
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %96 unwind label %160

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

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

98:                                               ; preds = %97
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %99 unwind label %166

99:                                               ; preds = %98
  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.6, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %100 unwind label %168

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

101:                                              ; preds = %100
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %102 unwind label %172

102:                                              ; preds = %101
  %103 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %29, ptr noundef nonnull %43, i32 noundef 0)
          to label %.critedge458 unwind label %174

104:                                              ; preds = %.critedge443
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #6
  br label %.critedge479

.critedge458:                                     ; preds = %102
  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) %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) %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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br label %.critedge479

.critedge479:                                     ; preds = %104, %.critedge458
  %105 = load i8, ptr %67, align 2, !tbaa !9, !range !15, !noundef !16
  %106 = trunc nuw i8 %105 to i1
  br i1 %106, label %300, label %189

107:                                              ; preds = %70
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %147

109:                                              ; preds = %71
  %110 = landingpad { ptr, i32 }
          cleanup
  br label %146

111:                                              ; preds = %72
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %145

113:                                              ; preds = %73
  %114 = landingpad { ptr, i32 }
          cleanup
  br label %144

115:                                              ; preds = %74
  %116 = landingpad { ptr, i32 }
          cleanup
  br label %143

117:                                              ; preds = %75
  %118 = landingpad { ptr, i32 }
          cleanup
  br label %142

119:                                              ; preds = %76
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %141

121:                                              ; preds = %77
  %122 = landingpad { ptr, i32 }
          cleanup
  br label %140

123:                                              ; preds = %78
  %124 = landingpad { ptr, i32 }
          cleanup
  br label %139

125:                                              ; preds = %79
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %138

127:                                              ; preds = %80
  %128 = landingpad { ptr, i32 }
          cleanup
  br label %137

129:                                              ; preds = %81
  %130 = landingpad { ptr, i32 }
          cleanup
  br label %136

131:                                              ; preds = %82
  %132 = landingpad { ptr, i32 }
          cleanup
  br label %135

133:                                              ; preds = %83
  %134 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %135

135:                                              ; preds = %131, %133
  %.pn = phi { ptr, i32 } [ %134, %133 ], [ %132, %131 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %136

136:                                              ; preds = %129, %135
  %.pn.pn = phi { ptr, i32 } [ %.pn, %135 ], [ %130, %129 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %137

137:                                              ; preds = %127, %136
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %136 ], [ %128, %127 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %138

138:                                              ; preds = %125, %137
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %137 ], [ %126, %125 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %139

139:                                              ; preds = %138, %123
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %138 ], [ %124, %123 ]
  call void @llvm.lifetime.end.p0(i64 4, 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) %11) #6
  br label %140

140:                                              ; preds = %121, %139
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %139 ], [ %122, %121 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %141

141:                                              ; preds = %119, %140
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %140 ], [ %120, %119 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %142

142:                                              ; preds = %117, %141
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %141 ], [ %118, %117 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %143

143:                                              ; preds = %115, %142
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %142 ], [ %116, %115 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %144

144:                                              ; preds = %113, %143
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %143 ], [ %114, %113 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %145

145:                                              ; preds = %111, %144
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %144 ], [ %112, %111 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %146

146:                                              ; preds = %109, %145
  %.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, %145 ], [ %110, %109 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %147

147:                                              ; preds = %107, %146
  %.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, %146 ], [ %108, %107 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %301

148:                                              ; preds = %89
  %149 = landingpad { ptr, i32 }
          cleanup
  br label %188

150:                                              ; preds = %90
  %151 = landingpad { ptr, i32 }
          cleanup
  br label %187

152:                                              ; preds = %91
  %153 = landingpad { ptr, i32 }
          cleanup
  br label %186

154:                                              ; preds = %92
  %155 = landingpad { ptr, i32 }
          cleanup
  br label %185

156:                                              ; preds = %93
  %157 = landingpad { ptr, i32 }
          cleanup
  br label %184

158:                                              ; preds = %94
  %159 = landingpad { ptr, i32 }
          cleanup
  br label %183

160:                                              ; preds = %95
  %161 = landingpad { ptr, i32 }
          cleanup
  br label %182

162:                                              ; preds = %96
  %163 = landingpad { ptr, i32 }
          cleanup
  br label %181

164:                                              ; preds = %97
  %165 = landingpad { ptr, i32 }
          cleanup
  br label %180

166:                                              ; preds = %98
  %167 = landingpad { ptr, i32 }
          cleanup
  br label %179

168:                                              ; preds = %99
  %169 = landingpad { ptr, i32 }
          cleanup
  br label %178

170:                                              ; preds = %100
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %177

172:                                              ; preds = %101
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %176

174:                                              ; preds = %102
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %176

176:                                              ; preds = %172, %174
  %.pn381 = phi { ptr, i32 } [ %175, %174 ], [ %173, %172 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %177

177:                                              ; preds = %170, %176
  %.pn381.pn = phi { ptr, i32 } [ %.pn381, %176 ], [ %171, %170 ]
  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) %44) #6
  br label %178

178:                                              ; preds = %168, %177
  %.pn381.pn.pn = phi { ptr, i32 } [ %.pn381.pn, %177 ], [ %169, %168 ]
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %179

179:                                              ; preds = %166, %178
  %.pn381.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn, %178 ], [ %167, %166 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %180

180:                                              ; preds = %179, %164
  %.pn381.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn, %179 ], [ %165, %164 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %181

181:                                              ; preds = %162, %180
  %.pn381.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn, %180 ], [ %163, %162 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %182

182:                                              ; preds = %160, %181
  %.pn381.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn, %181 ], [ %161, %160 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %183

183:                                              ; preds = %158, %182
  %.pn381.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn.pn, %182 ], [ %159, %158 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %184

184:                                              ; preds = %156, %183
  %.pn381.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn.pn.pn, %183 ], [ %157, %156 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %185

185:                                              ; preds = %154, %184
  %.pn381.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn.pn.pn.pn, %184 ], [ %155, %154 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %186

186:                                              ; preds = %152, %185
  %.pn381.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn.pn.pn.pn.pn, %185 ], [ %153, %152 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %187

187:                                              ; preds = %150, %186
  %.pn381.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %186 ], [ %151, %150 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %188

188:                                              ; preds = %148, %187
  %.pn381.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %187 ], [ %149, %148 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br label %301

189:                                              ; preds = %.critedge479
  %190 = select i1 %6, double %2, double %3
  %191 = load double, ptr @_ZN4Apex2PIE, align 8, !tbaa !5
  %192 = fmul double %191, 5.000000e-01
  %193 = fsub double %192, %4
  %194 = fcmp olt double %190, %193
  %195 = zext i1 %194 to i8
  store i8 %195, ptr %67, align 2, !tbaa !9
  br i1 %194, label %196, label %300

196:                                              ; preds = %189
  %197 = fdiv double %5, %1
  %198 = fadd double %190, %4
  %199 = call double @cos(double noundef %198) #6
  %200 = fmul double %197, %199
  %201 = call double @sin(double noundef %4) #6
  %202 = fdiv double %200, %201
  %203 = getelementptr inbounds i8, ptr %0, i64 112
  store double %202, ptr %203, align 8, !tbaa !19
  %204 = fcmp ule double %202, 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #6
  br i1 %204, label %205, label %220

205:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %55) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %206 unwind label %231

206:                                              ; preds = %205
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.2)
          to label %207 unwind label %233

207:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull @__FUNCTION__._ZN10CornerApex10createFilmEdddddb, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %208 unwind label %235

208:                                              ; preds = %207
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %209 unwind label %237

209:                                              ; preds = %208
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.3)
          to label %210 unwind label %239

210:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %59) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %211 unwind label %241

211:                                              ; preds = %210
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %212 unwind label %243

212:                                              ; preds = %211
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull @.str.5)
          to label %213 unwind label %245

213:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #6
  store i32 55, ptr %61, align 4, !tbaa !17
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 4 dereferenceable(4) %61)
          to label %214 unwind label %247

214:                                              ; preds = %213
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %215 unwind label %249

215:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %216 unwind label %251

216:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %66) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %217 unwind label %253

217:                                              ; preds = %216
  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) %65)
          to label %218 unwind label %255

218:                                              ; preds = %217
  %219 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %48, ptr noundef nonnull %62, i32 noundef 0)
          to label %.critedge494 unwind label %257

220:                                              ; preds = %196
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #6
  br label %.critedge515

.critedge494:                                     ; preds = %218
  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) %65) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  %.pre = load double, ptr %203, align 8, !tbaa !19
  br label %.critedge515

.critedge515:                                     ; preds = %220, %.critedge494
  %221 = phi double [ %202, %220 ], [ %.pre, %.critedge494 ]
  %222 = getelementptr inbounds i8, ptr %0, i64 104
  %223 = load ptr, ptr %222, align 8, !tbaa !21
  %224 = call noundef double @_ZNK9ElemModel3RRREv(ptr noundef nonnull align 8 dereferenceable(152) %223)
  %225 = call double @tan(double noundef %4) #6
  %226 = fdiv double %224, %225
  %227 = fmul double %226, 2.000000e+00
  %228 = fcmp ogt double %221, %227
  br i1 %228, label %229, label %272

229:                                              ; preds = %.critedge515
  %230 = 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.10)
  br label %272

231:                                              ; preds = %205
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %271

233:                                              ; preds = %206
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %270

235:                                              ; preds = %207
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %269

237:                                              ; preds = %208
  %238 = landingpad { ptr, i32 }
          cleanup
  br label %268

239:                                              ; preds = %209
  %240 = landingpad { ptr, i32 }
          cleanup
  br label %267

241:                                              ; preds = %210
  %242 = landingpad { ptr, i32 }
          cleanup
  br label %266

243:                                              ; preds = %211
  %244 = landingpad { ptr, i32 }
          cleanup
  br label %265

245:                                              ; preds = %212
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %264

247:                                              ; preds = %213
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %263

249:                                              ; preds = %214
  %250 = landingpad { ptr, i32 }
          cleanup
  br label %262

251:                                              ; preds = %215
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %261

253:                                              ; preds = %216
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %260

255:                                              ; preds = %217
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %259

257:                                              ; preds = %218
  %258 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %259

259:                                              ; preds = %255, %257
  %.pn395 = phi { ptr, i32 } [ %258, %257 ], [ %256, %255 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %260

260:                                              ; preds = %253, %259
  %.pn395.pn = phi { ptr, i32 } [ %.pn395, %259 ], [ %254, %253 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %261

261:                                              ; preds = %251, %260
  %.pn395.pn.pn = phi { ptr, i32 } [ %.pn395.pn, %260 ], [ %252, %251 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %262

262:                                              ; preds = %249, %261
  %.pn395.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn, %261 ], [ %250, %249 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %263

263:                                              ; preds = %262, %247
  %.pn395.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn, %262 ], [ %248, %247 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %264

264:                                              ; preds = %245, %263
  %.pn395.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn, %263 ], [ %246, %245 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %265

265:                                              ; preds = %243, %264
  %.pn395.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn.pn, %264 ], [ %244, %243 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %266

266:                                              ; preds = %241, %265
  %.pn395.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn.pn.pn, %265 ], [ %242, %241 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %267

267:                                              ; preds = %239, %266
  %.pn395.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn.pn.pn.pn, %266 ], [ %240, %239 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %268

268:                                              ; preds = %237, %267
  %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn.pn.pn.pn.pn, %267 ], [ %238, %237 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %269

269:                                              ; preds = %235, %268
  %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn, %268 ], [ %236, %235 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %270

270:                                              ; preds = %233, %269
  %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %269 ], [ %234, %233 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %271

271:                                              ; preds = %231, %270
  %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %270 ], [ %232, %231 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  br label %301

272:                                              ; preds = %229, %.critedge515
  %273 = getelementptr inbounds i8, ptr %0, i64 24
  store double %1, ptr %273, align 8, !tbaa !22
  %274 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE, ptr noundef nonnull align 8 dereferenceable(8) %9)
  %275 = load double, ptr %274, align 8, !tbaa !5
  %276 = fadd double %275, %4
  %277 = call double @cos(double noundef %276) #6
  %278 = fmul double %277, %5
  %279 = load double, ptr %203, align 8, !tbaa !19
  %280 = call double @sin(double noundef %4) #6
  %281 = fmul double %279, %280
  %282 = fdiv double %278, %281
  %283 = getelementptr inbounds i8, ptr %0, i64 48
  store double %282, ptr %283, align 8, !tbaa !23
  %284 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) @_ZN4Apex2PIE, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %285 = load double, ptr %284, align 8, !tbaa !5
  %286 = fadd double %285, %4
  %287 = call double @cos(double noundef %286) #6
  %288 = fmul double %287, %5
  %289 = load double, ptr %203, align 8, !tbaa !19
  %290 = call double @sin(double noundef %4) #6
  %291 = fmul double %289, %290
  %292 = fdiv double %288, %291
  %293 = getelementptr inbounds i8, ptr %0, i64 56
  store double %292, ptr %293, align 8, !tbaa !24
  store i8 1, ptr %86, align 1, !tbaa !18
  %294 = getelementptr inbounds i8, ptr %0, i64 120
  %295 = load double, ptr %294, align 8, !tbaa !25
  %296 = fcmp olt double %295, %1
  br i1 %296, label %297, label %300

297:                                              ; preds = %272
  %298 = load double, ptr %203, align 8, !tbaa !19
  %299 = getelementptr inbounds i8, ptr %0, i64 128
  store double %298, ptr %299, align 8, !tbaa !26
  store double %1, ptr %294, align 8, !tbaa !25
  br label %300

300:                                              ; preds = %189, %297, %272, %.critedge479
  ret void

301:                                              ; preds = %188, %147, %271
  %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %271 ], [ %.pn381.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %188 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %147 ]
  resume { ptr, i32 } %.pn395.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; 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

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { 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 nofree nounwind willreturn memory(write) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 = !{!"double", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 82}
!10 = !{!"_ZTS4Apex", !11, i64 8, !6, i64 16, !6, i64 24, !12, i64 32, !13, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72, !11, i64 80, !11, i64 81, !11, i64 82, !11, i64 83, !14, i64 88}
!11 = !{!"bool", !7, i64 0}
!12 = !{!"any pointer", !7, i64 0}
!13 = !{!"int", !7, i64 0}
!14 = !{!"_ZTSSt4pairIidE", !13, i64 0, !6, i64 8}
!15 = !{i8 0, i8 2}
!16 = !{}
!17 = !{!13, !13, i64 0}
!18 = !{!10, !11, i64 83}
!19 = !{!20, !6, i64 112}
!20 = !{!"_ZTS10CornerApex", !10, i64 0, !12, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !12, i64 136}
!21 = !{!20, !12, i64 104}
!22 = !{!10, !6, i64 24}
!23 = !{!10, !6, i64 48}
!24 = !{!10, !6, i64 56}
!25 = !{!20, !6, i64 120}
!26 = !{!20, !6, i64 128}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass