; LLVM IR from kthohr/gcem :: tests (atan2)

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

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

@GCEM_TEST_NUMBER = external dso_local global i32, align 4
@.str = external hidden unnamed_addr constant [6 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [12 x i8], align 1

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

192:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2)
          to label %193 unwind label %222

193:                                              ; preds = %192
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #7
  %194 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %195 = add nsw i32 %194, 1
  store i32 %195, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %6) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %196 unwind label %227

196:                                              ; preds = %193
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #7
  %197 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %197, ptr %8, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #7
  %198 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %199 unwind label %231

199:                                              ; preds = %196
  store x86_fp80 %198, ptr %9, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #7
  %200 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %201 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %202 = fsub x86_fp80 %200, %201
  %203 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %202)
          to label %204 unwind label %235

204:                                              ; preds = %199
  %205 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %206 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %205)
          to label %207 unwind label %235

207:                                              ; preds = %204
  %208 = fadd x86_fp80 0xK3FFF8000000000000000, %206
  %209 = fdiv x86_fp80 %203, %208
  store x86_fp80 %209, ptr %10, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #7
  store i8 0, ptr %11, align 1, !tbaa !11
  %210 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %211 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %210)
          to label %212 unwind label %239

212:                                              ; preds = %207
  br i1 %211, label %213, label %243

213:                                              ; preds = %212
  %214 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %215 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %214)
          to label %216 unwind label %239

216:                                              ; preds = %213
  br i1 %215, label %217, label %243

217:                                              ; preds = %216
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %272

218:                                              ; preds = %0
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %4, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %5, align 4
  br label %226

222:                                              ; preds = %192
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %4, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  br label %226

226:                                              ; preds = %222, %218
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #7
  br label %2206

227:                                              ; preds = %193
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %4, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #7
  br label %312

231:                                              ; preds = %196
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %4, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %5, align 4
  br label %311

235:                                              ; preds = %204, %199
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %4, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %5, align 4
  br label %310

239:                                              ; preds = %275, %260, %247, %243, %213, %207
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %4, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %5, align 4
  br label %309

243:                                              ; preds = %216, %212
  %244 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %245 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %244)
          to label %246 unwind label %239

246:                                              ; preds = %243
  br i1 %245, label %256, label %247

247:                                              ; preds = %246
  %248 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %249 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %248)
          to label %250 unwind label %239

250:                                              ; preds = %247
  br i1 %249, label %251, label %256

251:                                              ; preds = %250
  %252 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %253 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %254 = fcmp oeq x86_fp80 %252, %253
  br i1 %254, label %255, label %256

255:                                              ; preds = %251
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %271

256:                                              ; preds = %251, %250, %246
  %257 = load x86_fp80, ptr %10, align 16, !tbaa !9
  %258 = fcmp olt x86_fp80 %257, 0xK3FD0B424DC35095CD800
  br i1 %258, label %259, label %260

259:                                              ; preds = %256
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %270

260:                                              ; preds = %256
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %261 unwind label %239

261:                                              ; preds = %260
  %262 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %263 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %264 = load x86_fp80, ptr %9, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %12, i32 noundef %262, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %263, x86_fp80 noundef %264, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %265 unwind label %266

265:                                              ; preds = %261
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %270

266:                                              ; preds = %261
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %4, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %309

270:                                              ; preds = %265, %259
  br label %271

271:                                              ; preds = %270, %255
  br label %272

272:                                              ; preds = %271, %217
  %273 = load i8, ptr %11, align 1, !tbaa !11, !range !13, !noundef !14
  %274 = trunc i8 %273 to i1
  br i1 %274, label %275, label %284

275:                                              ; preds = %272
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %276 unwind label %239

276:                                              ; preds = %275
  %277 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %278 = load x86_fp80, ptr %10, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %13, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %277, x86_fp80 noundef %278, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %279 unwind label %280

279:                                              ; preds = %276
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %284

280:                                              ; preds = %276
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %4, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %309

284:                                              ; preds = %279, %272
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  %285 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %286 = add nsw i32 %285, 1
  store i32 %286, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %287 unwind label %313

287:                                              ; preds = %284
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #7
  %288 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %288, ptr %16, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #7
  %289 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %290 unwind label %317

290:                                              ; preds = %287
  store x86_fp80 %289, ptr %17, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #7
  %291 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %292 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %293 = fsub x86_fp80 %291, %292
  %294 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %293)
          to label %295 unwind label %321

295:                                              ; preds = %290
  %296 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %297 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %296)
          to label %298 unwind label %321

298:                                              ; preds = %295
  %299 = fadd x86_fp80 0xK3FFF8000000000000000, %297
  %300 = fdiv x86_fp80 %294, %299
  store x86_fp80 %300, ptr %18, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #7
  store i8 0, ptr %19, align 1, !tbaa !11
  %301 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %302 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %301)
          to label %303 unwind label %325

303:                                              ; preds = %298
  br i1 %302, label %304, label %329

304:                                              ; preds = %303
  %305 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %306 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %305)
          to label %307 unwind label %325

307:                                              ; preds = %304
  br i1 %306, label %308, label %329

308:                                              ; preds = %307
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %358

309:                                              ; preds = %280, %266, %239
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  br label %310

310:                                              ; preds = %309, %235
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  br label %311

311:                                              ; preds = %310, %231
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %312

312:                                              ; preds = %311, %227
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  br label %2206

313:                                              ; preds = %284
  %314 = landingpad { ptr, i32 }
          cleanup
  %315 = extractvalue { ptr, i32 } %314, 0
  store ptr %315, ptr %4, align 8
  %316 = extractvalue { ptr, i32 } %314, 1
  store i32 %316, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  br label %398

317:                                              ; preds = %287
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %4, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %5, align 4
  br label %397

321:                                              ; preds = %295, %290
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %4, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %5, align 4
  br label %396

325:                                              ; preds = %361, %346, %333, %329, %304, %298
  %326 = landingpad { ptr, i32 }
          cleanup
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %4, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %5, align 4
  br label %395

329:                                              ; preds = %307, %303
  %330 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %331 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %330)
          to label %332 unwind label %325

332:                                              ; preds = %329
  br i1 %331, label %342, label %333

333:                                              ; preds = %332
  %334 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %335 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %334)
          to label %336 unwind label %325

336:                                              ; preds = %333
  br i1 %335, label %337, label %342

337:                                              ; preds = %336
  %338 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %339 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %340 = fcmp oeq x86_fp80 %338, %339
  br i1 %340, label %341, label %342

341:                                              ; preds = %337
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %357

342:                                              ; preds = %337, %336, %332
  %343 = load x86_fp80, ptr %18, align 16, !tbaa !9
  %344 = fcmp olt x86_fp80 %343, 0xK3FD0B424DC35095CD800
  br i1 %344, label %345, label %346

345:                                              ; preds = %342
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %356

346:                                              ; preds = %342
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %347 unwind label %325

347:                                              ; preds = %346
  %348 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %349 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %350 = load x86_fp80, ptr %17, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %20, i32 noundef %348, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %349, x86_fp80 noundef %350, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %351 unwind label %352

351:                                              ; preds = %347
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %356

352:                                              ; preds = %347
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %4, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %395

356:                                              ; preds = %351, %345
  br label %357

357:                                              ; preds = %356, %341
  br label %358

358:                                              ; preds = %357, %308
  %359 = load i8, ptr %19, align 1, !tbaa !11, !range !13, !noundef !14
  %360 = trunc i8 %359 to i1
  br i1 %360, label %361, label %370

361:                                              ; preds = %358
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %362 unwind label %325

362:                                              ; preds = %361
  %363 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %364 = load x86_fp80, ptr %18, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %21, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %363, x86_fp80 noundef %364, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %365 unwind label %366

365:                                              ; preds = %362
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %370

366:                                              ; preds = %362
  %367 = landingpad { ptr, i32 }
          cleanup
  %368 = extractvalue { ptr, i32 } %367, 0
  store ptr %368, ptr %4, align 8
  %369 = extractvalue { ptr, i32 } %367, 1
  store i32 %369, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %395

370:                                              ; preds = %365, %358
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  %371 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %372 = add nsw i32 %371, 1
  store i32 %372, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %373 unwind label %399

373:                                              ; preds = %370
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #7
  %374 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000) #7
  store x86_fp80 %374, ptr %24, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %375 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %376 unwind label %403

376:                                              ; preds = %373
  store x86_fp80 %375, ptr %25, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #7
  %377 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %378 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %379 = fsub x86_fp80 %377, %378
  %380 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %379)
          to label %381 unwind label %407

381:                                              ; preds = %376
  %382 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %383 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %382)
          to label %384 unwind label %407

384:                                              ; preds = %381
  %385 = fadd x86_fp80 0xK3FFF8000000000000000, %383
  %386 = fdiv x86_fp80 %380, %385
  store x86_fp80 %386, ptr %26, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #7
  store i8 0, ptr %27, align 1, !tbaa !11
  %387 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %388 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %387)
          to label %389 unwind label %411

389:                                              ; preds = %384
  br i1 %388, label %390, label %415

390:                                              ; preds = %389
  %391 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %392 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %391)
          to label %393 unwind label %411

393:                                              ; preds = %390
  br i1 %392, label %394, label %415

394:                                              ; preds = %393
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %444

395:                                              ; preds = %366, %352, %325
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  br label %396

396:                                              ; preds = %395, %321
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  br label %397

397:                                              ; preds = %396, %317
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %398

398:                                              ; preds = %397, %313
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %2206

399:                                              ; preds = %370
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %4, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  br label %484

403:                                              ; preds = %373
  %404 = landingpad { ptr, i32 }
          cleanup
  %405 = extractvalue { ptr, i32 } %404, 0
  store ptr %405, ptr %4, align 8
  %406 = extractvalue { ptr, i32 } %404, 1
  store i32 %406, ptr %5, align 4
  br label %483

407:                                              ; preds = %381, %376
  %408 = landingpad { ptr, i32 }
          cleanup
  %409 = extractvalue { ptr, i32 } %408, 0
  store ptr %409, ptr %4, align 8
  %410 = extractvalue { ptr, i32 } %408, 1
  store i32 %410, ptr %5, align 4
  br label %482

411:                                              ; preds = %447, %432, %419, %415, %390, %384
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %4, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %5, align 4
  br label %481

415:                                              ; preds = %393, %389
  %416 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %417 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %416)
          to label %418 unwind label %411

418:                                              ; preds = %415
  br i1 %417, label %428, label %419

419:                                              ; preds = %418
  %420 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %421 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %420)
          to label %422 unwind label %411

422:                                              ; preds = %419
  br i1 %421, label %423, label %428

423:                                              ; preds = %422
  %424 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %425 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %426 = fcmp oeq x86_fp80 %424, %425
  br i1 %426, label %427, label %428

427:                                              ; preds = %423
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %443

428:                                              ; preds = %423, %422, %418
  %429 = load x86_fp80, ptr %26, align 16, !tbaa !9
  %430 = fcmp olt x86_fp80 %429, 0xK3FD0B424DC35095CD800
  br i1 %430, label %431, label %432

431:                                              ; preds = %428
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %442

432:                                              ; preds = %428
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %433 unwind label %411

433:                                              ; preds = %432
  %434 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %435 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %436 = load x86_fp80, ptr %25, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %28, i32 noundef %434, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %435, x86_fp80 noundef %436, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %437 unwind label %438

437:                                              ; preds = %433
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %442

438:                                              ; preds = %433
  %439 = landingpad { ptr, i32 }
          cleanup
  %440 = extractvalue { ptr, i32 } %439, 0
  store ptr %440, ptr %4, align 8
  %441 = extractvalue { ptr, i32 } %439, 1
  store i32 %441, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %481

442:                                              ; preds = %437, %431
  br label %443

443:                                              ; preds = %442, %427
  br label %444

444:                                              ; preds = %443, %394
  %445 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %446 = trunc i8 %445 to i1
  br i1 %446, label %447, label %456

447:                                              ; preds = %444
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %448 unwind label %411

448:                                              ; preds = %447
  %449 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %450 = load x86_fp80, ptr %26, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %29, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %449, x86_fp80 noundef %450, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %451 unwind label %452

451:                                              ; preds = %448
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %456

452:                                              ; preds = %448
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %4, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %481

456:                                              ; preds = %451, %444
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  %457 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %458 = add nsw i32 %457, 1
  store i32 %458, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %459 unwind label %485

459:                                              ; preds = %456
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #7
  %460 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000) #7
  store x86_fp80 %460, ptr %32, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #7
  %461 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %462 unwind label %489

462:                                              ; preds = %459
  store x86_fp80 %461, ptr %33, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %463 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %464 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %465 = fsub x86_fp80 %463, %464
  %466 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %465)
          to label %467 unwind label %493

467:                                              ; preds = %462
  %468 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %469 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %468)
          to label %470 unwind label %493

470:                                              ; preds = %467
  %471 = fadd x86_fp80 0xK3FFF8000000000000000, %469
  %472 = fdiv x86_fp80 %466, %471
  store x86_fp80 %472, ptr %34, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #7
  store i8 0, ptr %35, align 1, !tbaa !11
  %473 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %474 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %473)
          to label %475 unwind label %497

475:                                              ; preds = %470
  br i1 %474, label %476, label %501

476:                                              ; preds = %475
  %477 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %478 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %477)
          to label %479 unwind label %497

479:                                              ; preds = %476
  br i1 %478, label %480, label %501

480:                                              ; preds = %479
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %530

481:                                              ; preds = %452, %438, %411
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  br label %482

482:                                              ; preds = %481, %407
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  br label %483

483:                                              ; preds = %482, %403
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %484

484:                                              ; preds = %483, %399
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br label %2206

485:                                              ; preds = %456
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %4, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  br label %570

489:                                              ; preds = %459
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %4, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %5, align 4
  br label %569

493:                                              ; preds = %467, %462
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %4, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %5, align 4
  br label %568

497:                                              ; preds = %533, %518, %505, %501, %476, %470
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %4, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %5, align 4
  br label %567

501:                                              ; preds = %479, %475
  %502 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %503 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %502)
          to label %504 unwind label %497

504:                                              ; preds = %501
  br i1 %503, label %514, label %505

505:                                              ; preds = %504
  %506 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %507 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %506)
          to label %508 unwind label %497

508:                                              ; preds = %505
  br i1 %507, label %509, label %514

509:                                              ; preds = %508
  %510 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %511 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %512 = fcmp oeq x86_fp80 %510, %511
  br i1 %512, label %513, label %514

513:                                              ; preds = %509
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %529

514:                                              ; preds = %509, %508, %504
  %515 = load x86_fp80, ptr %34, align 16, !tbaa !9
  %516 = fcmp olt x86_fp80 %515, 0xK3FD0B424DC35095CD800
  br i1 %516, label %517, label %518

517:                                              ; preds = %514
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %528

518:                                              ; preds = %514
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %519 unwind label %497

519:                                              ; preds = %518
  %520 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %521 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %522 = load x86_fp80, ptr %33, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %36, i32 noundef %520, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %521, x86_fp80 noundef %522, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %523 unwind label %524

523:                                              ; preds = %519
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %528

524:                                              ; preds = %519
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %4, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %567

528:                                              ; preds = %523, %517
  br label %529

529:                                              ; preds = %528, %513
  br label %530

530:                                              ; preds = %529, %480
  %531 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %532 = trunc i8 %531 to i1
  br i1 %532, label %533, label %542

533:                                              ; preds = %530
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %534 unwind label %497

534:                                              ; preds = %533
  %535 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %536 = load x86_fp80, ptr %34, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %37, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %535, x86_fp80 noundef %536, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %537 unwind label %538

537:                                              ; preds = %534
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %542

538:                                              ; preds = %534
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %4, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %567

542:                                              ; preds = %537, %530
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  %543 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %544 = add nsw i32 %543, 1
  store i32 %544, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %545 unwind label %571

545:                                              ; preds = %542
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #7
  %546 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %546, ptr %40, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #7
  %547 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %548 unwind label %575

548:                                              ; preds = %545
  store x86_fp80 %547, ptr %41, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #7
  %549 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %550 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %551 = fsub x86_fp80 %549, %550
  %552 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %551)
          to label %553 unwind label %579

553:                                              ; preds = %548
  %554 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %555 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %554)
          to label %556 unwind label %579

556:                                              ; preds = %553
  %557 = fadd x86_fp80 0xK3FFF8000000000000000, %555
  %558 = fdiv x86_fp80 %552, %557
  store x86_fp80 %558, ptr %42, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #7
  store i8 0, ptr %43, align 1, !tbaa !11
  %559 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %560 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %559)
          to label %561 unwind label %583

561:                                              ; preds = %556
  br i1 %560, label %562, label %587

562:                                              ; preds = %561
  %563 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %564 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %563)
          to label %565 unwind label %583

565:                                              ; preds = %562
  br i1 %564, label %566, label %587

566:                                              ; preds = %565
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %616

567:                                              ; preds = %538, %524, %497
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  br label %568

568:                                              ; preds = %567, %493
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  br label %569

569:                                              ; preds = %568, %489
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %570

570:                                              ; preds = %569, %485
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  br label %2206

571:                                              ; preds = %542
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %4, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #7
  br label %656

575:                                              ; preds = %545
  %576 = landingpad { ptr, i32 }
          cleanup
  %577 = extractvalue { ptr, i32 } %576, 0
  store ptr %577, ptr %4, align 8
  %578 = extractvalue { ptr, i32 } %576, 1
  store i32 %578, ptr %5, align 4
  br label %655

579:                                              ; preds = %553, %548
  %580 = landingpad { ptr, i32 }
          cleanup
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %4, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %5, align 4
  br label %654

583:                                              ; preds = %619, %604, %591, %587, %562, %556
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %4, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %5, align 4
  br label %653

587:                                              ; preds = %565, %561
  %588 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %589 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %588)
          to label %590 unwind label %583

590:                                              ; preds = %587
  br i1 %589, label %600, label %591

591:                                              ; preds = %590
  %592 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %593 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %592)
          to label %594 unwind label %583

594:                                              ; preds = %591
  br i1 %593, label %595, label %600

595:                                              ; preds = %594
  %596 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %597 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %598 = fcmp oeq x86_fp80 %596, %597
  br i1 %598, label %599, label %600

599:                                              ; preds = %595
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %615

600:                                              ; preds = %595, %594, %590
  %601 = load x86_fp80, ptr %42, align 16, !tbaa !9
  %602 = fcmp olt x86_fp80 %601, 0xK3FD0B424DC35095CD800
  br i1 %602, label %603, label %604

603:                                              ; preds = %600
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %614

604:                                              ; preds = %600
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %605 unwind label %583

605:                                              ; preds = %604
  %606 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %607 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %608 = load x86_fp80, ptr %41, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %44, i32 noundef %606, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %607, x86_fp80 noundef %608, x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %609 unwind label %610

609:                                              ; preds = %605
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %614

610:                                              ; preds = %605
  %611 = landingpad { ptr, i32 }
          cleanup
  %612 = extractvalue { ptr, i32 } %611, 0
  store ptr %612, ptr %4, align 8
  %613 = extractvalue { ptr, i32 } %611, 1
  store i32 %613, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %653

614:                                              ; preds = %609, %603
  br label %615

615:                                              ; preds = %614, %599
  br label %616

616:                                              ; preds = %615, %566
  %617 = load i8, ptr %43, align 1, !tbaa !11, !range !13, !noundef !14
  %618 = trunc i8 %617 to i1
  br i1 %618, label %619, label %628

619:                                              ; preds = %616
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %620 unwind label %583

620:                                              ; preds = %619
  %621 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %622 = load x86_fp80, ptr %42, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %45, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %621, x86_fp80 noundef %622, x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %623 unwind label %624

623:                                              ; preds = %620
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %628

624:                                              ; preds = %620
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %4, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %653

628:                                              ; preds = %623, %616
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  %629 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %630 = add nsw i32 %629, 1
  store i32 %630, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %631 unwind label %657

631:                                              ; preds = %628
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #7
  %632 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %632, ptr %48, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #7
  %633 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %634 unwind label %661

634:                                              ; preds = %631
  store x86_fp80 %633, ptr %49, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #7
  %635 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %636 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %637 = fsub x86_fp80 %635, %636
  %638 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %637)
          to label %639 unwind label %665

639:                                              ; preds = %634
  %640 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %641 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %640)
          to label %642 unwind label %665

642:                                              ; preds = %639
  %643 = fadd x86_fp80 0xK3FFF8000000000000000, %641
  %644 = fdiv x86_fp80 %638, %643
  store x86_fp80 %644, ptr %50, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #7
  store i8 0, ptr %51, align 1, !tbaa !11
  %645 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %646 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %645)
          to label %647 unwind label %669

647:                                              ; preds = %642
  br i1 %646, label %648, label %673

648:                                              ; preds = %647
  %649 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %650 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %649)
          to label %651 unwind label %669

651:                                              ; preds = %648
  br i1 %650, label %652, label %673

652:                                              ; preds = %651
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %702

653:                                              ; preds = %624, %610, %583
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  br label %654

654:                                              ; preds = %653, %579
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  br label %655

655:                                              ; preds = %654, %575
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %656

656:                                              ; preds = %655, %571
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  br label %2206

657:                                              ; preds = %628
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %4, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  br label %742

661:                                              ; preds = %631
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %4, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %5, align 4
  br label %741

665:                                              ; preds = %639, %634
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %4, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %5, align 4
  br label %740

669:                                              ; preds = %705, %690, %677, %673, %648, %642
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %4, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %5, align 4
  br label %739

673:                                              ; preds = %651, %647
  %674 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %675 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %674)
          to label %676 unwind label %669

676:                                              ; preds = %673
  br i1 %675, label %686, label %677

677:                                              ; preds = %676
  %678 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %679 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %678)
          to label %680 unwind label %669

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

681:                                              ; preds = %680
  %682 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %683 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %684 = fcmp oeq x86_fp80 %682, %683
  br i1 %684, label %685, label %686

685:                                              ; preds = %681
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %701

686:                                              ; preds = %681, %680, %676
  %687 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %688 = fcmp olt x86_fp80 %687, 0xK3FD0B424DC35095CD800
  br i1 %688, label %689, label %690

689:                                              ; preds = %686
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %700

690:                                              ; preds = %686
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %691 unwind label %669

691:                                              ; preds = %690
  %692 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %693 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %694 = load x86_fp80, ptr %49, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %52, i32 noundef %692, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %693, x86_fp80 noundef %694, x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %695 unwind label %696

695:                                              ; preds = %691
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %700

696:                                              ; preds = %691
  %697 = landingpad { ptr, i32 }
          cleanup
  %698 = extractvalue { ptr, i32 } %697, 0
  store ptr %698, ptr %4, align 8
  %699 = extractvalue { ptr, i32 } %697, 1
  store i32 %699, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %739

700:                                              ; preds = %695, %689
  br label %701

701:                                              ; preds = %700, %685
  br label %702

702:                                              ; preds = %701, %652
  %703 = load i8, ptr %51, align 1, !tbaa !11, !range !13, !noundef !14
  %704 = trunc i8 %703 to i1
  br i1 %704, label %705, label %714

705:                                              ; preds = %702
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %706 unwind label %669

706:                                              ; preds = %705
  %707 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %708 = load x86_fp80, ptr %50, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %53, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %707, x86_fp80 noundef %708, x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %709 unwind label %710

709:                                              ; preds = %706
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %714

710:                                              ; preds = %706
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %4, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %739

714:                                              ; preds = %709, %702
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  %715 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %716 = add nsw i32 %715, 1
  store i32 %716, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %717 unwind label %743

717:                                              ; preds = %714
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #7
  %718 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B) #7
  store x86_fp80 %718, ptr %56, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #7
  %719 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %720 unwind label %747

720:                                              ; preds = %717
  store x86_fp80 %719, ptr %57, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #7
  %721 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %722 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %723 = fsub x86_fp80 %721, %722
  %724 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %723)
          to label %725 unwind label %751

725:                                              ; preds = %720
  %726 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %727 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %726)
          to label %728 unwind label %751

728:                                              ; preds = %725
  %729 = fadd x86_fp80 0xK3FFF8000000000000000, %727
  %730 = fdiv x86_fp80 %724, %729
  store x86_fp80 %730, ptr %58, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #7
  store i8 0, ptr %59, align 1, !tbaa !11
  %731 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %732 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %731)
          to label %733 unwind label %755

733:                                              ; preds = %728
  br i1 %732, label %734, label %759

734:                                              ; preds = %733
  %735 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %736 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %735)
          to label %737 unwind label %755

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

738:                                              ; preds = %737
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %788

739:                                              ; preds = %710, %696, %669
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  br label %740

740:                                              ; preds = %739, %665
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  br label %741

741:                                              ; preds = %740, %661
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %742

742:                                              ; preds = %741, %657
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  br label %2206

743:                                              ; preds = %714
  %744 = landingpad { ptr, i32 }
          cleanup
  %745 = extractvalue { ptr, i32 } %744, 0
  store ptr %745, ptr %4, align 8
  %746 = extractvalue { ptr, i32 } %744, 1
  store i32 %746, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #7
  br label %828

747:                                              ; preds = %717
  %748 = landingpad { ptr, i32 }
          cleanup
  %749 = extractvalue { ptr, i32 } %748, 0
  store ptr %749, ptr %4, align 8
  %750 = extractvalue { ptr, i32 } %748, 1
  store i32 %750, ptr %5, align 4
  br label %827

751:                                              ; preds = %725, %720
  %752 = landingpad { ptr, i32 }
          cleanup
  %753 = extractvalue { ptr, i32 } %752, 0
  store ptr %753, ptr %4, align 8
  %754 = extractvalue { ptr, i32 } %752, 1
  store i32 %754, ptr %5, align 4
  br label %826

755:                                              ; preds = %791, %776, %763, %759, %734, %728
  %756 = landingpad { ptr, i32 }
          cleanup
  %757 = extractvalue { ptr, i32 } %756, 0
  store ptr %757, ptr %4, align 8
  %758 = extractvalue { ptr, i32 } %756, 1
  store i32 %758, ptr %5, align 4
  br label %825

759:                                              ; preds = %737, %733
  %760 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %761 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %760)
          to label %762 unwind label %755

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

763:                                              ; preds = %762
  %764 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %765 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %764)
          to label %766 unwind label %755

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

767:                                              ; preds = %766
  %768 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %769 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %770 = fcmp oeq x86_fp80 %768, %769
  br i1 %770, label %771, label %772

771:                                              ; preds = %767
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %787

772:                                              ; preds = %767, %766, %762
  %773 = load x86_fp80, ptr %58, align 16, !tbaa !9
  %774 = fcmp olt x86_fp80 %773, 0xK3FD0B424DC35095CD800
  br i1 %774, label %775, label %776

775:                                              ; preds = %772
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %786

776:                                              ; preds = %772
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %777 unwind label %755

777:                                              ; preds = %776
  %778 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %779 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %780 = load x86_fp80, ptr %57, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %60, i32 noundef %778, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %779, x86_fp80 noundef %780, x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %781 unwind label %782

781:                                              ; preds = %777
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %786

782:                                              ; preds = %777
  %783 = landingpad { ptr, i32 }
          cleanup
  %784 = extractvalue { ptr, i32 } %783, 0
  store ptr %784, ptr %4, align 8
  %785 = extractvalue { ptr, i32 } %783, 1
  store i32 %785, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %825

786:                                              ; preds = %781, %775
  br label %787

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

788:                                              ; preds = %787, %738
  %789 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %790 = trunc i8 %789 to i1
  br i1 %790, label %791, label %800

791:                                              ; preds = %788
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %792 unwind label %755

792:                                              ; preds = %791
  %793 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %794 = load x86_fp80, ptr %58, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %61, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %793, x86_fp80 noundef %794, x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %795 unwind label %796

795:                                              ; preds = %792
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %800

796:                                              ; preds = %792
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %4, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %825

800:                                              ; preds = %795, %788
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  %801 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %802 = add nsw i32 %801, 1
  store i32 %802, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %803 unwind label %829

803:                                              ; preds = %800
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #7
  %804 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148) #7
  store x86_fp80 %804, ptr %64, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #7
  %805 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %806 unwind label %833

806:                                              ; preds = %803
  store x86_fp80 %805, ptr %65, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #7
  %807 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %808 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %809 = fsub x86_fp80 %807, %808
  %810 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %809)
          to label %811 unwind label %837

811:                                              ; preds = %806
  %812 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %813 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %812)
          to label %814 unwind label %837

814:                                              ; preds = %811
  %815 = fadd x86_fp80 0xK3FFF8000000000000000, %813
  %816 = fdiv x86_fp80 %810, %815
  store x86_fp80 %816, ptr %66, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #7
  store i8 0, ptr %67, align 1, !tbaa !11
  %817 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %818 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %817)
          to label %819 unwind label %841

819:                                              ; preds = %814
  br i1 %818, label %820, label %845

820:                                              ; preds = %819
  %821 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %822 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %821)
          to label %823 unwind label %841

823:                                              ; preds = %820
  br i1 %822, label %824, label %845

824:                                              ; preds = %823
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %874

825:                                              ; preds = %796, %782, %755
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  br label %826

826:                                              ; preds = %825, %751
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  br label %827

827:                                              ; preds = %826, %747
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  br label %828

828:                                              ; preds = %827, %743
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  br label %2206

829:                                              ; preds = %800
  %830 = landingpad { ptr, i32 }
          cleanup
  %831 = extractvalue { ptr, i32 } %830, 0
  store ptr %831, ptr %4, align 8
  %832 = extractvalue { ptr, i32 } %830, 1
  store i32 %832, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  br label %914

833:                                              ; preds = %803
  %834 = landingpad { ptr, i32 }
          cleanup
  %835 = extractvalue { ptr, i32 } %834, 0
  store ptr %835, ptr %4, align 8
  %836 = extractvalue { ptr, i32 } %834, 1
  store i32 %836, ptr %5, align 4
  br label %913

837:                                              ; preds = %811, %806
  %838 = landingpad { ptr, i32 }
          cleanup
  %839 = extractvalue { ptr, i32 } %838, 0
  store ptr %839, ptr %4, align 8
  %840 = extractvalue { ptr, i32 } %838, 1
  store i32 %840, ptr %5, align 4
  br label %912

841:                                              ; preds = %877, %862, %849, %845, %820, %814
  %842 = landingpad { ptr, i32 }
          cleanup
  %843 = extractvalue { ptr, i32 } %842, 0
  store ptr %843, ptr %4, align 8
  %844 = extractvalue { ptr, i32 } %842, 1
  store i32 %844, ptr %5, align 4
  br label %911

845:                                              ; preds = %823, %819
  %846 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %847 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %846)
          to label %848 unwind label %841

848:                                              ; preds = %845
  br i1 %847, label %858, label %849

849:                                              ; preds = %848
  %850 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %851 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %850)
          to label %852 unwind label %841

852:                                              ; preds = %849
  br i1 %851, label %853, label %858

853:                                              ; preds = %852
  %854 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %855 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %856 = fcmp oeq x86_fp80 %854, %855
  br i1 %856, label %857, label %858

857:                                              ; preds = %853
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %873

858:                                              ; preds = %853, %852, %848
  %859 = load x86_fp80, ptr %66, align 16, !tbaa !9
  %860 = fcmp olt x86_fp80 %859, 0xK3FD0B424DC35095CD800
  br i1 %860, label %861, label %862

861:                                              ; preds = %858
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %872

862:                                              ; preds = %858
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %863 unwind label %841

863:                                              ; preds = %862
  %864 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %865 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %866 = load x86_fp80, ptr %65, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %68, i32 noundef %864, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %865, x86_fp80 noundef %866, x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %867 unwind label %868

867:                                              ; preds = %863
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %872

868:                                              ; preds = %863
  %869 = landingpad { ptr, i32 }
          cleanup
  %870 = extractvalue { ptr, i32 } %869, 0
  store ptr %870, ptr %4, align 8
  %871 = extractvalue { ptr, i32 } %869, 1
  store i32 %871, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %911

872:                                              ; preds = %867, %861
  br label %873

873:                                              ; preds = %872, %857
  br label %874

874:                                              ; preds = %873, %824
  %875 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %876 = trunc i8 %875 to i1
  br i1 %876, label %877, label %886

877:                                              ; preds = %874
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %878 unwind label %841

878:                                              ; preds = %877
  %879 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %880 = load x86_fp80, ptr %66, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %69, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %879, x86_fp80 noundef %880, x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %881 unwind label %882

881:                                              ; preds = %878
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %886

882:                                              ; preds = %878
  %883 = landingpad { ptr, i32 }
          cleanup
  %884 = extractvalue { ptr, i32 } %883, 0
  store ptr %884, ptr %4, align 8
  %885 = extractvalue { ptr, i32 } %883, 1
  store i32 %885, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %911

886:                                              ; preds = %881, %874
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  %887 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %888 = add nsw i32 %887, 1
  store i32 %888, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %889 unwind label %915

889:                                              ; preds = %886
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #7
  %890 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000) #7
  store x86_fp80 %890, ptr %72, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #7
  %891 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %892 unwind label %919

892:                                              ; preds = %889
  store x86_fp80 %891, ptr %73, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #7
  %893 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %894 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %895 = fsub x86_fp80 %893, %894
  %896 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %895)
          to label %897 unwind label %923

897:                                              ; preds = %892
  %898 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %899 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %898)
          to label %900 unwind label %923

900:                                              ; preds = %897
  %901 = fadd x86_fp80 0xK3FFF8000000000000000, %899
  %902 = fdiv x86_fp80 %896, %901
  store x86_fp80 %902, ptr %74, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #7
  store i8 0, ptr %75, align 1, !tbaa !11
  %903 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %904 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %903)
          to label %905 unwind label %927

905:                                              ; preds = %900
  br i1 %904, label %906, label %931

906:                                              ; preds = %905
  %907 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %908 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %907)
          to label %909 unwind label %927

909:                                              ; preds = %906
  br i1 %908, label %910, label %931

910:                                              ; preds = %909
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %960

911:                                              ; preds = %882, %868, %841
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  br label %912

912:                                              ; preds = %911, %837
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  br label %913

913:                                              ; preds = %912, %833
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %914

914:                                              ; preds = %913, %829
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  br label %2206

915:                                              ; preds = %886
  %916 = landingpad { ptr, i32 }
          cleanup
  %917 = extractvalue { ptr, i32 } %916, 0
  store ptr %917, ptr %4, align 8
  %918 = extractvalue { ptr, i32 } %916, 1
  store i32 %918, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #7
  br label %1000

919:                                              ; preds = %889
  %920 = landingpad { ptr, i32 }
          cleanup
  %921 = extractvalue { ptr, i32 } %920, 0
  store ptr %921, ptr %4, align 8
  %922 = extractvalue { ptr, i32 } %920, 1
  store i32 %922, ptr %5, align 4
  br label %999

923:                                              ; preds = %897, %892
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %4, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %5, align 4
  br label %998

927:                                              ; preds = %963, %948, %935, %931, %906, %900
  %928 = landingpad { ptr, i32 }
          cleanup
  %929 = extractvalue { ptr, i32 } %928, 0
  store ptr %929, ptr %4, align 8
  %930 = extractvalue { ptr, i32 } %928, 1
  store i32 %930, ptr %5, align 4
  br label %997

931:                                              ; preds = %909, %905
  %932 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %933 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %932)
          to label %934 unwind label %927

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

935:                                              ; preds = %934
  %936 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %937 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %936)
          to label %938 unwind label %927

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

939:                                              ; preds = %938
  %940 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %941 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %942 = fcmp oeq x86_fp80 %940, %941
  br i1 %942, label %943, label %944

943:                                              ; preds = %939
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %959

944:                                              ; preds = %939, %938, %934
  %945 = load x86_fp80, ptr %74, align 16, !tbaa !9
  %946 = fcmp olt x86_fp80 %945, 0xK3FD0B424DC35095CD800
  br i1 %946, label %947, label %948

947:                                              ; preds = %944
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %958

948:                                              ; preds = %944
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %949 unwind label %927

949:                                              ; preds = %948
  %950 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %951 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %952 = load x86_fp80, ptr %73, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %76, i32 noundef %950, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %951, x86_fp80 noundef %952, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %953 unwind label %954

953:                                              ; preds = %949
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  br label %958

954:                                              ; preds = %949
  %955 = landingpad { ptr, i32 }
          cleanup
  %956 = extractvalue { ptr, i32 } %955, 0
  store ptr %956, ptr %4, align 8
  %957 = extractvalue { ptr, i32 } %955, 1
  store i32 %957, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  br label %997

958:                                              ; preds = %953, %947
  br label %959

959:                                              ; preds = %958, %943
  br label %960

960:                                              ; preds = %959, %910
  %961 = load i8, ptr %75, align 1, !tbaa !11, !range !13, !noundef !14
  %962 = trunc i8 %961 to i1
  br i1 %962, label %963, label %972

963:                                              ; preds = %960
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %964 unwind label %927

964:                                              ; preds = %963
  %965 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %966 = load x86_fp80, ptr %74, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %77, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %965, x86_fp80 noundef %966, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %967 unwind label %968

967:                                              ; preds = %964
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %972

968:                                              ; preds = %964
  %969 = landingpad { ptr, i32 }
          cleanup
  %970 = extractvalue { ptr, i32 } %969, 0
  store ptr %970, ptr %4, align 8
  %971 = extractvalue { ptr, i32 } %969, 1
  store i32 %971, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %997

972:                                              ; preds = %967, %960
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  %973 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %974 = add nsw i32 %973, 1
  store i32 %974, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %975 unwind label %1001

975:                                              ; preds = %972
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %80) #7
  %976 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000) #7
  store x86_fp80 %976, ptr %80, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %81) #7
  %977 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %978 unwind label %1005

978:                                              ; preds = %975
  store x86_fp80 %977, ptr %81, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %82) #7
  %979 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %980 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %981 = fsub x86_fp80 %979, %980
  %982 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %981)
          to label %983 unwind label %1009

983:                                              ; preds = %978
  %984 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %985 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %984)
          to label %986 unwind label %1009

986:                                              ; preds = %983
  %987 = fadd x86_fp80 0xK3FFF8000000000000000, %985
  %988 = fdiv x86_fp80 %982, %987
  store x86_fp80 %988, ptr %82, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #7
  store i8 0, ptr %83, align 1, !tbaa !11
  %989 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %990 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %989)
          to label %991 unwind label %1013

991:                                              ; preds = %986
  br i1 %990, label %992, label %1017

992:                                              ; preds = %991
  %993 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %994 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %993)
          to label %995 unwind label %1013

995:                                              ; preds = %992
  br i1 %994, label %996, label %1017

996:                                              ; preds = %995
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %1046

997:                                              ; preds = %968, %954, %927
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  br label %998

998:                                              ; preds = %997, %923
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  br label %999

999:                                              ; preds = %998, %919
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %1000

1000:                                             ; preds = %999, %915
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %2206

1001:                                             ; preds = %972
  %1002 = landingpad { ptr, i32 }
          cleanup
  %1003 = extractvalue { ptr, i32 } %1002, 0
  store ptr %1003, ptr %4, align 8
  %1004 = extractvalue { ptr, i32 } %1002, 1
  store i32 %1004, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  br label %1086

1005:                                             ; preds = %975
  %1006 = landingpad { ptr, i32 }
          cleanup
  %1007 = extractvalue { ptr, i32 } %1006, 0
  store ptr %1007, ptr %4, align 8
  %1008 = extractvalue { ptr, i32 } %1006, 1
  store i32 %1008, ptr %5, align 4
  br label %1085

1009:                                             ; preds = %983, %978
  %1010 = landingpad { ptr, i32 }
          cleanup
  %1011 = extractvalue { ptr, i32 } %1010, 0
  store ptr %1011, ptr %4, align 8
  %1012 = extractvalue { ptr, i32 } %1010, 1
  store i32 %1012, ptr %5, align 4
  br label %1084

1013:                                             ; preds = %1049, %1034, %1021, %1017, %992, %986
  %1014 = landingpad { ptr, i32 }
          cleanup
  %1015 = extractvalue { ptr, i32 } %1014, 0
  store ptr %1015, ptr %4, align 8
  %1016 = extractvalue { ptr, i32 } %1014, 1
  store i32 %1016, ptr %5, align 4
  br label %1083

1017:                                             ; preds = %995, %991
  %1018 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1019 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1018)
          to label %1020 unwind label %1013

1020:                                             ; preds = %1017
  br i1 %1019, label %1030, label %1021

1021:                                             ; preds = %1020
  %1022 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1023 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1022)
          to label %1024 unwind label %1013

1024:                                             ; preds = %1021
  br i1 %1023, label %1025, label %1030

1025:                                             ; preds = %1024
  %1026 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1027 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %1028 = fcmp oeq x86_fp80 %1026, %1027
  br i1 %1028, label %1029, label %1030

1029:                                             ; preds = %1025
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %1045

1030:                                             ; preds = %1025, %1024, %1020
  %1031 = load x86_fp80, ptr %82, align 16, !tbaa !9
  %1032 = fcmp olt x86_fp80 %1031, 0xK3FD0B424DC35095CD800
  br i1 %1032, label %1033, label %1034

1033:                                             ; preds = %1030
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %1044

1034:                                             ; preds = %1030
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %1035 unwind label %1013

1035:                                             ; preds = %1034
  %1036 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1037 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1038 = load x86_fp80, ptr %81, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %84, i32 noundef %1036, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1037, x86_fp80 noundef %1038, x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %1039 unwind label %1040

1039:                                             ; preds = %1035
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %1044

1040:                                             ; preds = %1035
  %1041 = landingpad { ptr, i32 }
          cleanup
  %1042 = extractvalue { ptr, i32 } %1041, 0
  store ptr %1042, ptr %4, align 8
  %1043 = extractvalue { ptr, i32 } %1041, 1
  store i32 %1043, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %1083

1044:                                             ; preds = %1039, %1033
  br label %1045

1045:                                             ; preds = %1044, %1029
  br label %1046

1046:                                             ; preds = %1045, %996
  %1047 = load i8, ptr %83, align 1, !tbaa !11, !range !13, !noundef !14
  %1048 = trunc i8 %1047 to i1
  br i1 %1048, label %1049, label %1058

1049:                                             ; preds = %1046
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %1050 unwind label %1013

1050:                                             ; preds = %1049
  %1051 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1052 = load x86_fp80, ptr %82, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %85, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1051, x86_fp80 noundef %1052, x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %1053 unwind label %1054

1053:                                             ; preds = %1050
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %1058

1054:                                             ; preds = %1050
  %1055 = landingpad { ptr, i32 }
          cleanup
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %4, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %1083

1058:                                             ; preds = %1053, %1046
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  %1059 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1060 = add nsw i32 %1059, 1
  store i32 %1060, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %87)
          to label %1061 unwind label %1087

1061:                                             ; preds = %1058
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %88) #7
  %1062 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000) #7
  store x86_fp80 %1062, ptr %88, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %89) #7
  %1063 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %1064 unwind label %1091

1064:                                             ; preds = %1061
  store x86_fp80 %1063, ptr %89, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %90) #7
  %1065 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1066 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1067 = fsub x86_fp80 %1065, %1066
  %1068 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1067)
          to label %1069 unwind label %1095

1069:                                             ; preds = %1064
  %1070 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1071 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1070)
          to label %1072 unwind label %1095

1072:                                             ; preds = %1069
  %1073 = fadd x86_fp80 0xK3FFF8000000000000000, %1071
  %1074 = fdiv x86_fp80 %1068, %1073
  store x86_fp80 %1074, ptr %90, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #7
  store i8 0, ptr %91, align 1, !tbaa !11
  %1075 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1076 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1075)
          to label %1077 unwind label %1099

1077:                                             ; preds = %1072
  br i1 %1076, label %1078, label %1103

1078:                                             ; preds = %1077
  %1079 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1080 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1079)
          to label %1081 unwind label %1099

1081:                                             ; preds = %1078
  br i1 %1080, label %1082, label %1103

1082:                                             ; preds = %1081
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1132

1083:                                             ; preds = %1054, %1040, %1013
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #7
  br label %1084

1084:                                             ; preds = %1083, %1009
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  br label %1085

1085:                                             ; preds = %1084, %1005
  call void @llvm.lifetime.end.p0(i64 16, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  br label %1086

1086:                                             ; preds = %1085, %1001
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  br label %2206

1087:                                             ; preds = %1058
  %1088 = landingpad { ptr, i32 }
          cleanup
  %1089 = extractvalue { ptr, i32 } %1088, 0
  store ptr %1089, ptr %4, align 8
  %1090 = extractvalue { ptr, i32 } %1088, 1
  store i32 %1090, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  br label %1172

1091:                                             ; preds = %1061
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %4, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %5, align 4
  br label %1171

1095:                                             ; preds = %1069, %1064
  %1096 = landingpad { ptr, i32 }
          cleanup
  %1097 = extractvalue { ptr, i32 } %1096, 0
  store ptr %1097, ptr %4, align 8
  %1098 = extractvalue { ptr, i32 } %1096, 1
  store i32 %1098, ptr %5, align 4
  br label %1170

1099:                                             ; preds = %1135, %1120, %1107, %1103, %1078, %1072
  %1100 = landingpad { ptr, i32 }
          cleanup
  %1101 = extractvalue { ptr, i32 } %1100, 0
  store ptr %1101, ptr %4, align 8
  %1102 = extractvalue { ptr, i32 } %1100, 1
  store i32 %1102, ptr %5, align 4
  br label %1169

1103:                                             ; preds = %1081, %1077
  %1104 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1105 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1104)
          to label %1106 unwind label %1099

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

1107:                                             ; preds = %1106
  %1108 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1109 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1108)
          to label %1110 unwind label %1099

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

1111:                                             ; preds = %1110
  %1112 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1113 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1114 = fcmp oeq x86_fp80 %1112, %1113
  br i1 %1114, label %1115, label %1116

1115:                                             ; preds = %1111
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1131

1116:                                             ; preds = %1111, %1110, %1106
  %1117 = load x86_fp80, ptr %90, align 16, !tbaa !9
  %1118 = fcmp olt x86_fp80 %1117, 0xK3FD0B424DC35095CD800
  br i1 %1118, label %1119, label %1120

1119:                                             ; preds = %1116
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1130

1120:                                             ; preds = %1116
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1121 unwind label %1099

1121:                                             ; preds = %1120
  %1122 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1123 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1124 = load x86_fp80, ptr %89, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %92, i32 noundef %1122, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1123, x86_fp80 noundef %1124, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %1125 unwind label %1126

1125:                                             ; preds = %1121
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1130

1126:                                             ; preds = %1121
  %1127 = landingpad { ptr, i32 }
          cleanup
  %1128 = extractvalue { ptr, i32 } %1127, 0
  store ptr %1128, ptr %4, align 8
  %1129 = extractvalue { ptr, i32 } %1127, 1
  store i32 %1129, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1169

1130:                                             ; preds = %1125, %1119
  br label %1131

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

1132:                                             ; preds = %1131, %1082
  %1133 = load i8, ptr %91, align 1, !tbaa !11, !range !13, !noundef !14
  %1134 = trunc i8 %1133 to i1
  br i1 %1134, label %1135, label %1144

1135:                                             ; preds = %1132
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1136 unwind label %1099

1136:                                             ; preds = %1135
  %1137 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1138 = load x86_fp80, ptr %90, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %93, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1137, x86_fp80 noundef %1138, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %1139 unwind label %1140

1139:                                             ; preds = %1136
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1144

1140:                                             ; preds = %1136
  %1141 = landingpad { ptr, i32 }
          cleanup
  %1142 = extractvalue { ptr, i32 } %1141, 0
  store ptr %1142, ptr %4, align 8
  %1143 = extractvalue { ptr, i32 } %1141, 1
  store i32 %1143, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1169

1144:                                             ; preds = %1139, %1132
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  %1145 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1146 = add nsw i32 %1145, 1
  store i32 %1146, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %95) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %1147 unwind label %1173

1147:                                             ; preds = %1144
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %96) #7
  %1148 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666) #7
  store x86_fp80 %1148, ptr %96, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #7
  %1149 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %1150 unwind label %1177

1150:                                             ; preds = %1147
  store x86_fp80 %1149, ptr %97, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %98) #7
  %1151 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1152 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1153 = fsub x86_fp80 %1151, %1152
  %1154 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1153)
          to label %1155 unwind label %1181

1155:                                             ; preds = %1150
  %1156 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1157 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1156)
          to label %1158 unwind label %1181

1158:                                             ; preds = %1155
  %1159 = fadd x86_fp80 0xK3FFF8000000000000000, %1157
  %1160 = fdiv x86_fp80 %1154, %1159
  store x86_fp80 %1160, ptr %98, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #7
  store i8 0, ptr %99, align 1, !tbaa !11
  %1161 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1162 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1161)
          to label %1163 unwind label %1185

1163:                                             ; preds = %1158
  br i1 %1162, label %1164, label %1189

1164:                                             ; preds = %1163
  %1165 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1166 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1165)
          to label %1167 unwind label %1185

1167:                                             ; preds = %1164
  br i1 %1166, label %1168, label %1189

1168:                                             ; preds = %1167
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1218

1169:                                             ; preds = %1140, %1126, %1099
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  br label %1170

1170:                                             ; preds = %1169, %1095
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  br label %1171

1171:                                             ; preds = %1170, %1091
  call void @llvm.lifetime.end.p0(i64 16, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  br label %1172

1172:                                             ; preds = %1171, %1087
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  br label %2206

1173:                                             ; preds = %1144
  %1174 = landingpad { ptr, i32 }
          cleanup
  %1175 = extractvalue { ptr, i32 } %1174, 0
  store ptr %1175, ptr %4, align 8
  %1176 = extractvalue { ptr, i32 } %1174, 1
  store i32 %1176, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #7
  br label %1258

1177:                                             ; preds = %1147
  %1178 = landingpad { ptr, i32 }
          cleanup
  %1179 = extractvalue { ptr, i32 } %1178, 0
  store ptr %1179, ptr %4, align 8
  %1180 = extractvalue { ptr, i32 } %1178, 1
  store i32 %1180, ptr %5, align 4
  br label %1257

1181:                                             ; preds = %1155, %1150
  %1182 = landingpad { ptr, i32 }
          cleanup
  %1183 = extractvalue { ptr, i32 } %1182, 0
  store ptr %1183, ptr %4, align 8
  %1184 = extractvalue { ptr, i32 } %1182, 1
  store i32 %1184, ptr %5, align 4
  br label %1256

1185:                                             ; preds = %1221, %1206, %1193, %1189, %1164, %1158
  %1186 = landingpad { ptr, i32 }
          cleanup
  %1187 = extractvalue { ptr, i32 } %1186, 0
  store ptr %1187, ptr %4, align 8
  %1188 = extractvalue { ptr, i32 } %1186, 1
  store i32 %1188, ptr %5, align 4
  br label %1255

1189:                                             ; preds = %1167, %1163
  %1190 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1191 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1190)
          to label %1192 unwind label %1185

1192:                                             ; preds = %1189
  br i1 %1191, label %1202, label %1193

1193:                                             ; preds = %1192
  %1194 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1195 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1194)
          to label %1196 unwind label %1185

1196:                                             ; preds = %1193
  br i1 %1195, label %1197, label %1202

1197:                                             ; preds = %1196
  %1198 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1199 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1200 = fcmp oeq x86_fp80 %1198, %1199
  br i1 %1200, label %1201, label %1202

1201:                                             ; preds = %1197
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1217

1202:                                             ; preds = %1197, %1196, %1192
  %1203 = load x86_fp80, ptr %98, align 16, !tbaa !9
  %1204 = fcmp olt x86_fp80 %1203, 0xK3FD0B424DC35095CD800
  br i1 %1204, label %1205, label %1206

1205:                                             ; preds = %1202
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1216

1206:                                             ; preds = %1202
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1207 unwind label %1185

1207:                                             ; preds = %1206
  %1208 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1209 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1210 = load x86_fp80, ptr %97, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %100, i32 noundef %1208, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1209, x86_fp80 noundef %1210, x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %1211 unwind label %1212

1211:                                             ; preds = %1207
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1216

1212:                                             ; preds = %1207
  %1213 = landingpad { ptr, i32 }
          cleanup
  %1214 = extractvalue { ptr, i32 } %1213, 0
  store ptr %1214, ptr %4, align 8
  %1215 = extractvalue { ptr, i32 } %1213, 1
  store i32 %1215, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1255

1216:                                             ; preds = %1211, %1205
  br label %1217

1217:                                             ; preds = %1216, %1201
  br label %1218

1218:                                             ; preds = %1217, %1168
  %1219 = load i8, ptr %99, align 1, !tbaa !11, !range !13, !noundef !14
  %1220 = trunc i8 %1219 to i1
  br i1 %1220, label %1221, label %1230

1221:                                             ; preds = %1218
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1222 unwind label %1185

1222:                                             ; preds = %1221
  %1223 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1224 = load x86_fp80, ptr %98, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %101, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1223, x86_fp80 noundef %1224, x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %1225 unwind label %1226

1225:                                             ; preds = %1222
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1230

1226:                                             ; preds = %1222
  %1227 = landingpad { ptr, i32 }
          cleanup
  %1228 = extractvalue { ptr, i32 } %1227, 0
  store ptr %1228, ptr %4, align 8
  %1229 = extractvalue { ptr, i32 } %1227, 1
  store i32 %1229, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1255

1230:                                             ; preds = %1225, %1218
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  %1231 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1232 = add nsw i32 %1231, 1
  store i32 %1232, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %1233 unwind label %1259

1233:                                             ; preds = %1230
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %104) #7
  %1234 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %1234, ptr %104, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %105) #7
  %1235 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1236 unwind label %1263

1236:                                             ; preds = %1233
  store x86_fp80 %1235, ptr %105, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #7
  %1237 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1238 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1239 = fsub x86_fp80 %1237, %1238
  %1240 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1239)
          to label %1241 unwind label %1267

1241:                                             ; preds = %1236
  %1242 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1243 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1242)
          to label %1244 unwind label %1267

1244:                                             ; preds = %1241
  %1245 = fadd x86_fp80 0xK3FFF8000000000000000, %1243
  %1246 = fdiv x86_fp80 %1240, %1245
  store x86_fp80 %1246, ptr %106, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #7
  store i8 0, ptr %107, align 1, !tbaa !11
  %1247 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1248 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1247)
          to label %1249 unwind label %1271

1249:                                             ; preds = %1244
  br i1 %1248, label %1250, label %1275

1250:                                             ; preds = %1249
  %1251 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1252 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1251)
          to label %1253 unwind label %1271

1253:                                             ; preds = %1250
  br i1 %1252, label %1254, label %1275

1254:                                             ; preds = %1253
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1304

1255:                                             ; preds = %1226, %1212, %1185
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #7
  br label %1256

1256:                                             ; preds = %1255, %1181
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #7
  br label %1257

1257:                                             ; preds = %1256, %1177
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  br label %1258

1258:                                             ; preds = %1257, %1173
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  br label %2206

1259:                                             ; preds = %1230
  %1260 = landingpad { ptr, i32 }
          cleanup
  %1261 = extractvalue { ptr, i32 } %1260, 0
  store ptr %1261, ptr %4, align 8
  %1262 = extractvalue { ptr, i32 } %1260, 1
  store i32 %1262, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #7
  br label %1344

1263:                                             ; preds = %1233
  %1264 = landingpad { ptr, i32 }
          cleanup
  %1265 = extractvalue { ptr, i32 } %1264, 0
  store ptr %1265, ptr %4, align 8
  %1266 = extractvalue { ptr, i32 } %1264, 1
  store i32 %1266, ptr %5, align 4
  br label %1343

1267:                                             ; preds = %1241, %1236
  %1268 = landingpad { ptr, i32 }
          cleanup
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %4, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %5, align 4
  br label %1342

1271:                                             ; preds = %1307, %1292, %1279, %1275, %1250, %1244
  %1272 = landingpad { ptr, i32 }
          cleanup
  %1273 = extractvalue { ptr, i32 } %1272, 0
  store ptr %1273, ptr %4, align 8
  %1274 = extractvalue { ptr, i32 } %1272, 1
  store i32 %1274, ptr %5, align 4
  br label %1341

1275:                                             ; preds = %1253, %1249
  %1276 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1277 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1276)
          to label %1278 unwind label %1271

1278:                                             ; preds = %1275
  br i1 %1277, label %1288, label %1279

1279:                                             ; preds = %1278
  %1280 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1281 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1280)
          to label %1282 unwind label %1271

1282:                                             ; preds = %1279
  br i1 %1281, label %1283, label %1288

1283:                                             ; preds = %1282
  %1284 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1285 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1286 = fcmp oeq x86_fp80 %1284, %1285
  br i1 %1286, label %1287, label %1288

1287:                                             ; preds = %1283
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1303

1288:                                             ; preds = %1283, %1282, %1278
  %1289 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1290 = fcmp olt x86_fp80 %1289, 0xK3FD0B424DC35095CD800
  br i1 %1290, label %1291, label %1292

1291:                                             ; preds = %1288
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1302

1292:                                             ; preds = %1288
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1293 unwind label %1271

1293:                                             ; preds = %1292
  %1294 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1295 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1296 = load x86_fp80, ptr %105, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %108, i32 noundef %1294, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1295, x86_fp80 noundef %1296, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1297 unwind label %1298

1297:                                             ; preds = %1293
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1302

1298:                                             ; preds = %1293
  %1299 = landingpad { ptr, i32 }
          cleanup
  %1300 = extractvalue { ptr, i32 } %1299, 0
  store ptr %1300, ptr %4, align 8
  %1301 = extractvalue { ptr, i32 } %1299, 1
  store i32 %1301, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1341

1302:                                             ; preds = %1297, %1291
  br label %1303

1303:                                             ; preds = %1302, %1287
  br label %1304

1304:                                             ; preds = %1303, %1254
  %1305 = load i8, ptr %107, align 1, !tbaa !11, !range !13, !noundef !14
  %1306 = trunc i8 %1305 to i1
  br i1 %1306, label %1307, label %1316

1307:                                             ; preds = %1304
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1308 unwind label %1271

1308:                                             ; preds = %1307
  %1309 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1310 = load x86_fp80, ptr %106, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %109, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1309, x86_fp80 noundef %1310, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1311 unwind label %1312

1311:                                             ; preds = %1308
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1316

1312:                                             ; preds = %1308
  %1313 = landingpad { ptr, i32 }
          cleanup
  %1314 = extractvalue { ptr, i32 } %1313, 0
  store ptr %1314, ptr %4, align 8
  %1315 = extractvalue { ptr, i32 } %1313, 1
  store i32 %1315, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1341

1316:                                             ; preds = %1311, %1304
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #7
  %1317 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1318 = add nsw i32 %1317, 1
  store i32 %1318, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %1319 unwind label %1345

1319:                                             ; preds = %1316
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %112) #7
  %1320 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #7
  store x86_fp80 %1320, ptr %112, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #7
  %1321 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %1322 unwind label %1349

1322:                                             ; preds = %1319
  store x86_fp80 %1321, ptr %113, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #7
  %1323 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1324 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1325 = fsub x86_fp80 %1323, %1324
  %1326 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1325)
          to label %1327 unwind label %1353

1327:                                             ; preds = %1322
  %1328 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1329 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1328)
          to label %1330 unwind label %1353

1330:                                             ; preds = %1327
  %1331 = fadd x86_fp80 0xK3FFF8000000000000000, %1329
  %1332 = fdiv x86_fp80 %1326, %1331
  store x86_fp80 %1332, ptr %114, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #7
  store i8 0, ptr %115, align 1, !tbaa !11
  %1333 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1334 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1333)
          to label %1335 unwind label %1357

1335:                                             ; preds = %1330
  br i1 %1334, label %1336, label %1361

1336:                                             ; preds = %1335
  %1337 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1338 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1337)
          to label %1339 unwind label %1357

1339:                                             ; preds = %1336
  br i1 %1338, label %1340, label %1361

1340:                                             ; preds = %1339
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1390

1341:                                             ; preds = %1312, %1298, %1271
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  br label %1342

1342:                                             ; preds = %1341, %1267
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  br label %1343

1343:                                             ; preds = %1342, %1263
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #7
  br label %1344

1344:                                             ; preds = %1343, %1259
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #7
  br label %2206

1345:                                             ; preds = %1316
  %1346 = landingpad { ptr, i32 }
          cleanup
  %1347 = extractvalue { ptr, i32 } %1346, 0
  store ptr %1347, ptr %4, align 8
  %1348 = extractvalue { ptr, i32 } %1346, 1
  store i32 %1348, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  br label %1430

1349:                                             ; preds = %1319
  %1350 = landingpad { ptr, i32 }
          cleanup
  %1351 = extractvalue { ptr, i32 } %1350, 0
  store ptr %1351, ptr %4, align 8
  %1352 = extractvalue { ptr, i32 } %1350, 1
  store i32 %1352, ptr %5, align 4
  br label %1429

1353:                                             ; preds = %1327, %1322
  %1354 = landingpad { ptr, i32 }
          cleanup
  %1355 = extractvalue { ptr, i32 } %1354, 0
  store ptr %1355, ptr %4, align 8
  %1356 = extractvalue { ptr, i32 } %1354, 1
  store i32 %1356, ptr %5, align 4
  br label %1428

1357:                                             ; preds = %1393, %1378, %1365, %1361, %1336, %1330
  %1358 = landingpad { ptr, i32 }
          cleanup
  %1359 = extractvalue { ptr, i32 } %1358, 0
  store ptr %1359, ptr %4, align 8
  %1360 = extractvalue { ptr, i32 } %1358, 1
  store i32 %1360, ptr %5, align 4
  br label %1427

1361:                                             ; preds = %1339, %1335
  %1362 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1363 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1362)
          to label %1364 unwind label %1357

1364:                                             ; preds = %1361
  br i1 %1363, label %1374, label %1365

1365:                                             ; preds = %1364
  %1366 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1367 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1366)
          to label %1368 unwind label %1357

1368:                                             ; preds = %1365
  br i1 %1367, label %1369, label %1374

1369:                                             ; preds = %1368
  %1370 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1371 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1372 = fcmp oeq x86_fp80 %1370, %1371
  br i1 %1372, label %1373, label %1374

1373:                                             ; preds = %1369
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1389

1374:                                             ; preds = %1369, %1368, %1364
  %1375 = load x86_fp80, ptr %114, align 16, !tbaa !9
  %1376 = fcmp olt x86_fp80 %1375, 0xK3FD0B424DC35095CD800
  br i1 %1376, label %1377, label %1378

1377:                                             ; preds = %1374
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1388

1378:                                             ; preds = %1374
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1379 unwind label %1357

1379:                                             ; preds = %1378
  %1380 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1381 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1382 = load x86_fp80, ptr %113, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %116, i32 noundef %1380, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1381, x86_fp80 noundef %1382, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %1383 unwind label %1384

1383:                                             ; preds = %1379
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1388

1384:                                             ; preds = %1379
  %1385 = landingpad { ptr, i32 }
          cleanup
  %1386 = extractvalue { ptr, i32 } %1385, 0
  store ptr %1386, ptr %4, align 8
  %1387 = extractvalue { ptr, i32 } %1385, 1
  store i32 %1387, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1427

1388:                                             ; preds = %1383, %1377
  br label %1389

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

1390:                                             ; preds = %1389, %1340
  %1391 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %1392 = trunc i8 %1391 to i1
  br i1 %1392, label %1393, label %1402

1393:                                             ; preds = %1390
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1394 unwind label %1357

1394:                                             ; preds = %1393
  %1395 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1396 = load x86_fp80, ptr %114, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %117, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1395, x86_fp80 noundef %1396, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %1397 unwind label %1398

1397:                                             ; preds = %1394
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1402

1398:                                             ; preds = %1394
  %1399 = landingpad { ptr, i32 }
          cleanup
  %1400 = extractvalue { ptr, i32 } %1399, 0
  store ptr %1400, ptr %4, align 8
  %1401 = extractvalue { ptr, i32 } %1399, 1
  store i32 %1401, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1427

1402:                                             ; preds = %1397, %1390
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %112) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  %1403 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1404 = add nsw i32 %1403, 1
  store i32 %1404, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1405 unwind label %1431

1405:                                             ; preds = %1402
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #7
  %1406 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %1406, ptr %120, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #7
  %1407 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1408 unwind label %1435

1408:                                             ; preds = %1405
  store x86_fp80 %1407, ptr %121, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %122) #7
  %1409 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1410 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1411 = fsub x86_fp80 %1409, %1410
  %1412 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1411)
          to label %1413 unwind label %1439

1413:                                             ; preds = %1408
  %1414 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1415 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1414)
          to label %1416 unwind label %1439

1416:                                             ; preds = %1413
  %1417 = fadd x86_fp80 0xK3FFF8000000000000000, %1415
  %1418 = fdiv x86_fp80 %1412, %1417
  store x86_fp80 %1418, ptr %122, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %123) #7
  store i8 0, ptr %123, align 1, !tbaa !11
  %1419 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1420 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1419)
          to label %1421 unwind label %1443

1421:                                             ; preds = %1416
  br i1 %1420, label %1422, label %1447

1422:                                             ; preds = %1421
  %1423 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1424 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1423)
          to label %1425 unwind label %1443

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

1426:                                             ; preds = %1425
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1476

1427:                                             ; preds = %1398, %1384, %1357
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  br label %1428

1428:                                             ; preds = %1427, %1353
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #7
  br label %1429

1429:                                             ; preds = %1428, %1349
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %112) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %1430

1430:                                             ; preds = %1429, %1345
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  br label %2206

1431:                                             ; preds = %1402
  %1432 = landingpad { ptr, i32 }
          cleanup
  %1433 = extractvalue { ptr, i32 } %1432, 0
  store ptr %1433, ptr %4, align 8
  %1434 = extractvalue { ptr, i32 } %1432, 1
  store i32 %1434, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  br label %1516

1435:                                             ; preds = %1405
  %1436 = landingpad { ptr, i32 }
          cleanup
  %1437 = extractvalue { ptr, i32 } %1436, 0
  store ptr %1437, ptr %4, align 8
  %1438 = extractvalue { ptr, i32 } %1436, 1
  store i32 %1438, ptr %5, align 4
  br label %1515

1439:                                             ; preds = %1413, %1408
  %1440 = landingpad { ptr, i32 }
          cleanup
  %1441 = extractvalue { ptr, i32 } %1440, 0
  store ptr %1441, ptr %4, align 8
  %1442 = extractvalue { ptr, i32 } %1440, 1
  store i32 %1442, ptr %5, align 4
  br label %1514

1443:                                             ; preds = %1479, %1464, %1451, %1447, %1422, %1416
  %1444 = landingpad { ptr, i32 }
          cleanup
  %1445 = extractvalue { ptr, i32 } %1444, 0
  store ptr %1445, ptr %4, align 8
  %1446 = extractvalue { ptr, i32 } %1444, 1
  store i32 %1446, ptr %5, align 4
  br label %1513

1447:                                             ; preds = %1425, %1421
  %1448 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1449 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1448)
          to label %1450 unwind label %1443

1450:                                             ; preds = %1447
  br i1 %1449, label %1460, label %1451

1451:                                             ; preds = %1450
  %1452 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1453 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1452)
          to label %1454 unwind label %1443

1454:                                             ; preds = %1451
  br i1 %1453, label %1455, label %1460

1455:                                             ; preds = %1454
  %1456 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1457 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1458 = fcmp oeq x86_fp80 %1456, %1457
  br i1 %1458, label %1459, label %1460

1459:                                             ; preds = %1455
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1475

1460:                                             ; preds = %1455, %1454, %1450
  %1461 = load x86_fp80, ptr %122, align 16, !tbaa !9
  %1462 = fcmp olt x86_fp80 %1461, 0xK3FD0B424DC35095CD800
  br i1 %1462, label %1463, label %1464

1463:                                             ; preds = %1460
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1474

1464:                                             ; preds = %1460
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1465 unwind label %1443

1465:                                             ; preds = %1464
  %1466 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1467 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1468 = load x86_fp80, ptr %121, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %124, i32 noundef %1466, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1467, x86_fp80 noundef %1468, x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1469 unwind label %1470

1469:                                             ; preds = %1465
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %1474

1470:                                             ; preds = %1465
  %1471 = landingpad { ptr, i32 }
          cleanup
  %1472 = extractvalue { ptr, i32 } %1471, 0
  store ptr %1472, ptr %4, align 8
  %1473 = extractvalue { ptr, i32 } %1471, 1
  store i32 %1473, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %1513

1474:                                             ; preds = %1469, %1463
  br label %1475

1475:                                             ; preds = %1474, %1459
  br label %1476

1476:                                             ; preds = %1475, %1426
  %1477 = load i8, ptr %123, align 1, !tbaa !11, !range !13, !noundef !14
  %1478 = trunc i8 %1477 to i1
  br i1 %1478, label %1479, label %1488

1479:                                             ; preds = %1476
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1480 unwind label %1443

1480:                                             ; preds = %1479
  %1481 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1482 = load x86_fp80, ptr %122, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %125, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1481, x86_fp80 noundef %1482, x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1483 unwind label %1484

1483:                                             ; preds = %1480
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  br label %1488

1484:                                             ; preds = %1480
  %1485 = landingpad { ptr, i32 }
          cleanup
  %1486 = extractvalue { ptr, i32 } %1485, 0
  store ptr %1486, ptr %4, align 8
  %1487 = extractvalue { ptr, i32 } %1485, 1
  store i32 %1487, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  br label %1513

1488:                                             ; preds = %1483, %1476
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  %1489 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1490 = add nsw i32 %1489, 1
  store i32 %1490, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %127) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %127)
          to label %1491 unwind label %1517

1491:                                             ; preds = %1488
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %128) #7
  %1492 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000) #7
  store x86_fp80 %1492, ptr %128, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %129) #7
  %1493 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %1494 unwind label %1521

1494:                                             ; preds = %1491
  store x86_fp80 %1493, ptr %129, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %130) #7
  %1495 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1496 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1497 = fsub x86_fp80 %1495, %1496
  %1498 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1497)
          to label %1499 unwind label %1525

1499:                                             ; preds = %1494
  %1500 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1501 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1500)
          to label %1502 unwind label %1525

1502:                                             ; preds = %1499
  %1503 = fadd x86_fp80 0xK3FFF8000000000000000, %1501
  %1504 = fdiv x86_fp80 %1498, %1503
  store x86_fp80 %1504, ptr %130, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %131) #7
  store i8 0, ptr %131, align 1, !tbaa !11
  %1505 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1506 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1505)
          to label %1507 unwind label %1529

1507:                                             ; preds = %1502
  br i1 %1506, label %1508, label %1533

1508:                                             ; preds = %1507
  %1509 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1510 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1509)
          to label %1511 unwind label %1529

1511:                                             ; preds = %1508
  br i1 %1510, label %1512, label %1533

1512:                                             ; preds = %1511
  store i8 1, ptr %131, align 1, !tbaa !11
  br label %1562

1513:                                             ; preds = %1484, %1470, %1443
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #7
  br label %1514

1514:                                             ; preds = %1513, %1439
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #7
  br label %1515

1515:                                             ; preds = %1514, %1435
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  br label %1516

1516:                                             ; preds = %1515, %1431
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  br label %2206

1517:                                             ; preds = %1488
  %1518 = landingpad { ptr, i32 }
          cleanup
  %1519 = extractvalue { ptr, i32 } %1518, 0
  store ptr %1519, ptr %4, align 8
  %1520 = extractvalue { ptr, i32 } %1518, 1
  store i32 %1520, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #7
  br label %1602

1521:                                             ; preds = %1491
  %1522 = landingpad { ptr, i32 }
          cleanup
  %1523 = extractvalue { ptr, i32 } %1522, 0
  store ptr %1523, ptr %4, align 8
  %1524 = extractvalue { ptr, i32 } %1522, 1
  store i32 %1524, ptr %5, align 4
  br label %1601

1525:                                             ; preds = %1499, %1494
  %1526 = landingpad { ptr, i32 }
          cleanup
  %1527 = extractvalue { ptr, i32 } %1526, 0
  store ptr %1527, ptr %4, align 8
  %1528 = extractvalue { ptr, i32 } %1526, 1
  store i32 %1528, ptr %5, align 4
  br label %1600

1529:                                             ; preds = %1565, %1550, %1537, %1533, %1508, %1502
  %1530 = landingpad { ptr, i32 }
          cleanup
  %1531 = extractvalue { ptr, i32 } %1530, 0
  store ptr %1531, ptr %4, align 8
  %1532 = extractvalue { ptr, i32 } %1530, 1
  store i32 %1532, ptr %5, align 4
  br label %1599

1533:                                             ; preds = %1511, %1507
  %1534 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1535 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1534)
          to label %1536 unwind label %1529

1536:                                             ; preds = %1533
  br i1 %1535, label %1546, label %1537

1537:                                             ; preds = %1536
  %1538 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1539 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1538)
          to label %1540 unwind label %1529

1540:                                             ; preds = %1537
  br i1 %1539, label %1541, label %1546

1541:                                             ; preds = %1540
  %1542 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1543 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1544 = fcmp oeq x86_fp80 %1542, %1543
  br i1 %1544, label %1545, label %1546

1545:                                             ; preds = %1541
  store i8 1, ptr %131, align 1, !tbaa !11
  br label %1561

1546:                                             ; preds = %1541, %1540, %1536
  %1547 = load x86_fp80, ptr %130, align 16, !tbaa !9
  %1548 = fcmp olt x86_fp80 %1547, 0xK3FD0B424DC35095CD800
  br i1 %1548, label %1549, label %1550

1549:                                             ; preds = %1546
  store i8 1, ptr %131, align 1, !tbaa !11
  br label %1560

1550:                                             ; preds = %1546
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %1551 unwind label %1529

1551:                                             ; preds = %1550
  %1552 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1553 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1554 = load x86_fp80, ptr %129, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %132, i32 noundef %1552, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1553, x86_fp80 noundef %1554, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %1555 unwind label %1556

1555:                                             ; preds = %1551
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1560

1556:                                             ; preds = %1551
  %1557 = landingpad { ptr, i32 }
          cleanup
  %1558 = extractvalue { ptr, i32 } %1557, 0
  store ptr %1558, ptr %4, align 8
  %1559 = extractvalue { ptr, i32 } %1557, 1
  store i32 %1559, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1599

1560:                                             ; preds = %1555, %1549
  br label %1561

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

1562:                                             ; preds = %1561, %1512
  %1563 = load i8, ptr %131, align 1, !tbaa !11, !range !13, !noundef !14
  %1564 = trunc i8 %1563 to i1
  br i1 %1564, label %1565, label %1574

1565:                                             ; preds = %1562
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %1566 unwind label %1529

1566:                                             ; preds = %1565
  %1567 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1568 = load x86_fp80, ptr %130, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %133, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1567, x86_fp80 noundef %1568, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %1569 unwind label %1570

1569:                                             ; preds = %1566
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #7
  br label %1574

1570:                                             ; preds = %1566
  %1571 = landingpad { ptr, i32 }
          cleanup
  %1572 = extractvalue { ptr, i32 } %1571, 0
  store ptr %1572, ptr %4, align 8
  %1573 = extractvalue { ptr, i32 } %1571, 1
  store i32 %1573, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #7
  br label %1599

1574:                                             ; preds = %1569, %1562
  call void @llvm.lifetime.end.p0(i64 1, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %130) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %129) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #7
  %1575 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1576 = add nsw i32 %1575, 1
  store i32 %1576, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %135) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %135)
          to label %1577 unwind label %1603

1577:                                             ; preds = %1574
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %136) #7
  %1578 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000) #7
  store x86_fp80 %1578, ptr %136, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %137) #7
  %1579 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %1580 unwind label %1607

1580:                                             ; preds = %1577
  store x86_fp80 %1579, ptr %137, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %138) #7
  %1581 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1582 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1583 = fsub x86_fp80 %1581, %1582
  %1584 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1583)
          to label %1585 unwind label %1611

1585:                                             ; preds = %1580
  %1586 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1587 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1586)
          to label %1588 unwind label %1611

1588:                                             ; preds = %1585
  %1589 = fadd x86_fp80 0xK3FFF8000000000000000, %1587
  %1590 = fdiv x86_fp80 %1584, %1589
  store x86_fp80 %1590, ptr %138, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %139) #7
  store i8 0, ptr %139, align 1, !tbaa !11
  %1591 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1592 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1591)
          to label %1593 unwind label %1615

1593:                                             ; preds = %1588
  br i1 %1592, label %1594, label %1619

1594:                                             ; preds = %1593
  %1595 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1596 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1595)
          to label %1597 unwind label %1615

1597:                                             ; preds = %1594
  br i1 %1596, label %1598, label %1619

1598:                                             ; preds = %1597
  store i8 1, ptr %139, align 1, !tbaa !11
  br label %1648

1599:                                             ; preds = %1570, %1556, %1529
  call void @llvm.lifetime.end.p0(i64 1, ptr %131) #7
  br label %1600

1600:                                             ; preds = %1599, %1525
  call void @llvm.lifetime.end.p0(i64 16, ptr %130) #7
  br label %1601

1601:                                             ; preds = %1600, %1521
  call void @llvm.lifetime.end.p0(i64 16, ptr %129) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  br label %1602

1602:                                             ; preds = %1601, %1517
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #7
  br label %2206

1603:                                             ; preds = %1574
  %1604 = landingpad { ptr, i32 }
          cleanup
  %1605 = extractvalue { ptr, i32 } %1604, 0
  store ptr %1605, ptr %4, align 8
  %1606 = extractvalue { ptr, i32 } %1604, 1
  store i32 %1606, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  br label %1688

1607:                                             ; preds = %1577
  %1608 = landingpad { ptr, i32 }
          cleanup
  %1609 = extractvalue { ptr, i32 } %1608, 0
  store ptr %1609, ptr %4, align 8
  %1610 = extractvalue { ptr, i32 } %1608, 1
  store i32 %1610, ptr %5, align 4
  br label %1687

1611:                                             ; preds = %1585, %1580
  %1612 = landingpad { ptr, i32 }
          cleanup
  %1613 = extractvalue { ptr, i32 } %1612, 0
  store ptr %1613, ptr %4, align 8
  %1614 = extractvalue { ptr, i32 } %1612, 1
  store i32 %1614, ptr %5, align 4
  br label %1686

1615:                                             ; preds = %1651, %1636, %1623, %1619, %1594, %1588
  %1616 = landingpad { ptr, i32 }
          cleanup
  %1617 = extractvalue { ptr, i32 } %1616, 0
  store ptr %1617, ptr %4, align 8
  %1618 = extractvalue { ptr, i32 } %1616, 1
  store i32 %1618, ptr %5, align 4
  br label %1685

1619:                                             ; preds = %1597, %1593
  %1620 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1621 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1620)
          to label %1622 unwind label %1615

1622:                                             ; preds = %1619
  br i1 %1621, label %1632, label %1623

1623:                                             ; preds = %1622
  %1624 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1625 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1624)
          to label %1626 unwind label %1615

1626:                                             ; preds = %1623
  br i1 %1625, label %1627, label %1632

1627:                                             ; preds = %1626
  %1628 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1629 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1630 = fcmp oeq x86_fp80 %1628, %1629
  br i1 %1630, label %1631, label %1632

1631:                                             ; preds = %1627
  store i8 1, ptr %139, align 1, !tbaa !11
  br label %1647

1632:                                             ; preds = %1627, %1626, %1622
  %1633 = load x86_fp80, ptr %138, align 16, !tbaa !9
  %1634 = fcmp olt x86_fp80 %1633, 0xK3FD0B424DC35095CD800
  br i1 %1634, label %1635, label %1636

1635:                                             ; preds = %1632
  store i8 1, ptr %139, align 1, !tbaa !11
  br label %1646

1636:                                             ; preds = %1632
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1637 unwind label %1615

1637:                                             ; preds = %1636
  %1638 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1639 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1640 = load x86_fp80, ptr %137, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %140, i32 noundef %1638, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1639, x86_fp80 noundef %1640, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %1641 unwind label %1642

1641:                                             ; preds = %1637
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  br label %1646

1642:                                             ; preds = %1637
  %1643 = landingpad { ptr, i32 }
          cleanup
  %1644 = extractvalue { ptr, i32 } %1643, 0
  store ptr %1644, ptr %4, align 8
  %1645 = extractvalue { ptr, i32 } %1643, 1
  store i32 %1645, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  br label %1685

1646:                                             ; preds = %1641, %1635
  br label %1647

1647:                                             ; preds = %1646, %1631
  br label %1648

1648:                                             ; preds = %1647, %1598
  %1649 = load i8, ptr %139, align 1, !tbaa !11, !range !13, !noundef !14
  %1650 = trunc i8 %1649 to i1
  br i1 %1650, label %1651, label %1660

1651:                                             ; preds = %1648
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1652 unwind label %1615

1652:                                             ; preds = %1651
  %1653 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1654 = load x86_fp80, ptr %138, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %141, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1653, x86_fp80 noundef %1654, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %1655 unwind label %1656

1655:                                             ; preds = %1652
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1660

1656:                                             ; preds = %1652
  %1657 = landingpad { ptr, i32 }
          cleanup
  %1658 = extractvalue { ptr, i32 } %1657, 0
  store ptr %1658, ptr %4, align 8
  %1659 = extractvalue { ptr, i32 } %1657, 1
  store i32 %1659, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1685

1660:                                             ; preds = %1655, %1648
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %136) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  %1661 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1662 = add nsw i32 %1661, 1
  store i32 %1662, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %142) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %143) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %1663 unwind label %1689

1663:                                             ; preds = %1660
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %144) #7
  %1664 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000) #7
  store x86_fp80 %1664, ptr %144, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %145) #7
  %1665 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %1666 unwind label %1693

1666:                                             ; preds = %1663
  store x86_fp80 %1665, ptr %145, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %146) #7
  %1667 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1668 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1669 = fsub x86_fp80 %1667, %1668
  %1670 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1669)
          to label %1671 unwind label %1697

1671:                                             ; preds = %1666
  %1672 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1673 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1672)
          to label %1674 unwind label %1697

1674:                                             ; preds = %1671
  %1675 = fadd x86_fp80 0xK3FFF8000000000000000, %1673
  %1676 = fdiv x86_fp80 %1670, %1675
  store x86_fp80 %1676, ptr %146, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #7
  store i8 0, ptr %147, align 1, !tbaa !11
  %1677 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1678 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1677)
          to label %1679 unwind label %1701

1679:                                             ; preds = %1674
  br i1 %1678, label %1680, label %1705

1680:                                             ; preds = %1679
  %1681 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1682 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1681)
          to label %1683 unwind label %1701

1683:                                             ; preds = %1680
  br i1 %1682, label %1684, label %1705

1684:                                             ; preds = %1683
  store i8 1, ptr %147, align 1, !tbaa !11
  br label %1734

1685:                                             ; preds = %1656, %1642, %1615
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #7
  br label %1686

1686:                                             ; preds = %1685, %1611
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #7
  br label %1687

1687:                                             ; preds = %1686, %1607
  call void @llvm.lifetime.end.p0(i64 16, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %136) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  br label %1688

1688:                                             ; preds = %1687, %1603
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  br label %2206

1689:                                             ; preds = %1660
  %1690 = landingpad { ptr, i32 }
          cleanup
  %1691 = extractvalue { ptr, i32 } %1690, 0
  store ptr %1691, ptr %4, align 8
  %1692 = extractvalue { ptr, i32 } %1690, 1
  store i32 %1692, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  br label %1774

1693:                                             ; preds = %1663
  %1694 = landingpad { ptr, i32 }
          cleanup
  %1695 = extractvalue { ptr, i32 } %1694, 0
  store ptr %1695, ptr %4, align 8
  %1696 = extractvalue { ptr, i32 } %1694, 1
  store i32 %1696, ptr %5, align 4
  br label %1773

1697:                                             ; preds = %1671, %1666
  %1698 = landingpad { ptr, i32 }
          cleanup
  %1699 = extractvalue { ptr, i32 } %1698, 0
  store ptr %1699, ptr %4, align 8
  %1700 = extractvalue { ptr, i32 } %1698, 1
  store i32 %1700, ptr %5, align 4
  br label %1772

1701:                                             ; preds = %1737, %1722, %1709, %1705, %1680, %1674
  %1702 = landingpad { ptr, i32 }
          cleanup
  %1703 = extractvalue { ptr, i32 } %1702, 0
  store ptr %1703, ptr %4, align 8
  %1704 = extractvalue { ptr, i32 } %1702, 1
  store i32 %1704, ptr %5, align 4
  br label %1771

1705:                                             ; preds = %1683, %1679
  %1706 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1707 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1706)
          to label %1708 unwind label %1701

1708:                                             ; preds = %1705
  br i1 %1707, label %1718, label %1709

1709:                                             ; preds = %1708
  %1710 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1711 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1710)
          to label %1712 unwind label %1701

1712:                                             ; preds = %1709
  br i1 %1711, label %1713, label %1718

1713:                                             ; preds = %1712
  %1714 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1715 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1716 = fcmp oeq x86_fp80 %1714, %1715
  br i1 %1716, label %1717, label %1718

1717:                                             ; preds = %1713
  store i8 1, ptr %147, align 1, !tbaa !11
  br label %1733

1718:                                             ; preds = %1713, %1712, %1708
  %1719 = load x86_fp80, ptr %146, align 16, !tbaa !9
  %1720 = fcmp olt x86_fp80 %1719, 0xK3FD0B424DC35095CD800
  br i1 %1720, label %1721, label %1722

1721:                                             ; preds = %1718
  store i8 1, ptr %147, align 1, !tbaa !11
  br label %1732

1722:                                             ; preds = %1718
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1723 unwind label %1701

1723:                                             ; preds = %1722
  %1724 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1725 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1726 = load x86_fp80, ptr %145, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %148, i32 noundef %1724, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1725, x86_fp80 noundef %1726, x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %1727 unwind label %1728

1727:                                             ; preds = %1723
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %1732

1728:                                             ; preds = %1723
  %1729 = landingpad { ptr, i32 }
          cleanup
  %1730 = extractvalue { ptr, i32 } %1729, 0
  store ptr %1730, ptr %4, align 8
  %1731 = extractvalue { ptr, i32 } %1729, 1
  store i32 %1731, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %1771

1732:                                             ; preds = %1727, %1721
  br label %1733

1733:                                             ; preds = %1732, %1717
  br label %1734

1734:                                             ; preds = %1733, %1684
  %1735 = load i8, ptr %147, align 1, !tbaa !11, !range !13, !noundef !14
  %1736 = trunc i8 %1735 to i1
  br i1 %1736, label %1737, label %1746

1737:                                             ; preds = %1734
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1738 unwind label %1701

1738:                                             ; preds = %1737
  %1739 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1740 = load x86_fp80, ptr %146, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %149, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1739, x86_fp80 noundef %1740, x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %1741 unwind label %1742

1741:                                             ; preds = %1738
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #7
  br label %1746

1742:                                             ; preds = %1738
  %1743 = landingpad { ptr, i32 }
          cleanup
  %1744 = extractvalue { ptr, i32 } %1743, 0
  store ptr %1744, ptr %4, align 8
  %1745 = extractvalue { ptr, i32 } %1743, 1
  store i32 %1745, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #7
  br label %1771

1746:                                             ; preds = %1741, %1734
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %144) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  %1747 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1748 = add nsw i32 %1747, 1
  store i32 %1748, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %151) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %151)
          to label %1749 unwind label %1775

1749:                                             ; preds = %1746
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %152) #7
  %1750 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B) #7
  store x86_fp80 %1750, ptr %152, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %153) #7
  %1751 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %1752 unwind label %1779

1752:                                             ; preds = %1749
  store x86_fp80 %1751, ptr %153, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %154) #7
  %1753 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1754 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1755 = fsub x86_fp80 %1753, %1754
  %1756 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1755)
          to label %1757 unwind label %1783

1757:                                             ; preds = %1752
  %1758 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1759 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1758)
          to label %1760 unwind label %1783

1760:                                             ; preds = %1757
  %1761 = fadd x86_fp80 0xK3FFF8000000000000000, %1759
  %1762 = fdiv x86_fp80 %1756, %1761
  store x86_fp80 %1762, ptr %154, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %155) #7
  store i8 0, ptr %155, align 1, !tbaa !11
  %1763 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1764 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1763)
          to label %1765 unwind label %1787

1765:                                             ; preds = %1760
  br i1 %1764, label %1766, label %1791

1766:                                             ; preds = %1765
  %1767 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1768 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1767)
          to label %1769 unwind label %1787

1769:                                             ; preds = %1766
  br i1 %1768, label %1770, label %1791

1770:                                             ; preds = %1769
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1820

1771:                                             ; preds = %1742, %1728, %1701
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  br label %1772

1772:                                             ; preds = %1771, %1697
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #7
  br label %1773

1773:                                             ; preds = %1772, %1693
  call void @llvm.lifetime.end.p0(i64 16, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %144) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  br label %1774

1774:                                             ; preds = %1773, %1689
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  br label %2206

1775:                                             ; preds = %1746
  %1776 = landingpad { ptr, i32 }
          cleanup
  %1777 = extractvalue { ptr, i32 } %1776, 0
  store ptr %1777, ptr %4, align 8
  %1778 = extractvalue { ptr, i32 } %1776, 1
  store i32 %1778, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #7
  br label %1860

1779:                                             ; preds = %1749
  %1780 = landingpad { ptr, i32 }
          cleanup
  %1781 = extractvalue { ptr, i32 } %1780, 0
  store ptr %1781, ptr %4, align 8
  %1782 = extractvalue { ptr, i32 } %1780, 1
  store i32 %1782, ptr %5, align 4
  br label %1859

1783:                                             ; preds = %1757, %1752
  %1784 = landingpad { ptr, i32 }
          cleanup
  %1785 = extractvalue { ptr, i32 } %1784, 0
  store ptr %1785, ptr %4, align 8
  %1786 = extractvalue { ptr, i32 } %1784, 1
  store i32 %1786, ptr %5, align 4
  br label %1858

1787:                                             ; preds = %1823, %1808, %1795, %1791, %1766, %1760
  %1788 = landingpad { ptr, i32 }
          cleanup
  %1789 = extractvalue { ptr, i32 } %1788, 0
  store ptr %1789, ptr %4, align 8
  %1790 = extractvalue { ptr, i32 } %1788, 1
  store i32 %1790, ptr %5, align 4
  br label %1857

1791:                                             ; preds = %1769, %1765
  %1792 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1793 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1792)
          to label %1794 unwind label %1787

1794:                                             ; preds = %1791
  br i1 %1793, label %1804, label %1795

1795:                                             ; preds = %1794
  %1796 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1797 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1796)
          to label %1798 unwind label %1787

1798:                                             ; preds = %1795
  br i1 %1797, label %1799, label %1804

1799:                                             ; preds = %1798
  %1800 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1801 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1802 = fcmp oeq x86_fp80 %1800, %1801
  br i1 %1802, label %1803, label %1804

1803:                                             ; preds = %1799
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1819

1804:                                             ; preds = %1799, %1798, %1794
  %1805 = load x86_fp80, ptr %154, align 16, !tbaa !9
  %1806 = fcmp olt x86_fp80 %1805, 0xK3FD0B424DC35095CD800
  br i1 %1806, label %1807, label %1808

1807:                                             ; preds = %1804
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1818

1808:                                             ; preds = %1804
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1809 unwind label %1787

1809:                                             ; preds = %1808
  %1810 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1811 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1812 = load x86_fp80, ptr %153, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %156, i32 noundef %1810, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1811, x86_fp80 noundef %1812, x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %1813 unwind label %1814

1813:                                             ; preds = %1809
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  br label %1818

1814:                                             ; preds = %1809
  %1815 = landingpad { ptr, i32 }
          cleanup
  %1816 = extractvalue { ptr, i32 } %1815, 0
  store ptr %1816, ptr %4, align 8
  %1817 = extractvalue { ptr, i32 } %1815, 1
  store i32 %1817, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  br label %1857

1818:                                             ; preds = %1813, %1807
  br label %1819

1819:                                             ; preds = %1818, %1803
  br label %1820

1820:                                             ; preds = %1819, %1770
  %1821 = load i8, ptr %155, align 1, !tbaa !11, !range !13, !noundef !14
  %1822 = trunc i8 %1821 to i1
  br i1 %1822, label %1823, label %1832

1823:                                             ; preds = %1820
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1824 unwind label %1787

1824:                                             ; preds = %1823
  %1825 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1826 = load x86_fp80, ptr %154, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %157, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1825, x86_fp80 noundef %1826, x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %1827 unwind label %1828

1827:                                             ; preds = %1824
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  br label %1832

1828:                                             ; preds = %1824
  %1829 = landingpad { ptr, i32 }
          cleanup
  %1830 = extractvalue { ptr, i32 } %1829, 0
  store ptr %1830, ptr %4, align 8
  %1831 = extractvalue { ptr, i32 } %1829, 1
  store i32 %1831, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  br label %1857

1832:                                             ; preds = %1827, %1820
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  %1833 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1834 = add nsw i32 %1833, 1
  store i32 %1834, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %158) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %159) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %159)
          to label %1835 unwind label %1861

1835:                                             ; preds = %1832
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %160) #7
  %1836 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000) #7
  store x86_fp80 %1836, ptr %160, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %161) #7
  %1837 = invoke noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %1838 unwind label %1865

1838:                                             ; preds = %1835
  store x86_fp80 %1837, ptr %161, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %162) #7
  %1839 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1840 = load x86_fp80, ptr %161, align 16, !tbaa !9
  %1841 = fsub x86_fp80 %1839, %1840
  %1842 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1841)
          to label %1843 unwind label %1869

1843:                                             ; preds = %1838
  %1844 = load x86_fp80, ptr %161, align 16, !tbaa !9
  %1845 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1844)
          to label %1846 unwind label %1869

1846:                                             ; preds = %1843
  %1847 = fadd x86_fp80 0xK3FFF8000000000000000, %1845
  %1848 = fdiv x86_fp80 %1842, %1847
  store x86_fp80 %1848, ptr %162, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %163) #7
  store i8 0, ptr %163, align 1, !tbaa !11
  %1849 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1850 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1849)
          to label %1851 unwind label %1873

1851:                                             ; preds = %1846
  br i1 %1850, label %1852, label %1877

1852:                                             ; preds = %1851
  %1853 = load x86_fp80, ptr %161, align 16, !tbaa !9
  %1854 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1853)
          to label %1855 unwind label %1873

1855:                                             ; preds = %1852
  br i1 %1854, label %1856, label %1877

1856:                                             ; preds = %1855
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1906

1857:                                             ; preds = %1828, %1814, %1787
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #7
  br label %1858

1858:                                             ; preds = %1857, %1783
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #7
  br label %1859

1859:                                             ; preds = %1858, %1779
  call void @llvm.lifetime.end.p0(i64 16, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  br label %1860

1860:                                             ; preds = %1859, %1775
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  br label %2206

1861:                                             ; preds = %1832
  %1862 = landingpad { ptr, i32 }
          cleanup
  %1863 = extractvalue { ptr, i32 } %1862, 0
  store ptr %1863, ptr %4, align 8
  %1864 = extractvalue { ptr, i32 } %1862, 1
  store i32 %1864, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  br label %1948

1865:                                             ; preds = %1835
  %1866 = landingpad { ptr, i32 }
          cleanup
  %1867 = extractvalue { ptr, i32 } %1866, 0
  store ptr %1867, ptr %4, align 8
  %1868 = extractvalue { ptr, i32 } %1866, 1
  store i32 %1868, ptr %5, align 4
  br label %1947

1869:                                             ; preds = %1843, %1838
  %1870 = landingpad { ptr, i32 }
          cleanup
  %1871 = extractvalue { ptr, i32 } %1870, 0
  store ptr %1871, ptr %4, align 8
  %1872 = extractvalue { ptr, i32 } %1870, 1
  store i32 %1872, ptr %5, align 4
  br label %1946

1873:                                             ; preds = %1909, %1894, %1881, %1877, %1852, %1846
  %1874 = landingpad { ptr, i32 }
          cleanup
  %1875 = extractvalue { ptr, i32 } %1874, 0
  store ptr %1875, ptr %4, align 8
  %1876 = extractvalue { ptr, i32 } %1874, 1
  store i32 %1876, ptr %5, align 4
  br label %1945

1877:                                             ; preds = %1855, %1851
  %1878 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1879 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1878)
          to label %1880 unwind label %1873

1880:                                             ; preds = %1877
  br i1 %1879, label %1890, label %1881

1881:                                             ; preds = %1880
  %1882 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1883 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1882)
          to label %1884 unwind label %1873

1884:                                             ; preds = %1881
  br i1 %1883, label %1885, label %1890

1885:                                             ; preds = %1884
  %1886 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1887 = load x86_fp80, ptr %161, align 16, !tbaa !9
  %1888 = fcmp oeq x86_fp80 %1886, %1887
  br i1 %1888, label %1889, label %1890

1889:                                             ; preds = %1885
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1905

1890:                                             ; preds = %1885, %1884, %1880
  %1891 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1892 = fcmp olt x86_fp80 %1891, 0xK3FD0B424DC35095CD800
  br i1 %1892, label %1893, label %1894

1893:                                             ; preds = %1890
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1904

1894:                                             ; preds = %1890
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1895 unwind label %1873

1895:                                             ; preds = %1894
  %1896 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1897 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1898 = load x86_fp80, ptr %161, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %164, i32 noundef %1896, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1897, x86_fp80 noundef %1898, x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %1899 unwind label %1900

1899:                                             ; preds = %1895
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #7
  br label %1904

1900:                                             ; preds = %1895
  %1901 = landingpad { ptr, i32 }
          cleanup
  %1902 = extractvalue { ptr, i32 } %1901, 0
  store ptr %1902, ptr %4, align 8
  %1903 = extractvalue { ptr, i32 } %1901, 1
  store i32 %1903, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #7
  br label %1945

1904:                                             ; preds = %1899, %1893
  br label %1905

1905:                                             ; preds = %1904, %1889
  br label %1906

1906:                                             ; preds = %1905, %1856
  %1907 = load i8, ptr %163, align 1, !tbaa !11, !range !13, !noundef !14
  %1908 = trunc i8 %1907 to i1
  br i1 %1908, label %1909, label %1918

1909:                                             ; preds = %1906
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1910 unwind label %1873

1910:                                             ; preds = %1909
  %1911 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1912 = load x86_fp80, ptr %162, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %165, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1911, x86_fp80 noundef %1912, x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %1913 unwind label %1914

1913:                                             ; preds = %1910
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %1918

1914:                                             ; preds = %1910
  %1915 = landingpad { ptr, i32 }
          cleanup
  %1916 = extractvalue { ptr, i32 } %1915, 0
  store ptr %1916, ptr %4, align 8
  %1917 = extractvalue { ptr, i32 } %1915, 1
  store i32 %1917, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %1945

1918:                                             ; preds = %1913, %1906
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %160) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  %1919 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1920 = add nsw i32 %1919, 1
  store i32 %1920, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %166) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %1921 unwind label %1949

1921:                                             ; preds = %1918
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %168) #7
  %1922 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1923 = call noundef x86_fp80 @_ZN4gcem5atan2IdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1922, x86_fp80 noundef 0xK3FFF8000000000000000) #7
  store x86_fp80 %1923, ptr %168, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %169) #7
  %1924 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1925 = invoke noundef x86_fp80 @_ZSt5atan2IdeEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(double noundef %1924, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %1926 unwind label %1953

1926:                                             ; preds = %1921
  store x86_fp80 %1925, ptr %169, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %170) #7
  %1927 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %1928 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1929 = fsub x86_fp80 %1927, %1928
  %1930 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1929)
          to label %1931 unwind label %1957

1931:                                             ; preds = %1926
  %1932 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1933 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1932)
          to label %1934 unwind label %1957

1934:                                             ; preds = %1931
  %1935 = fadd x86_fp80 0xK3FFF8000000000000000, %1933
  %1936 = fdiv x86_fp80 %1930, %1935
  store x86_fp80 %1936, ptr %170, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %171) #7
  store i8 0, ptr %171, align 1, !tbaa !11
  %1937 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %1938 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1937)
          to label %1939 unwind label %1961

1939:                                             ; preds = %1934
  br i1 %1938, label %1940, label %1965

1940:                                             ; preds = %1939
  %1941 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1942 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1941)
          to label %1943 unwind label %1961

1943:                                             ; preds = %1940
  br i1 %1942, label %1944, label %1965

1944:                                             ; preds = %1943
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1995

1945:                                             ; preds = %1914, %1900, %1873
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  br label %1946

1946:                                             ; preds = %1945, %1869
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #7
  br label %1947

1947:                                             ; preds = %1946, %1865
  call void @llvm.lifetime.end.p0(i64 16, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %160) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #7
  br label %1948

1948:                                             ; preds = %1947, %1861
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  br label %2206

1949:                                             ; preds = %1918
  %1950 = landingpad { ptr, i32 }
          cleanup
  %1951 = extractvalue { ptr, i32 } %1950, 0
  store ptr %1951, ptr %4, align 8
  %1952 = extractvalue { ptr, i32 } %1950, 1
  store i32 %1952, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  br label %2038

1953:                                             ; preds = %1921
  %1954 = landingpad { ptr, i32 }
          cleanup
  %1955 = extractvalue { ptr, i32 } %1954, 0
  store ptr %1955, ptr %4, align 8
  %1956 = extractvalue { ptr, i32 } %1954, 1
  store i32 %1956, ptr %5, align 4
  br label %2037

1957:                                             ; preds = %1931, %1926
  %1958 = landingpad { ptr, i32 }
          cleanup
  %1959 = extractvalue { ptr, i32 } %1958, 0
  store ptr %1959, ptr %4, align 8
  %1960 = extractvalue { ptr, i32 } %1958, 1
  store i32 %1960, ptr %5, align 4
  br label %2036

1961:                                             ; preds = %1998, %1982, %1969, %1965, %1940, %1934
  %1962 = landingpad { ptr, i32 }
          cleanup
  %1963 = extractvalue { ptr, i32 } %1962, 0
  store ptr %1963, ptr %4, align 8
  %1964 = extractvalue { ptr, i32 } %1962, 1
  store i32 %1964, ptr %5, align 4
  br label %2035

1965:                                             ; preds = %1943, %1939
  %1966 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %1967 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1966)
          to label %1968 unwind label %1961

1968:                                             ; preds = %1965
  br i1 %1967, label %1978, label %1969

1969:                                             ; preds = %1968
  %1970 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %1971 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1970)
          to label %1972 unwind label %1961

1972:                                             ; preds = %1969
  br i1 %1971, label %1973, label %1978

1973:                                             ; preds = %1972
  %1974 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %1975 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1976 = fcmp oeq x86_fp80 %1974, %1975
  br i1 %1976, label %1977, label %1978

1977:                                             ; preds = %1973
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1994

1978:                                             ; preds = %1973, %1972, %1968
  %1979 = load x86_fp80, ptr %170, align 16, !tbaa !9
  %1980 = fcmp olt x86_fp80 %1979, 0xK3FD0B424DC35095CD800
  br i1 %1980, label %1981, label %1982

1981:                                             ; preds = %1978
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1993

1982:                                             ; preds = %1978
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %1983 unwind label %1961

1983:                                             ; preds = %1982
  %1984 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1985 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %1986 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1987 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %172, i32 noundef %1984, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1985, x86_fp80 noundef %1986, double noundef %1987, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %1988 unwind label %1989

1988:                                             ; preds = %1983
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #7
  br label %1993

1989:                                             ; preds = %1983
  %1990 = landingpad { ptr, i32 }
          cleanup
  %1991 = extractvalue { ptr, i32 } %1990, 0
  store ptr %1991, ptr %4, align 8
  %1992 = extractvalue { ptr, i32 } %1990, 1
  store i32 %1992, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #7
  br label %2035

1993:                                             ; preds = %1988, %1981
  br label %1994

1994:                                             ; preds = %1993, %1977
  br label %1995

1995:                                             ; preds = %1994, %1944
  %1996 = load i8, ptr %171, align 1, !tbaa !11, !range !13, !noundef !14
  %1997 = trunc i8 %1996 to i1
  br i1 %1997, label %1998, label %2008

1998:                                             ; preds = %1995
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %1999 unwind label %1961

1999:                                             ; preds = %1998
  %2000 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %2001 = load x86_fp80, ptr %170, align 16, !tbaa !9
  %2002 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %173, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2000, x86_fp80 noundef %2001, double noundef %2002, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %2003 unwind label %2004

2003:                                             ; preds = %1999
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #7
  br label %2008

2004:                                             ; preds = %1999
  %2005 = landingpad { ptr, i32 }
          cleanup
  %2006 = extractvalue { ptr, i32 } %2005, 0
  store ptr %2006, ptr %4, align 8
  %2007 = extractvalue { ptr, i32 } %2005, 1
  store i32 %2007, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #7
  br label %2035

2008:                                             ; preds = %2003, %1995
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %169) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %168) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #7
  %2009 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2010 = add nsw i32 %2009, 1
  store i32 %2010, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %175) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %175)
          to label %2011 unwind label %2039

2011:                                             ; preds = %2008
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %176) #7
  %2012 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2013 = call noundef x86_fp80 @_ZN4gcem5atan2IedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %2012) #7
  store x86_fp80 %2013, ptr %176, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %177) #7
  %2014 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2015 = invoke noundef x86_fp80 @_ZSt5atan2IedEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %2014)
          to label %2016 unwind label %2043

2016:                                             ; preds = %2011
  store x86_fp80 %2015, ptr %177, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %178) #7
  %2017 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2018 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2019 = fsub x86_fp80 %2017, %2018
  %2020 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2019)
          to label %2021 unwind label %2047

2021:                                             ; preds = %2016
  %2022 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2023 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2022)
          to label %2024 unwind label %2047

2024:                                             ; preds = %2021
  %2025 = fadd x86_fp80 0xK3FFF8000000000000000, %2023
  %2026 = fdiv x86_fp80 %2020, %2025
  store x86_fp80 %2026, ptr %178, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %179) #7
  store i8 0, ptr %179, align 1, !tbaa !11
  %2027 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2028 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2027)
          to label %2029 unwind label %2051

2029:                                             ; preds = %2024
  br i1 %2028, label %2030, label %2055

2030:                                             ; preds = %2029
  %2031 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2032 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2031)
          to label %2033 unwind label %2051

2033:                                             ; preds = %2030
  br i1 %2032, label %2034, label %2055

2034:                                             ; preds = %2033
  store i8 1, ptr %179, align 1, !tbaa !11
  br label %2085

2035:                                             ; preds = %2004, %1989, %1961
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #7
  br label %2036

2036:                                             ; preds = %2035, %1957
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #7
  br label %2037

2037:                                             ; preds = %2036, %1953
  call void @llvm.lifetime.end.p0(i64 16, ptr %169) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %168) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #7
  br label %2038

2038:                                             ; preds = %2037, %1949
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #7
  br label %2206

2039:                                             ; preds = %2008
  %2040 = landingpad { ptr, i32 }
          cleanup
  %2041 = extractvalue { ptr, i32 } %2040, 0
  store ptr %2041, ptr %4, align 8
  %2042 = extractvalue { ptr, i32 } %2040, 1
  store i32 %2042, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #7
  br label %2131

2043:                                             ; preds = %2011
  %2044 = landingpad { ptr, i32 }
          cleanup
  %2045 = extractvalue { ptr, i32 } %2044, 0
  store ptr %2045, ptr %4, align 8
  %2046 = extractvalue { ptr, i32 } %2044, 1
  store i32 %2046, ptr %5, align 4
  br label %2130

2047:                                             ; preds = %2021, %2016
  %2048 = landingpad { ptr, i32 }
          cleanup
  %2049 = extractvalue { ptr, i32 } %2048, 0
  store ptr %2049, ptr %4, align 8
  %2050 = extractvalue { ptr, i32 } %2048, 1
  store i32 %2050, ptr %5, align 4
  br label %2129

2051:                                             ; preds = %2088, %2072, %2059, %2055, %2030, %2024
  %2052 = landingpad { ptr, i32 }
          cleanup
  %2053 = extractvalue { ptr, i32 } %2052, 0
  store ptr %2053, ptr %4, align 8
  %2054 = extractvalue { ptr, i32 } %2052, 1
  store i32 %2054, ptr %5, align 4
  br label %2128

2055:                                             ; preds = %2033, %2029
  %2056 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2057 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2056)
          to label %2058 unwind label %2051

2058:                                             ; preds = %2055
  br i1 %2057, label %2068, label %2059

2059:                                             ; preds = %2058
  %2060 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2061 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2060)
          to label %2062 unwind label %2051

2062:                                             ; preds = %2059
  br i1 %2061, label %2063, label %2068

2063:                                             ; preds = %2062
  %2064 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2065 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2066 = fcmp oeq x86_fp80 %2064, %2065
  br i1 %2066, label %2067, label %2068

2067:                                             ; preds = %2063
  store i8 1, ptr %179, align 1, !tbaa !11
  br label %2084

2068:                                             ; preds = %2063, %2062, %2058
  %2069 = load x86_fp80, ptr %178, align 16, !tbaa !9
  %2070 = fcmp olt x86_fp80 %2069, 0xK3FD0B424DC35095CD800
  br i1 %2070, label %2071, label %2072

2071:                                             ; preds = %2068
  store i8 1, ptr %179, align 1, !tbaa !11
  br label %2083

2072:                                             ; preds = %2068
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %2073 unwind label %2051

2073:                                             ; preds = %2072
  %2074 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2075 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2076 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2077 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %180, i32 noundef %2074, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2075, x86_fp80 noundef %2076, x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %2077)
          to label %2078 unwind label %2079

2078:                                             ; preds = %2073
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #7
  br label %2083

2079:                                             ; preds = %2073
  %2080 = landingpad { ptr, i32 }
          cleanup
  %2081 = extractvalue { ptr, i32 } %2080, 0
  store ptr %2081, ptr %4, align 8
  %2082 = extractvalue { ptr, i32 } %2080, 1
  store i32 %2082, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #7
  br label %2128

2083:                                             ; preds = %2078, %2071
  br label %2084

2084:                                             ; preds = %2083, %2067
  br label %2085

2085:                                             ; preds = %2084, %2034
  %2086 = load i8, ptr %179, align 1, !tbaa !11, !range !13, !noundef !14
  %2087 = trunc i8 %2086 to i1
  br i1 %2087, label %2088, label %2098

2088:                                             ; preds = %2085
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %2089 unwind label %2051

2089:                                             ; preds = %2088
  %2090 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2091 = load x86_fp80, ptr %178, align 16, !tbaa !9
  %2092 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %181, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2090, x86_fp80 noundef %2091, x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %2092)
          to label %2093 unwind label %2094

2093:                                             ; preds = %2089
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #7
  br label %2098

2094:                                             ; preds = %2089
  %2095 = landingpad { ptr, i32 }
          cleanup
  %2096 = extractvalue { ptr, i32 } %2095, 0
  store ptr %2096, ptr %4, align 8
  %2097 = extractvalue { ptr, i32 } %2095, 1
  store i32 %2097, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #7
  br label %2128

2098:                                             ; preds = %2093, %2085
  call void @llvm.lifetime.end.p0(i64 1, ptr %179) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #7
  %2099 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2100 = add nsw i32 %2099, 1
  store i32 %2100, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %182) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %183) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %183) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %182, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %183)
          to label %2101 unwind label %2132

2101:                                             ; preds = %2098
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %183) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %183) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #7
  %2102 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2103 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2104 = call noundef double @_ZN4gcem5atan2IddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %2102, double noundef %2103) #7
  store double %2104, ptr %184, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #7
  %2105 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2106 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2107 = call double @atan2(double noundef %2105, double noundef %2106) #7
  store double %2107, ptr %185, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #7
  %2108 = load double, ptr %184, align 8, !tbaa !15
  %2109 = load double, ptr %185, align 8, !tbaa !15
  %2110 = fsub double %2108, %2109
  %2111 = invoke noundef double @_ZSt3absd(double noundef %2110)
          to label %2112 unwind label %2136

2112:                                             ; preds = %2101
  %2113 = load double, ptr %185, align 8, !tbaa !15
  %2114 = invoke noundef double @_ZSt3absd(double noundef %2113)
          to label %2115 unwind label %2136

2115:                                             ; preds = %2112
  %2116 = fadd double 1.000000e+00, %2114
  %2117 = fdiv double %2111, %2116
  store double %2117, ptr %186, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %187) #7
  store i8 0, ptr %187, align 1, !tbaa !11
  %2118 = load double, ptr %184, align 8, !tbaa !15
  %2119 = fpext double %2118 to x86_fp80
  %2120 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2119)
          to label %2121 unwind label %2140

2121:                                             ; preds = %2115
  br i1 %2120, label %2122, label %2144

2122:                                             ; preds = %2121
  %2123 = load double, ptr %185, align 8, !tbaa !15
  %2124 = fpext double %2123 to x86_fp80
  %2125 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2124)
          to label %2126 unwind label %2140

2126:                                             ; preds = %2122
  br i1 %2125, label %2127, label %2144

2127:                                             ; preds = %2126
  store i8 1, ptr %187, align 1, !tbaa !11
  br label %2177

2128:                                             ; preds = %2094, %2079, %2051
  call void @llvm.lifetime.end.p0(i64 1, ptr %179) #7
  br label %2129

2129:                                             ; preds = %2128, %2047
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #7
  br label %2130

2130:                                             ; preds = %2129, %2043
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #7
  br label %2131

2131:                                             ; preds = %2130, %2039
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #7
  br label %2206

2132:                                             ; preds = %2098
  %2133 = landingpad { ptr, i32 }
          cleanup
  %2134 = extractvalue { ptr, i32 } %2133, 0
  store ptr %2134, ptr %4, align 8
  %2135 = extractvalue { ptr, i32 } %2133, 1
  store i32 %2135, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %183) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %183) #7
  br label %2196

2136:                                             ; preds = %2112, %2101
  %2137 = landingpad { ptr, i32 }
          cleanup
  %2138 = extractvalue { ptr, i32 } %2137, 0
  store ptr %2138, ptr %4, align 8
  %2139 = extractvalue { ptr, i32 } %2137, 1
  store i32 %2139, ptr %5, align 4
  br label %2195

2140:                                             ; preds = %2180, %2163, %2149, %2144, %2122, %2115
  %2141 = landingpad { ptr, i32 }
          cleanup
  %2142 = extractvalue { ptr, i32 } %2141, 0
  store ptr %2142, ptr %4, align 8
  %2143 = extractvalue { ptr, i32 } %2141, 1
  store i32 %2143, ptr %5, align 4
  br label %2194

2144:                                             ; preds = %2126, %2121
  %2145 = load double, ptr %184, align 8, !tbaa !15
  %2146 = fpext double %2145 to x86_fp80
  %2147 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2146)
          to label %2148 unwind label %2140

2148:                                             ; preds = %2144
  br i1 %2147, label %2159, label %2149

2149:                                             ; preds = %2148
  %2150 = load double, ptr %184, align 8, !tbaa !15
  %2151 = fpext double %2150 to x86_fp80
  %2152 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2151)
          to label %2153 unwind label %2140

2153:                                             ; preds = %2149
  br i1 %2152, label %2154, label %2159

2154:                                             ; preds = %2153
  %2155 = load double, ptr %184, align 8, !tbaa !15
  %2156 = load double, ptr %185, align 8, !tbaa !15
  %2157 = fcmp oeq double %2155, %2156
  br i1 %2157, label %2158, label %2159

2158:                                             ; preds = %2154
  store i8 1, ptr %187, align 1, !tbaa !11
  br label %2176

2159:                                             ; preds = %2154, %2153, %2148
  %2160 = load double, ptr %186, align 8, !tbaa !15
  %2161 = fcmp olt double %2160, 0x3D06849B86A12B9B
  br i1 %2161, label %2162, label %2163

2162:                                             ; preds = %2159
  store i8 1, ptr %187, align 1, !tbaa !11
  br label %2175

2163:                                             ; preds = %2159
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %2164 unwind label %2140

2164:                                             ; preds = %2163
  %2165 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2166 = load double, ptr %184, align 8, !tbaa !15
  %2167 = load double, ptr %185, align 8, !tbaa !15
  %2168 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2169 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %188, i32 noundef %2165, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %2166, double noundef %2167, double noundef %2168, double noundef %2169)
          to label %2170 unwind label %2171

2170:                                             ; preds = %2164
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #7
  br label %2175

2171:                                             ; preds = %2164
  %2172 = landingpad { ptr, i32 }
          cleanup
  %2173 = extractvalue { ptr, i32 } %2172, 0
  store ptr %2173, ptr %4, align 8
  %2174 = extractvalue { ptr, i32 } %2172, 1
  store i32 %2174, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #7
  br label %2194

2175:                                             ; preds = %2170, %2162
  br label %2176

2176:                                             ; preds = %2175, %2158
  br label %2177

2177:                                             ; preds = %2176, %2127
  %2178 = load i8, ptr %187, align 1, !tbaa !11, !range !13, !noundef !14
  %2179 = trunc i8 %2178 to i1
  br i1 %2179, label %2180, label %2191

2180:                                             ; preds = %2177
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %2181 unwind label %2140

2181:                                             ; preds = %2180
  %2182 = load double, ptr %184, align 8, !tbaa !15
  %2183 = load double, ptr %186, align 8, !tbaa !15
  %2184 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2185 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %189, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %2182, double noundef %2183, double noundef %2184, double noundef %2185)
          to label %2186 unwind label %2187

2186:                                             ; preds = %2181
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #7
  br label %2191

2187:                                             ; preds = %2181
  %2188 = landingpad { ptr, i32 }
          cleanup
  %2189 = extractvalue { ptr, i32 } %2188, 0
  store ptr %2189, ptr %4, align 8
  %2190 = extractvalue { ptr, i32 } %2188, 1
  store i32 %2190, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #7
  br label %2194

2191:                                             ; preds = %2186, %2177
  call void @llvm.lifetime.end.p0(i64 1, ptr %187) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %191) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %191) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %190, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %191)
          to label %2192 unwind label %2197

2192:                                             ; preds = %2191
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %190)
          to label %2193 unwind label %2201

2193:                                             ; preds = %2192
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %191) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %191) #7
  ret i32 0

2194:                                             ; preds = %2187, %2171, %2140
  call void @llvm.lifetime.end.p0(i64 1, ptr %187) #7
  br label %2195

2195:                                             ; preds = %2194, %2136
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #7
  br label %2196

2196:                                             ; preds = %2195, %2132
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #7
  br label %2206

2197:                                             ; preds = %2191
  %2198 = landingpad { ptr, i32 }
          cleanup
  %2199 = extractvalue { ptr, i32 } %2198, 0
  store ptr %2199, ptr %4, align 8
  %2200 = extractvalue { ptr, i32 } %2198, 1
  store i32 %2200, ptr %5, align 4
  br label %2205

2201:                                             ; preds = %2192
  %2202 = landingpad { ptr, i32 }
          cleanup
  %2203 = extractvalue { ptr, i32 } %2202, 0
  store ptr %2203, ptr %4, align 8
  %2204 = extractvalue { ptr, i32 } %2202, 1
  store i32 %2204, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #7
  br label %2205

2205:                                             ; preds = %2201, %2197
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %191) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %191) #7
  br label %2206

2206:                                             ; preds = %2205, %2196, %2131, %2038, %1948, %1860, %1774, %1688, %1602, %1516, %1430, %1344, %1258, %1172, %1086, %1000, %914, %828, %742, %656, %570, %484, %398, %312, %226
  %2207 = load ptr, ptr %4, align 8
  %2208 = load i32, ptr %5, align 4
  %2209 = insertvalue { ptr, i32 } poison, ptr %2207, 0
  %2210 = insertvalue { ptr, i32 } %2209, i32 %2208, 1
  resume { ptr, i32 } %2210
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) #1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef, x86_fp80 noundef) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) #1

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZN4gcem5atan2IdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, x86_fp80 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5atan2IdeEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(double noundef, x86_fp80 noundef) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, double noundef, x86_fp80 noundef) #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, double noundef, x86_fp80 noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZN4gcem5atan2IedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, double noundef) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5atan2IedEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(x86_fp80 noundef, double noundef) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, double noundef) #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, double noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZN4gcem5atan2IddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, double noundef) #3

; Function Attrs: nounwind
declare double @atan2(double noundef, double noundef) #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, double noundef, double noundef) #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, double noundef, double noundef) #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) #1

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

attributes #0 = { mustprogress norecurse 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 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "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 #7 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"double", !7, i64 0}


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

%"class.std::__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 }

@GCEM_TEST_NUMBER = external dso_local local_unnamed_addr global i32, align 4
@.str = external hidden unnamed_addr constant [6 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [12 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.std::__cxx11::basic_string", align 8
  %2 = alloca %"class.std::allocator", align 1
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::allocator", align 1
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %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::allocator", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator", align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::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::allocator", align 1
  %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::__cxx11::basic_string", align 8
  %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 %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator", align 1
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %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::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator", align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::allocator", align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator", align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::allocator", align 1
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::allocator", align 1
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::allocator", align 1
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::allocator", align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %2) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %2)
          to label %97 unwind label %112

97:                                               ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %1)
          to label %98 unwind label %114

98:                                               ; preds = %97
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #7
  %99 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %100 = add nsw i32 %99, 1
  store i32 %100, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %101 unwind label %117

101:                                              ; preds = %98
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  %102 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  %103 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
  %104 = fsub x86_fp80 %102, %103
  %105 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %104)
  %106 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %103)
  %107 = fadd x86_fp80 %106, 0xK3FFF8000000000000000
  %108 = fdiv x86_fp80 %105, %107
  %109 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %102)
  br i1 %109, label %110, label %121

110:                                              ; preds = %101
  %111 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %103)
  br i1 %111, label %133, label %121

112:                                              ; preds = %0
  %113 = landingpad { ptr, i32 }
          cleanup
  br label %116

114:                                              ; preds = %97
  %115 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #7
  br label %116

116:                                              ; preds = %114, %112
  %.pn = phi { ptr, i32 } [ %115, %114 ], [ %113, %112 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #7
  br label %934

117:                                              ; preds = %98
  %118 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  br label %151

119:                                              ; preds = %133, %128
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %150

121:                                              ; preds = %110, %101
  %122 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %102)
  br i1 %122, label %127, label %123

123:                                              ; preds = %121
  %124 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %102)
  %125 = fcmp oeq x86_fp80 %102, %103
  %or.cond = and i1 %125, %124
  %126 = fcmp olt x86_fp80 %108, 0xK3FD0B424DC35095CD800
  %or.cond620 = or i1 %126, %or.cond
  br i1 %or.cond620, label %133, label %128

127:                                              ; preds = %121
  %.old = fcmp olt x86_fp80 %108, 0xK3FD0B424DC35095CD800
  br i1 %.old, label %133, label %128

128:                                              ; preds = %123, %127
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %129 unwind label %119

129:                                              ; preds = %128
  %130 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %5, i32 noundef %130, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %102, x86_fp80 noundef %103, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge unwind label %131

131:                                              ; preds = %129
  %132 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %150

133:                                              ; preds = %110, %123, %127
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %134 unwind label %119

134:                                              ; preds = %133
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %6, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %102, x86_fp80 noundef %108, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge unwind label %135

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

.critedge:                                        ; preds = %134, %129
  %.sink = phi ptr [ %5, %129 ], [ %6, %134 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  %137 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %138 = add nsw i32 %137, 1
  store i32 %138, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %139 unwind label %152

139:                                              ; preds = %.critedge
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #7
  %140 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  %141 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
  %142 = fsub x86_fp80 %140, %141
  %143 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %142)
  %144 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %141)
  %145 = fadd x86_fp80 %144, 0xK3FFF8000000000000000
  %146 = fdiv x86_fp80 %143, %145
  %147 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %140)
  br i1 %147, label %148, label %156

148:                                              ; preds = %139
  %149 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %141)
  br i1 %149, label %168, label %156

150:                                              ; preds = %135, %131, %119
  %.pn482 = phi { ptr, i32 } [ %136, %135 ], [ %120, %119 ], [ %132, %131 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %151

151:                                              ; preds = %150, %117
  %.pn482.pn = phi { ptr, i32 } [ %.pn482, %150 ], [ %118, %117 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %934

152:                                              ; preds = %.critedge
  %153 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #7
  br label %186

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

156:                                              ; preds = %148, %139
  %157 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %140)
  br i1 %157, label %162, label %158

158:                                              ; preds = %156
  %159 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %140)
  %160 = fcmp oeq x86_fp80 %140, %141
  %or.cond554 = and i1 %160, %159
  %161 = fcmp olt x86_fp80 %146, 0xK3FD0B424DC35095CD800
  %or.cond622 = or i1 %161, %or.cond554
  br i1 %or.cond622, label %168, label %163

162:                                              ; preds = %156
  %.old621 = fcmp olt x86_fp80 %146, 0xK3FD0B424DC35095CD800
  br i1 %.old621, label %168, label %163

163:                                              ; preds = %158, %162
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %164 unwind label %154

164:                                              ; preds = %163
  %165 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %9, i32 noundef %165, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %140, x86_fp80 noundef %141, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge556 unwind label %166

166:                                              ; preds = %164
  %167 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %185

168:                                              ; preds = %148, %158, %162
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %169 unwind label %154

169:                                              ; preds = %168
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %10, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %140, x86_fp80 noundef %146, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge556 unwind label %170

170:                                              ; preds = %169
  %171 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %185

.critedge556:                                     ; preds = %169, %164
  %.sink665 = phi ptr [ %9, %164 ], [ %10, %169 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink665) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  %172 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %173 = add nsw i32 %172, 1
  store i32 %173, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %174 unwind label %187

174:                                              ; preds = %.critedge556
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  %175 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000) #7
  %176 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
  %177 = fsub x86_fp80 %175, %176
  %178 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %177)
  %179 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %176)
  %180 = fadd x86_fp80 %179, 0xK3FFF8000000000000000
  %181 = fdiv x86_fp80 %178, %180
  %182 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %175)
  br i1 %182, label %183, label %191

183:                                              ; preds = %174
  %184 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %176)
  br i1 %184, label %203, label %191

185:                                              ; preds = %170, %166, %154
  %.pn485 = phi { ptr, i32 } [ %171, %170 ], [ %155, %154 ], [ %167, %166 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %186

186:                                              ; preds = %185, %152
  %.pn485.pn = phi { ptr, i32 } [ %.pn485, %185 ], [ %153, %152 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %934

187:                                              ; preds = %.critedge556
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  br label %221

189:                                              ; preds = %203, %198
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %220

191:                                              ; preds = %183, %174
  %192 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %175)
  br i1 %192, label %197, label %193

193:                                              ; preds = %191
  %194 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %175)
  %195 = fcmp oeq x86_fp80 %175, %176
  %or.cond557 = and i1 %195, %194
  %196 = fcmp olt x86_fp80 %181, 0xK3FD0B424DC35095CD800
  %or.cond624 = or i1 %196, %or.cond557
  br i1 %or.cond624, label %203, label %198

197:                                              ; preds = %191
  %.old623 = fcmp olt x86_fp80 %181, 0xK3FD0B424DC35095CD800
  br i1 %.old623, label %203, label %198

198:                                              ; preds = %193, %197
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %199 unwind label %189

199:                                              ; preds = %198
  %200 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %13, i32 noundef %200, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %175, x86_fp80 noundef %176, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %.critedge559 unwind label %201

201:                                              ; preds = %199
  %202 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %220

203:                                              ; preds = %183, %193, %197
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %204 unwind label %189

204:                                              ; preds = %203
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %14, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %175, x86_fp80 noundef %181, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %.critedge559 unwind label %205

205:                                              ; preds = %204
  %206 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %220

.critedge559:                                     ; preds = %204, %199
  %.sink666 = phi ptr [ %13, %199 ], [ %14, %204 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink666) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  %207 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %208 = add nsw i32 %207, 1
  store i32 %208, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %209 unwind label %222

209:                                              ; preds = %.critedge559
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  %210 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000) #7
  %211 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
  %212 = fsub x86_fp80 %210, %211
  %213 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %212)
  %214 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %211)
  %215 = fadd x86_fp80 %214, 0xK3FFF8000000000000000
  %216 = fdiv x86_fp80 %213, %215
  %217 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %210)
  br i1 %217, label %218, label %226

218:                                              ; preds = %209
  %219 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %211)
  br i1 %219, label %238, label %226

220:                                              ; preds = %205, %201, %189
  %.pn488 = phi { ptr, i32 } [ %206, %205 ], [ %190, %189 ], [ %202, %201 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %221

221:                                              ; preds = %220, %187
  %.pn488.pn = phi { ptr, i32 } [ %.pn488, %220 ], [ %188, %187 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %934

222:                                              ; preds = %.critedge559
  %223 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  br label %256

224:                                              ; preds = %238, %233
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %255

226:                                              ; preds = %218, %209
  %227 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %210)
  br i1 %227, label %232, label %228

228:                                              ; preds = %226
  %229 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %210)
  %230 = fcmp oeq x86_fp80 %210, %211
  %or.cond560 = and i1 %230, %229
  %231 = fcmp olt x86_fp80 %216, 0xK3FD0B424DC35095CD800
  %or.cond626 = or i1 %231, %or.cond560
  br i1 %or.cond626, label %238, label %233

232:                                              ; preds = %226
  %.old625 = fcmp olt x86_fp80 %216, 0xK3FD0B424DC35095CD800
  br i1 %.old625, label %238, label %233

233:                                              ; preds = %228, %232
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %234 unwind label %224

234:                                              ; preds = %233
  %235 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %17, i32 noundef %235, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %210, x86_fp80 noundef %211, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %.critedge562 unwind label %236

236:                                              ; preds = %234
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %255

238:                                              ; preds = %218, %228, %232
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %239 unwind label %224

239:                                              ; preds = %238
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %18, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %210, x86_fp80 noundef %216, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %.critedge562 unwind label %240

240:                                              ; preds = %239
  %241 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %255

.critedge562:                                     ; preds = %239, %234
  %.sink667 = phi ptr [ %17, %234 ], [ %18, %239 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink667) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  %242 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %243 = add nsw i32 %242, 1
  store i32 %243, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %244 unwind label %257

244:                                              ; preds = %.critedge562
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  %245 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000) #7
  %246 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
  %247 = fsub x86_fp80 %245, %246
  %248 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %247)
  %249 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %246)
  %250 = fadd x86_fp80 %249, 0xK3FFF8000000000000000
  %251 = fdiv x86_fp80 %248, %250
  %252 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %245)
  br i1 %252, label %253, label %261

253:                                              ; preds = %244
  %254 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %246)
  br i1 %254, label %273, label %261

255:                                              ; preds = %240, %236, %224
  %.pn491 = phi { ptr, i32 } [ %241, %240 ], [ %225, %224 ], [ %237, %236 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %256

256:                                              ; preds = %255, %222
  %.pn491.pn = phi { ptr, i32 } [ %.pn491, %255 ], [ %223, %222 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %934

257:                                              ; preds = %.critedge562
  %258 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  br label %291

259:                                              ; preds = %273, %268
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %290

261:                                              ; preds = %253, %244
  %262 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %245)
  br i1 %262, label %267, label %263

263:                                              ; preds = %261
  %264 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %245)
  %265 = fcmp oeq x86_fp80 %245, %246
  %or.cond563 = and i1 %265, %264
  %266 = fcmp olt x86_fp80 %251, 0xK3FD0B424DC35095CD800
  %or.cond628 = or i1 %266, %or.cond563
  br i1 %or.cond628, label %273, label %268

267:                                              ; preds = %261
  %.old627 = fcmp olt x86_fp80 %251, 0xK3FD0B424DC35095CD800
  br i1 %.old627, label %273, label %268

268:                                              ; preds = %263, %267
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %269 unwind label %259

269:                                              ; preds = %268
  %270 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %21, i32 noundef %270, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %245, x86_fp80 noundef %246, x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge565 unwind label %271

271:                                              ; preds = %269
  %272 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %290

273:                                              ; preds = %253, %263, %267
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %274 unwind label %259

274:                                              ; preds = %273
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %22, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %245, x86_fp80 noundef %251, x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge565 unwind label %275

275:                                              ; preds = %274
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %290

.critedge565:                                     ; preds = %274, %269
  %.sink668 = phi ptr [ %21, %269 ], [ %22, %274 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink668) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  %277 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %278 = add nsw i32 %277, 1
  store i32 %278, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %279 unwind label %292

279:                                              ; preds = %.critedge565
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  %280 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000) #7
  %281 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
  %282 = fsub x86_fp80 %280, %281
  %283 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %282)
  %284 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %281)
  %285 = fadd x86_fp80 %284, 0xK3FFF8000000000000000
  %286 = fdiv x86_fp80 %283, %285
  %287 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %280)
  br i1 %287, label %288, label %296

288:                                              ; preds = %279
  %289 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %281)
  br i1 %289, label %308, label %296

290:                                              ; preds = %275, %271, %259
  %.pn494 = phi { ptr, i32 } [ %276, %275 ], [ %260, %259 ], [ %272, %271 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %291

291:                                              ; preds = %290, %257
  %.pn494.pn = phi { ptr, i32 } [ %.pn494, %290 ], [ %258, %257 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %934

292:                                              ; preds = %.critedge565
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  br label %326

294:                                              ; preds = %308, %303
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %325

296:                                              ; preds = %288, %279
  %297 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %280)
  br i1 %297, label %302, label %298

298:                                              ; preds = %296
  %299 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %280)
  %300 = fcmp oeq x86_fp80 %280, %281
  %or.cond566 = and i1 %300, %299
  %301 = fcmp olt x86_fp80 %286, 0xK3FD0B424DC35095CD800
  %or.cond630 = or i1 %301, %or.cond566
  br i1 %or.cond630, label %308, label %303

302:                                              ; preds = %296
  %.old629 = fcmp olt x86_fp80 %286, 0xK3FD0B424DC35095CD800
  br i1 %.old629, label %308, label %303

303:                                              ; preds = %298, %302
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %304 unwind label %294

304:                                              ; preds = %303
  %305 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %25, i32 noundef %305, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %280, x86_fp80 noundef %281, x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge568 unwind label %306

306:                                              ; preds = %304
  %307 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %325

308:                                              ; preds = %288, %298, %302
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %309 unwind label %294

309:                                              ; preds = %308
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %26, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %280, x86_fp80 noundef %286, x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge568 unwind label %310

310:                                              ; preds = %309
  %311 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %325

.critedge568:                                     ; preds = %309, %304
  %.sink669 = phi ptr [ %25, %304 ], [ %26, %309 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink669) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  %312 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %313 = add nsw i32 %312, 1
  store i32 %313, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %314 unwind label %327

314:                                              ; preds = %.critedge568
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  %315 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B) #7
  %316 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
  %317 = fsub x86_fp80 %315, %316
  %318 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %317)
  %319 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %316)
  %320 = fadd x86_fp80 %319, 0xK3FFF8000000000000000
  %321 = fdiv x86_fp80 %318, %320
  %322 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %315)
  br i1 %322, label %323, label %331

323:                                              ; preds = %314
  %324 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %316)
  br i1 %324, label %343, label %331

325:                                              ; preds = %310, %306, %294
  %.pn497 = phi { ptr, i32 } [ %311, %310 ], [ %295, %294 ], [ %307, %306 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %326

326:                                              ; preds = %325, %292
  %.pn497.pn = phi { ptr, i32 } [ %.pn497, %325 ], [ %293, %292 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %934

327:                                              ; preds = %.critedge568
  %328 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  br label %361

329:                                              ; preds = %343, %338
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %360

331:                                              ; preds = %323, %314
  %332 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %315)
  br i1 %332, label %337, label %333

333:                                              ; preds = %331
  %334 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %315)
  %335 = fcmp oeq x86_fp80 %315, %316
  %or.cond569 = and i1 %335, %334
  %336 = fcmp olt x86_fp80 %321, 0xK3FD0B424DC35095CD800
  %or.cond632 = or i1 %336, %or.cond569
  br i1 %or.cond632, label %343, label %338

337:                                              ; preds = %331
  %.old631 = fcmp olt x86_fp80 %321, 0xK3FD0B424DC35095CD800
  br i1 %.old631, label %343, label %338

338:                                              ; preds = %333, %337
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %339 unwind label %329

339:                                              ; preds = %338
  %340 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %29, i32 noundef %340, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %315, x86_fp80 noundef %316, x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %.critedge571 unwind label %341

341:                                              ; preds = %339
  %342 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %360

343:                                              ; preds = %323, %333, %337
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %344 unwind label %329

344:                                              ; preds = %343
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %30, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %315, x86_fp80 noundef %321, x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %.critedge571 unwind label %345

345:                                              ; preds = %344
  %346 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %360

.critedge571:                                     ; preds = %344, %339
  %.sink670 = phi ptr [ %29, %339 ], [ %30, %344 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink670) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  %347 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %348 = add nsw i32 %347, 1
  store i32 %348, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %349 unwind label %362

349:                                              ; preds = %.critedge571
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  %350 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148) #7
  %351 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
  %352 = fsub x86_fp80 %350, %351
  %353 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %352)
  %354 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %351)
  %355 = fadd x86_fp80 %354, 0xK3FFF8000000000000000
  %356 = fdiv x86_fp80 %353, %355
  %357 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %350)
  br i1 %357, label %358, label %366

358:                                              ; preds = %349
  %359 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %351)
  br i1 %359, label %378, label %366

360:                                              ; preds = %345, %341, %329
  %.pn500 = phi { ptr, i32 } [ %346, %345 ], [ %330, %329 ], [ %342, %341 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %361

361:                                              ; preds = %360, %327
  %.pn500.pn = phi { ptr, i32 } [ %.pn500, %360 ], [ %328, %327 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %934

362:                                              ; preds = %.critedge571
  %363 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  br label %396

364:                                              ; preds = %378, %373
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %395

366:                                              ; preds = %358, %349
  %367 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %350)
  br i1 %367, label %372, label %368

368:                                              ; preds = %366
  %369 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %350)
  %370 = fcmp oeq x86_fp80 %350, %351
  %or.cond572 = and i1 %370, %369
  %371 = fcmp olt x86_fp80 %356, 0xK3FD0B424DC35095CD800
  %or.cond634 = or i1 %371, %or.cond572
  br i1 %or.cond634, label %378, label %373

372:                                              ; preds = %366
  %.old633 = fcmp olt x86_fp80 %356, 0xK3FD0B424DC35095CD800
  br i1 %.old633, label %378, label %373

373:                                              ; preds = %368, %372
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %374 unwind label %364

374:                                              ; preds = %373
  %375 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %33, i32 noundef %375, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %350, x86_fp80 noundef %351, x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %.critedge574 unwind label %376

376:                                              ; preds = %374
  %377 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %395

378:                                              ; preds = %358, %368, %372
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %379 unwind label %364

379:                                              ; preds = %378
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %34, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %350, x86_fp80 noundef %356, x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %.critedge574 unwind label %380

380:                                              ; preds = %379
  %381 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %395

.critedge574:                                     ; preds = %379, %374
  %.sink671 = phi ptr [ %33, %374 ], [ %34, %379 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink671) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  %382 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %383 = add nsw i32 %382, 1
  store i32 %383, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %384 unwind label %397

384:                                              ; preds = %.critedge574
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  %385 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000) #7
  %386 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
  %387 = fsub x86_fp80 %385, %386
  %388 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %387)
  %389 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %386)
  %390 = fadd x86_fp80 %389, 0xK3FFF8000000000000000
  %391 = fdiv x86_fp80 %388, %390
  %392 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %385)
  br i1 %392, label %393, label %401

393:                                              ; preds = %384
  %394 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %386)
  br i1 %394, label %413, label %401

395:                                              ; preds = %380, %376, %364
  %.pn503 = phi { ptr, i32 } [ %381, %380 ], [ %365, %364 ], [ %377, %376 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %396

396:                                              ; preds = %395, %362
  %.pn503.pn = phi { ptr, i32 } [ %.pn503, %395 ], [ %363, %362 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %934

397:                                              ; preds = %.critedge574
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  br label %431

399:                                              ; preds = %413, %408
  %400 = landingpad { ptr, i32 }
          cleanup
  br label %430

401:                                              ; preds = %393, %384
  %402 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %385)
  br i1 %402, label %407, label %403

403:                                              ; preds = %401
  %404 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %385)
  %405 = fcmp oeq x86_fp80 %385, %386
  %or.cond575 = and i1 %405, %404
  %406 = fcmp olt x86_fp80 %391, 0xK3FD0B424DC35095CD800
  %or.cond636 = or i1 %406, %or.cond575
  br i1 %or.cond636, label %413, label %408

407:                                              ; preds = %401
  %.old635 = fcmp olt x86_fp80 %391, 0xK3FD0B424DC35095CD800
  br i1 %.old635, label %413, label %408

408:                                              ; preds = %403, %407
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %409 unwind label %399

409:                                              ; preds = %408
  %410 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %37, i32 noundef %410, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %385, x86_fp80 noundef %386, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge577 unwind label %411

411:                                              ; preds = %409
  %412 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %430

413:                                              ; preds = %393, %403, %407
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %414 unwind label %399

414:                                              ; preds = %413
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %38, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %385, x86_fp80 noundef %391, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge577 unwind label %415

415:                                              ; preds = %414
  %416 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %430

.critedge577:                                     ; preds = %414, %409
  %.sink672 = phi ptr [ %37, %409 ], [ %38, %414 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink672) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  %417 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %418 = add nsw i32 %417, 1
  store i32 %418, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %419 unwind label %432

419:                                              ; preds = %.critedge577
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  %420 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000) #7
  %421 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
  %422 = fsub x86_fp80 %420, %421
  %423 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %422)
  %424 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %421)
  %425 = fadd x86_fp80 %424, 0xK3FFF8000000000000000
  %426 = fdiv x86_fp80 %423, %425
  %427 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %420)
  br i1 %427, label %428, label %436

428:                                              ; preds = %419
  %429 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %421)
  br i1 %429, label %448, label %436

430:                                              ; preds = %415, %411, %399
  %.pn506 = phi { ptr, i32 } [ %416, %415 ], [ %400, %399 ], [ %412, %411 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %431

431:                                              ; preds = %430, %397
  %.pn506.pn = phi { ptr, i32 } [ %.pn506, %430 ], [ %398, %397 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %934

432:                                              ; preds = %.critedge577
  %433 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br label %466

434:                                              ; preds = %448, %443
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %465

436:                                              ; preds = %428, %419
  %437 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %420)
  br i1 %437, label %442, label %438

438:                                              ; preds = %436
  %439 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %420)
  %440 = fcmp oeq x86_fp80 %420, %421
  %or.cond578 = and i1 %440, %439
  %441 = fcmp olt x86_fp80 %426, 0xK3FD0B424DC35095CD800
  %or.cond638 = or i1 %441, %or.cond578
  br i1 %or.cond638, label %448, label %443

442:                                              ; preds = %436
  %.old637 = fcmp olt x86_fp80 %426, 0xK3FD0B424DC35095CD800
  br i1 %.old637, label %448, label %443

443:                                              ; preds = %438, %442
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %444 unwind label %434

444:                                              ; preds = %443
  %445 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %41, i32 noundef %445, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %420, x86_fp80 noundef %421, x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge580 unwind label %446

446:                                              ; preds = %444
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %465

448:                                              ; preds = %428, %438, %442
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %449 unwind label %434

449:                                              ; preds = %448
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %42, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %420, x86_fp80 noundef %426, x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge580 unwind label %450

450:                                              ; preds = %449
  %451 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %465

.critedge580:                                     ; preds = %449, %444
  %.sink673 = phi ptr [ %41, %444 ], [ %42, %449 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink673) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  %452 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %453 = add nsw i32 %452, 1
  store i32 %453, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %454 unwind label %467

454:                                              ; preds = %.critedge580
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  %455 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000) #7
  %456 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
  %457 = fsub x86_fp80 %455, %456
  %458 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %457)
  %459 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %456)
  %460 = fadd x86_fp80 %459, 0xK3FFF8000000000000000
  %461 = fdiv x86_fp80 %458, %460
  %462 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %455)
  br i1 %462, label %463, label %471

463:                                              ; preds = %454
  %464 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %456)
  br i1 %464, label %483, label %471

465:                                              ; preds = %450, %446, %434
  %.pn509 = phi { ptr, i32 } [ %451, %450 ], [ %435, %434 ], [ %447, %446 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %466

466:                                              ; preds = %465, %432
  %.pn509.pn = phi { ptr, i32 } [ %.pn509, %465 ], [ %433, %432 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  br label %934

467:                                              ; preds = %.critedge580
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  br label %501

469:                                              ; preds = %483, %478
  %470 = landingpad { ptr, i32 }
          cleanup
  br label %500

471:                                              ; preds = %463, %454
  %472 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %455)
  br i1 %472, label %477, label %473

473:                                              ; preds = %471
  %474 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %455)
  %475 = fcmp oeq x86_fp80 %455, %456
  %or.cond581 = and i1 %475, %474
  %476 = fcmp olt x86_fp80 %461, 0xK3FD0B424DC35095CD800
  %or.cond640 = or i1 %476, %or.cond581
  br i1 %or.cond640, label %483, label %478

477:                                              ; preds = %471
  %.old639 = fcmp olt x86_fp80 %461, 0xK3FD0B424DC35095CD800
  br i1 %.old639, label %483, label %478

478:                                              ; preds = %473, %477
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %479 unwind label %469

479:                                              ; preds = %478
  %480 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %45, i32 noundef %480, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %455, x86_fp80 noundef %456, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %.critedge583 unwind label %481

481:                                              ; preds = %479
  %482 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %500

483:                                              ; preds = %463, %473, %477
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %484 unwind label %469

484:                                              ; preds = %483
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %46, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %455, x86_fp80 noundef %461, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %.critedge583 unwind label %485

485:                                              ; preds = %484
  %486 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %500

.critedge583:                                     ; preds = %484, %479
  %.sink674 = phi ptr [ %45, %479 ], [ %46, %484 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink674) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  %487 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %488 = add nsw i32 %487, 1
  store i32 %488, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %489 unwind label %502

489:                                              ; preds = %.critedge583
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  %490 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666) #7
  %491 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
  %492 = fsub x86_fp80 %490, %491
  %493 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %492)
  %494 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %491)
  %495 = fadd x86_fp80 %494, 0xK3FFF8000000000000000
  %496 = fdiv x86_fp80 %493, %495
  %497 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %490)
  br i1 %497, label %498, label %506

498:                                              ; preds = %489
  %499 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %491)
  br i1 %499, label %518, label %506

500:                                              ; preds = %485, %481, %469
  %.pn512 = phi { ptr, i32 } [ %486, %485 ], [ %470, %469 ], [ %482, %481 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %501

501:                                              ; preds = %500, %467
  %.pn512.pn = phi { ptr, i32 } [ %.pn512, %500 ], [ %468, %467 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %934

502:                                              ; preds = %.critedge583
  %503 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  br label %536

504:                                              ; preds = %518, %513
  %505 = landingpad { ptr, i32 }
          cleanup
  br label %535

506:                                              ; preds = %498, %489
  %507 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %490)
  br i1 %507, label %512, label %508

508:                                              ; preds = %506
  %509 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %490)
  %510 = fcmp oeq x86_fp80 %490, %491
  %or.cond584 = and i1 %510, %509
  %511 = fcmp olt x86_fp80 %496, 0xK3FD0B424DC35095CD800
  %or.cond642 = or i1 %511, %or.cond584
  br i1 %or.cond642, label %518, label %513

512:                                              ; preds = %506
  %.old641 = fcmp olt x86_fp80 %496, 0xK3FD0B424DC35095CD800
  br i1 %.old641, label %518, label %513

513:                                              ; preds = %508, %512
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %514 unwind label %504

514:                                              ; preds = %513
  %515 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %49, i32 noundef %515, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %490, x86_fp80 noundef %491, x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %.critedge586 unwind label %516

516:                                              ; preds = %514
  %517 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %535

518:                                              ; preds = %498, %508, %512
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %519 unwind label %504

519:                                              ; preds = %518
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %50, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %490, x86_fp80 noundef %496, x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %.critedge586 unwind label %520

520:                                              ; preds = %519
  %521 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %535

.critedge586:                                     ; preds = %519, %514
  %.sink675 = phi ptr [ %49, %514 ], [ %50, %519 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink675) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  %522 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %523 = add nsw i32 %522, 1
  store i32 %523, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %524 unwind label %537

524:                                              ; preds = %.critedge586
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  %525 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  %526 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
  %527 = fsub x86_fp80 %525, %526
  %528 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %527)
  %529 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %526)
  %530 = fadd x86_fp80 %529, 0xK3FFF8000000000000000
  %531 = fdiv x86_fp80 %528, %530
  %532 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %525)
  br i1 %532, label %533, label %541

533:                                              ; preds = %524
  %534 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %526)
  br i1 %534, label %553, label %541

535:                                              ; preds = %520, %516, %504
  %.pn515 = phi { ptr, i32 } [ %521, %520 ], [ %505, %504 ], [ %517, %516 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %536

536:                                              ; preds = %535, %502
  %.pn515.pn = phi { ptr, i32 } [ %.pn515, %535 ], [ %503, %502 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  br label %934

537:                                              ; preds = %.critedge586
  %538 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  br label %571

539:                                              ; preds = %553, %548
  %540 = landingpad { ptr, i32 }
          cleanup
  br label %570

541:                                              ; preds = %533, %524
  %542 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %525)
  br i1 %542, label %547, label %543

543:                                              ; preds = %541
  %544 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %525)
  %545 = fcmp oeq x86_fp80 %525, %526
  %or.cond587 = and i1 %545, %544
  %546 = fcmp olt x86_fp80 %531, 0xK3FD0B424DC35095CD800
  %or.cond644 = or i1 %546, %or.cond587
  br i1 %or.cond644, label %553, label %548

547:                                              ; preds = %541
  %.old643 = fcmp olt x86_fp80 %531, 0xK3FD0B424DC35095CD800
  br i1 %.old643, label %553, label %548

548:                                              ; preds = %543, %547
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %549 unwind label %539

549:                                              ; preds = %548
  %550 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %53, i32 noundef %550, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %525, x86_fp80 noundef %526, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge589 unwind label %551

551:                                              ; preds = %549
  %552 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %570

553:                                              ; preds = %533, %543, %547
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %554 unwind label %539

554:                                              ; preds = %553
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %54, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %525, x86_fp80 noundef %531, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge589 unwind label %555

555:                                              ; preds = %554
  %556 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  br label %570

.critedge589:                                     ; preds = %554, %549
  %.sink676 = phi ptr [ %53, %549 ], [ %54, %554 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink676) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  %557 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %558 = add nsw i32 %557, 1
  store i32 %558, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %559 unwind label %572

559:                                              ; preds = %.critedge589
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  %560 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #7
  %561 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
  %562 = fsub x86_fp80 %560, %561
  %563 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %562)
  %564 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %561)
  %565 = fadd x86_fp80 %564, 0xK3FFF8000000000000000
  %566 = fdiv x86_fp80 %563, %565
  %567 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %560)
  br i1 %567, label %568, label %576

568:                                              ; preds = %559
  %569 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %561)
  br i1 %569, label %588, label %576

570:                                              ; preds = %555, %551, %539
  %.pn518 = phi { ptr, i32 } [ %556, %555 ], [ %540, %539 ], [ %552, %551 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %571

571:                                              ; preds = %570, %537
  %.pn518.pn = phi { ptr, i32 } [ %.pn518, %570 ], [ %538, %537 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  br label %934

572:                                              ; preds = %.critedge589
  %573 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  br label %606

574:                                              ; preds = %588, %583
  %575 = landingpad { ptr, i32 }
          cleanup
  br label %605

576:                                              ; preds = %568, %559
  %577 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %560)
  br i1 %577, label %582, label %578

578:                                              ; preds = %576
  %579 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %560)
  %580 = fcmp oeq x86_fp80 %560, %561
  %or.cond590 = and i1 %580, %579
  %581 = fcmp olt x86_fp80 %566, 0xK3FD0B424DC35095CD800
  %or.cond646 = or i1 %581, %or.cond590
  br i1 %or.cond646, label %588, label %583

582:                                              ; preds = %576
  %.old645 = fcmp olt x86_fp80 %566, 0xK3FD0B424DC35095CD800
  br i1 %.old645, label %588, label %583

583:                                              ; preds = %578, %582
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %584 unwind label %574

584:                                              ; preds = %583
  %585 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %57, i32 noundef %585, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %560, x86_fp80 noundef %561, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge592 unwind label %586

586:                                              ; preds = %584
  %587 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %605

588:                                              ; preds = %568, %578, %582
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %589 unwind label %574

589:                                              ; preds = %588
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %58, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %560, x86_fp80 noundef %566, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge592 unwind label %590

590:                                              ; preds = %589
  %591 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %605

.critedge592:                                     ; preds = %589, %584
  %.sink677 = phi ptr [ %57, %584 ], [ %58, %589 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink677) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  %592 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %593 = add nsw i32 %592, 1
  store i32 %593, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %594 unwind label %607

594:                                              ; preds = %.critedge592
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #7
  %595 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  %596 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
  %597 = fsub x86_fp80 %595, %596
  %598 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %597)
  %599 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %596)
  %600 = fadd x86_fp80 %599, 0xK3FFF8000000000000000
  %601 = fdiv x86_fp80 %598, %600
  %602 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %595)
  br i1 %602, label %603, label %611

603:                                              ; preds = %594
  %604 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %596)
  br i1 %604, label %623, label %611

605:                                              ; preds = %590, %586, %574
  %.pn521 = phi { ptr, i32 } [ %591, %590 ], [ %575, %574 ], [ %587, %586 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %606

606:                                              ; preds = %605, %572
  %.pn521.pn = phi { ptr, i32 } [ %.pn521, %605 ], [ %573, %572 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %934

607:                                              ; preds = %.critedge592
  %608 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #7
  br label %641

609:                                              ; preds = %623, %618
  %610 = landingpad { ptr, i32 }
          cleanup
  br label %640

611:                                              ; preds = %603, %594
  %612 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %595)
  br i1 %612, label %617, label %613

613:                                              ; preds = %611
  %614 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %595)
  %615 = fcmp oeq x86_fp80 %595, %596
  %or.cond593 = and i1 %615, %614
  %616 = fcmp olt x86_fp80 %601, 0xK3FD0B424DC35095CD800
  %or.cond648 = or i1 %616, %or.cond593
  br i1 %or.cond648, label %623, label %618

617:                                              ; preds = %611
  %.old647 = fcmp olt x86_fp80 %601, 0xK3FD0B424DC35095CD800
  br i1 %.old647, label %623, label %618

618:                                              ; preds = %613, %617
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %619 unwind label %609

619:                                              ; preds = %618
  %620 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %61, i32 noundef %620, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %595, x86_fp80 noundef %596, x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge595 unwind label %621

621:                                              ; preds = %619
  %622 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %640

623:                                              ; preds = %603, %613, %617
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %624 unwind label %609

624:                                              ; preds = %623
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %62, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %595, x86_fp80 noundef %601, x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge595 unwind label %625

625:                                              ; preds = %624
  %626 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %640

.critedge595:                                     ; preds = %624, %619
  %.sink678 = phi ptr [ %61, %619 ], [ %62, %624 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink678) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  %627 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %628 = add nsw i32 %627, 1
  store i32 %628, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %629 unwind label %642

629:                                              ; preds = %.critedge595
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #7
  %630 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000) #7
  %631 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
  %632 = fsub x86_fp80 %630, %631
  %633 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %632)
  %634 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %631)
  %635 = fadd x86_fp80 %634, 0xK3FFF8000000000000000
  %636 = fdiv x86_fp80 %633, %635
  %637 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %630)
  br i1 %637, label %638, label %646

638:                                              ; preds = %629
  %639 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %631)
  br i1 %639, label %658, label %646

640:                                              ; preds = %625, %621, %609
  %.pn524 = phi { ptr, i32 } [ %626, %625 ], [ %610, %609 ], [ %622, %621 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %641

641:                                              ; preds = %640, %607
  %.pn524.pn = phi { ptr, i32 } [ %.pn524, %640 ], [ %608, %607 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %934

642:                                              ; preds = %.critedge595
  %643 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #7
  br label %676

644:                                              ; preds = %658, %653
  %645 = landingpad { ptr, i32 }
          cleanup
  br label %675

646:                                              ; preds = %638, %629
  %647 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %630)
  br i1 %647, label %652, label %648

648:                                              ; preds = %646
  %649 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %630)
  %650 = fcmp oeq x86_fp80 %630, %631
  %or.cond596 = and i1 %650, %649
  %651 = fcmp olt x86_fp80 %636, 0xK3FD0B424DC35095CD800
  %or.cond650 = or i1 %651, %or.cond596
  br i1 %or.cond650, label %658, label %653

652:                                              ; preds = %646
  %.old649 = fcmp olt x86_fp80 %636, 0xK3FD0B424DC35095CD800
  br i1 %.old649, label %658, label %653

653:                                              ; preds = %648, %652
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %654 unwind label %644

654:                                              ; preds = %653
  %655 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %65, i32 noundef %655, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %630, x86_fp80 noundef %631, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %.critedge598 unwind label %656

656:                                              ; preds = %654
  %657 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %675

658:                                              ; preds = %638, %648, %652
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %659 unwind label %644

659:                                              ; preds = %658
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %66, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %630, x86_fp80 noundef %636, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %.critedge598 unwind label %660

660:                                              ; preds = %659
  %661 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  br label %675

.critedge598:                                     ; preds = %659, %654
  %.sink679 = phi ptr [ %65, %654 ], [ %66, %659 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink679) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  %662 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %663 = add nsw i32 %662, 1
  store i32 %663, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %664 unwind label %677

664:                                              ; preds = %.critedge598
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #7
  %665 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000) #7
  %666 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
  %667 = fsub x86_fp80 %665, %666
  %668 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %667)
  %669 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %666)
  %670 = fadd x86_fp80 %669, 0xK3FFF8000000000000000
  %671 = fdiv x86_fp80 %668, %670
  %672 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %665)
  br i1 %672, label %673, label %681

673:                                              ; preds = %664
  %674 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %666)
  br i1 %674, label %693, label %681

675:                                              ; preds = %660, %656, %644
  %.pn527 = phi { ptr, i32 } [ %661, %660 ], [ %645, %644 ], [ %657, %656 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %676

676:                                              ; preds = %675, %642
  %.pn527.pn = phi { ptr, i32 } [ %.pn527, %675 ], [ %643, %642 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  br label %934

677:                                              ; preds = %.critedge598
  %678 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #7
  br label %711

679:                                              ; preds = %693, %688
  %680 = landingpad { ptr, i32 }
          cleanup
  br label %710

681:                                              ; preds = %673, %664
  %682 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %665)
  br i1 %682, label %687, label %683

683:                                              ; preds = %681
  %684 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %665)
  %685 = fcmp oeq x86_fp80 %665, %666
  %or.cond599 = and i1 %685, %684
  %686 = fcmp olt x86_fp80 %671, 0xK3FD0B424DC35095CD800
  %or.cond652 = or i1 %686, %or.cond599
  br i1 %or.cond652, label %693, label %688

687:                                              ; preds = %681
  %.old651 = fcmp olt x86_fp80 %671, 0xK3FD0B424DC35095CD800
  br i1 %.old651, label %693, label %688

688:                                              ; preds = %683, %687
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %689 unwind label %679

689:                                              ; preds = %688
  %690 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %69, i32 noundef %690, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %665, x86_fp80 noundef %666, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge601 unwind label %691

691:                                              ; preds = %689
  %692 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %710

693:                                              ; preds = %673, %683, %687
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %694 unwind label %679

694:                                              ; preds = %693
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %70, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %665, x86_fp80 noundef %671, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge601 unwind label %695

695:                                              ; preds = %694
  %696 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %710

.critedge601:                                     ; preds = %694, %689
  %.sink680 = phi ptr [ %69, %689 ], [ %70, %694 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink680) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  %697 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %698 = add nsw i32 %697, 1
  store i32 %698, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %699 unwind label %712

699:                                              ; preds = %.critedge601
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  %700 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000) #7
  %701 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
  %702 = fsub x86_fp80 %700, %701
  %703 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %702)
  %704 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %701)
  %705 = fadd x86_fp80 %704, 0xK3FFF8000000000000000
  %706 = fdiv x86_fp80 %703, %705
  %707 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %700)
  br i1 %707, label %708, label %716

708:                                              ; preds = %699
  %709 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %701)
  br i1 %709, label %728, label %716

710:                                              ; preds = %695, %691, %679
  %.pn530 = phi { ptr, i32 } [ %696, %695 ], [ %680, %679 ], [ %692, %691 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  br label %711

711:                                              ; preds = %710, %677
  %.pn530.pn = phi { ptr, i32 } [ %.pn530, %710 ], [ %678, %677 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  br label %934

712:                                              ; preds = %.critedge601
  %713 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  br label %746

714:                                              ; preds = %728, %723
  %715 = landingpad { ptr, i32 }
          cleanup
  br label %745

716:                                              ; preds = %708, %699
  %717 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %700)
  br i1 %717, label %722, label %718

718:                                              ; preds = %716
  %719 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %700)
  %720 = fcmp oeq x86_fp80 %700, %701
  %or.cond602 = and i1 %720, %719
  %721 = fcmp olt x86_fp80 %706, 0xK3FD0B424DC35095CD800
  %or.cond654 = or i1 %721, %or.cond602
  br i1 %or.cond654, label %728, label %723

722:                                              ; preds = %716
  %.old653 = fcmp olt x86_fp80 %706, 0xK3FD0B424DC35095CD800
  br i1 %.old653, label %728, label %723

723:                                              ; preds = %718, %722
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %724 unwind label %714

724:                                              ; preds = %723
  %725 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %73, i32 noundef %725, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %700, x86_fp80 noundef %701, x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %.critedge604 unwind label %726

726:                                              ; preds = %724
  %727 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %745

728:                                              ; preds = %708, %718, %722
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %729 unwind label %714

729:                                              ; preds = %728
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %74, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %700, x86_fp80 noundef %706, x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %.critedge604 unwind label %730

730:                                              ; preds = %729
  %731 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br label %745

.critedge604:                                     ; preds = %729, %724
  %.sink681 = phi ptr [ %73, %724 ], [ %74, %729 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink681) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  %732 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %733 = add nsw i32 %732, 1
  store i32 %733, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %734 unwind label %747

734:                                              ; preds = %.critedge604
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #7
  %735 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B) #7
  %736 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
  %737 = fsub x86_fp80 %735, %736
  %738 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %737)
  %739 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %736)
  %740 = fadd x86_fp80 %739, 0xK3FFF8000000000000000
  %741 = fdiv x86_fp80 %738, %740
  %742 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %735)
  br i1 %742, label %743, label %751

743:                                              ; preds = %734
  %744 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %736)
  br i1 %744, label %763, label %751

745:                                              ; preds = %730, %726, %714
  %.pn533 = phi { ptr, i32 } [ %731, %730 ], [ %715, %714 ], [ %727, %726 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %746

746:                                              ; preds = %745, %712
  %.pn533.pn = phi { ptr, i32 } [ %.pn533, %745 ], [ %713, %712 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  br label %934

747:                                              ; preds = %.critedge604
  %748 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #7
  br label %781

749:                                              ; preds = %763, %758
  %750 = landingpad { ptr, i32 }
          cleanup
  br label %780

751:                                              ; preds = %743, %734
  %752 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %735)
  br i1 %752, label %757, label %753

753:                                              ; preds = %751
  %754 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %735)
  %755 = fcmp oeq x86_fp80 %735, %736
  %or.cond605 = and i1 %755, %754
  %756 = fcmp olt x86_fp80 %741, 0xK3FD0B424DC35095CD800
  %or.cond656 = or i1 %756, %or.cond605
  br i1 %or.cond656, label %763, label %758

757:                                              ; preds = %751
  %.old655 = fcmp olt x86_fp80 %741, 0xK3FD0B424DC35095CD800
  br i1 %.old655, label %763, label %758

758:                                              ; preds = %753, %757
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %759 unwind label %749

759:                                              ; preds = %758
  %760 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %77, i32 noundef %760, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %735, x86_fp80 noundef %736, x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %.critedge607 unwind label %761

761:                                              ; preds = %759
  %762 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %780

763:                                              ; preds = %743, %753, %757
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %764 unwind label %749

764:                                              ; preds = %763
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %78, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %735, x86_fp80 noundef %741, x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %.critedge607 unwind label %765

765:                                              ; preds = %764
  %766 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  br label %780

.critedge607:                                     ; preds = %764, %759
  %.sink682 = phi ptr [ %77, %759 ], [ %78, %764 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink682) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #7
  %767 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %768 = add nsw i32 %767, 1
  store i32 %768, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %769 unwind label %782

769:                                              ; preds = %.critedge607
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #7
  %770 = call noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000) #7
  %771 = call noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
  %772 = fsub x86_fp80 %770, %771
  %773 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %772)
  %774 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %771)
  %775 = fadd x86_fp80 %774, 0xK3FFF8000000000000000
  %776 = fdiv x86_fp80 %773, %775
  %777 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %770)
  br i1 %777, label %778, label %786

778:                                              ; preds = %769
  %779 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %771)
  br i1 %779, label %798, label %786

780:                                              ; preds = %765, %761, %749
  %.pn536 = phi { ptr, i32 } [ %766, %765 ], [ %750, %749 ], [ %762, %761 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  br label %781

781:                                              ; preds = %780, %747
  %.pn536.pn = phi { ptr, i32 } [ %.pn536, %780 ], [ %748, %747 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #7
  br label %934

782:                                              ; preds = %.critedge607
  %783 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #7
  br label %818

784:                                              ; preds = %798, %793
  %785 = landingpad { ptr, i32 }
          cleanup
  br label %817

786:                                              ; preds = %778, %769
  %787 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %770)
  br i1 %787, label %792, label %788

788:                                              ; preds = %786
  %789 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %770)
  %790 = fcmp oeq x86_fp80 %770, %771
  %or.cond608 = and i1 %790, %789
  %791 = fcmp olt x86_fp80 %776, 0xK3FD0B424DC35095CD800
  %or.cond658 = or i1 %791, %or.cond608
  br i1 %or.cond658, label %798, label %793

792:                                              ; preds = %786
  %.old657 = fcmp olt x86_fp80 %776, 0xK3FD0B424DC35095CD800
  br i1 %.old657, label %798, label %793

793:                                              ; preds = %788, %792
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %794 unwind label %784

794:                                              ; preds = %793
  %795 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %81, i32 noundef %795, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %770, x86_fp80 noundef %771, x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %.critedge610 unwind label %796

796:                                              ; preds = %794
  %797 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %817

798:                                              ; preds = %778, %788, %792
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %799 unwind label %784

799:                                              ; preds = %798
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %82, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %770, x86_fp80 noundef %776, x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %.critedge610 unwind label %800

800:                                              ; preds = %799
  %801 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  br label %817

.critedge610:                                     ; preds = %799, %794
  %.sink683 = phi ptr [ %81, %794 ], [ %82, %799 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink683) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #7
  %802 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %803 = add nsw i32 %802, 1
  store i32 %803, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %804 unwind label %819

804:                                              ; preds = %.critedge610
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #7
  %805 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %806 = call noundef x86_fp80 @_ZN4gcem5atan2IdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %805, x86_fp80 noundef 0xK3FFF8000000000000000) #7
  %807 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %808 = call noundef x86_fp80 @_ZSt5atan2IdeEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(double noundef %807, x86_fp80 noundef 0xK3FFF8000000000000000)
  %809 = fsub x86_fp80 %806, %808
  %810 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %809)
  %811 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %808)
  %812 = fadd x86_fp80 %811, 0xK3FFF8000000000000000
  %813 = fdiv x86_fp80 %810, %812
  %814 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %806)
  br i1 %814, label %815, label %823

815:                                              ; preds = %804
  %816 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %808)
  br i1 %816, label %836, label %823

817:                                              ; preds = %800, %796, %784
  %.pn539 = phi { ptr, i32 } [ %801, %800 ], [ %785, %784 ], [ %797, %796 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %818

818:                                              ; preds = %817, %782
  %.pn539.pn = phi { ptr, i32 } [ %.pn539, %817 ], [ %783, %782 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #7
  br label %934

819:                                              ; preds = %.critedge610
  %820 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #7
  br label %857

821:                                              ; preds = %836, %830
  %822 = landingpad { ptr, i32 }
          cleanup
  br label %856

823:                                              ; preds = %815, %804
  %824 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %806)
  br i1 %824, label %829, label %825

825:                                              ; preds = %823
  %826 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %806)
  %827 = fcmp oeq x86_fp80 %806, %808
  %or.cond611 = and i1 %827, %826
  %828 = fcmp olt x86_fp80 %813, 0xK3FD0B424DC35095CD800
  %or.cond660 = or i1 %828, %or.cond611
  br i1 %or.cond660, label %836, label %830

829:                                              ; preds = %823
  %.old659 = fcmp olt x86_fp80 %813, 0xK3FD0B424DC35095CD800
  br i1 %.old659, label %836, label %830

830:                                              ; preds = %825, %829
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %831 unwind label %821

831:                                              ; preds = %830
  %832 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %833 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %85, i32 noundef %832, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %806, x86_fp80 noundef %808, double noundef %833, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge613 unwind label %834

834:                                              ; preds = %831
  %835 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %856

836:                                              ; preds = %815, %825, %829
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %837 unwind label %821

837:                                              ; preds = %836
  %838 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %86, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %806, x86_fp80 noundef %813, double noundef %838, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge613 unwind label %839

839:                                              ; preds = %837
  %840 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  br label %856

.critedge613:                                     ; preds = %837, %831
  %.sink684 = phi ptr [ %85, %831 ], [ %86, %837 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink684) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  %841 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %842 = add nsw i32 %841, 1
  store i32 %842, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %843 unwind label %858

843:                                              ; preds = %.critedge613
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  %844 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %845 = call noundef x86_fp80 @_ZN4gcem5atan2IedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %844) #7
  %846 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %847 = call noundef x86_fp80 @_ZSt5atan2IedEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %846)
  %848 = fsub x86_fp80 %845, %847
  %849 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %848)
  %850 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %847)
  %851 = fadd x86_fp80 %850, 0xK3FFF8000000000000000
  %852 = fdiv x86_fp80 %849, %851
  %853 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %845)
  br i1 %853, label %854, label %862

854:                                              ; preds = %843
  %855 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %847)
  br i1 %855, label %875, label %862

856:                                              ; preds = %839, %834, %821
  %.pn542 = phi { ptr, i32 } [ %840, %839 ], [ %822, %821 ], [ %835, %834 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  br label %857

857:                                              ; preds = %856, %819
  %.pn542.pn = phi { ptr, i32 } [ %.pn542, %856 ], [ %820, %819 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  br label %934

858:                                              ; preds = %.critedge613
  %859 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  br label %900

860:                                              ; preds = %875, %869
  %861 = landingpad { ptr, i32 }
          cleanup
  br label %899

862:                                              ; preds = %854, %843
  %863 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %845)
  br i1 %863, label %868, label %864

864:                                              ; preds = %862
  %865 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %845)
  %866 = fcmp oeq x86_fp80 %845, %847
  %or.cond614 = and i1 %866, %865
  %867 = fcmp olt x86_fp80 %852, 0xK3FD0B424DC35095CD800
  %or.cond662 = or i1 %867, %or.cond614
  br i1 %or.cond662, label %875, label %869

868:                                              ; preds = %862
  %.old661 = fcmp olt x86_fp80 %852, 0xK3FD0B424DC35095CD800
  br i1 %.old661, label %875, label %869

869:                                              ; preds = %864, %868
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %870 unwind label %860

870:                                              ; preds = %869
  %871 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %872 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %89, i32 noundef %871, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %845, x86_fp80 noundef %847, x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %872)
          to label %.critedge616 unwind label %873

873:                                              ; preds = %870
  %874 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  br label %899

875:                                              ; preds = %854, %864, %868
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %876 unwind label %860

876:                                              ; preds = %875
  %877 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %90, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %845, x86_fp80 noundef %852, x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %877)
          to label %.critedge616 unwind label %878

878:                                              ; preds = %876
  %879 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  br label %899

.critedge616:                                     ; preds = %876, %870
  %.sink685 = phi ptr [ %89, %870 ], [ %90, %876 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink685) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  %880 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %881 = add nsw i32 %880, 1
  store i32 %881, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %92) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %882 unwind label %901

882:                                              ; preds = %.critedge616
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #7
  %883 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %884 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %885 = call noundef double @_ZN4gcem5atan2IddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %883, double noundef %884) #7
  %886 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %887 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %888 = call double @atan2(double noundef %886, double noundef %887) #7
  %889 = fsub double %885, %888
  %890 = call noundef double @_ZSt3absd(double noundef %889)
  %891 = call noundef double @_ZSt3absd(double noundef %888)
  %892 = fadd double %891, 1.000000e+00
  %893 = fdiv double %890, %892
  %894 = fpext double %885 to x86_fp80
  %895 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %894)
  br i1 %895, label %896, label %905

896:                                              ; preds = %882
  %897 = fpext double %888 to x86_fp80
  %898 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %897)
  br i1 %898, label %919, label %905

899:                                              ; preds = %878, %873, %860
  %.pn545 = phi { ptr, i32 } [ %879, %878 ], [ %861, %860 ], [ %874, %873 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  br label %900

900:                                              ; preds = %899, %858
  %.pn545.pn = phi { ptr, i32 } [ %.pn545, %899 ], [ %859, %858 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  br label %934

901:                                              ; preds = %.critedge616
  %902 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #7
  br label %928

903:                                              ; preds = %919, %912
  %904 = landingpad { ptr, i32 }
          cleanup
  br label %927

905:                                              ; preds = %896, %882
  %906 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %894)
  br i1 %906, label %911, label %907

907:                                              ; preds = %905
  %908 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %894)
  %909 = fcmp oeq double %885, %888
  %or.cond617 = and i1 %909, %908
  %910 = fcmp olt double %893, 0x3D06849B86A12B9B
  %or.cond664 = or i1 %910, %or.cond617
  br i1 %or.cond664, label %919, label %912

911:                                              ; preds = %905
  %.old663 = fcmp olt double %893, 0x3D06849B86A12B9B
  br i1 %.old663, label %919, label %912

912:                                              ; preds = %907, %911
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %913 unwind label %903

913:                                              ; preds = %912
  %914 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %915 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %916 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %93, i32 noundef %914, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %885, double noundef %888, double noundef %915, double noundef %916)
          to label %.critedge619 unwind label %917

917:                                              ; preds = %913
  %918 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %927

919:                                              ; preds = %896, %907, %911
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %920 unwind label %903

920:                                              ; preds = %919
  %921 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %922 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %94, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %885, double noundef %893, double noundef %921, double noundef %922)
          to label %.critedge619 unwind label %923

923:                                              ; preds = %920
  %924 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  br label %927

.critedge619:                                     ; preds = %920, %913
  %.sink686 = phi ptr [ %93, %913 ], [ %94, %920 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink686) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %96) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %925 unwind label %929

925:                                              ; preds = %.critedge619
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %95)
          to label %926 unwind label %931

926:                                              ; preds = %925
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #7
  ret i32 0

927:                                              ; preds = %923, %917, %903
  %.pn548 = phi { ptr, i32 } [ %924, %923 ], [ %904, %903 ], [ %918, %917 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  br label %928

928:                                              ; preds = %927, %901
  %.pn548.pn = phi { ptr, i32 } [ %.pn548, %927 ], [ %902, %901 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #7
  br label %934

929:                                              ; preds = %.critedge619
  %930 = landingpad { ptr, i32 }
          cleanup
  br label %933

931:                                              ; preds = %925
  %932 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  br label %933

933:                                              ; preds = %931, %929
  %.pn551 = phi { ptr, i32 } [ %932, %931 ], [ %930, %929 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #7
  br label %934

934:                                              ; preds = %933, %928, %900, %857, %818, %781, %746, %711, %676, %641, %606, %571, %536, %501, %466, %431, %396, %361, %326, %291, %256, %221, %186, %151, %116
  %.pn551.pn = phi { ptr, i32 } [ %.pn551, %933 ], [ %.pn548.pn, %928 ], [ %.pn545.pn, %900 ], [ %.pn542.pn, %857 ], [ %.pn539.pn, %818 ], [ %.pn536.pn, %781 ], [ %.pn533.pn, %746 ], [ %.pn530.pn, %711 ], [ %.pn527.pn, %676 ], [ %.pn524.pn, %641 ], [ %.pn521.pn, %606 ], [ %.pn518.pn, %571 ], [ %.pn515.pn, %536 ], [ %.pn512.pn, %501 ], [ %.pn509.pn, %466 ], [ %.pn506.pn, %431 ], [ %.pn503.pn, %396 ], [ %.pn500.pn, %361 ], [ %.pn497.pn, %326 ], [ %.pn494.pn, %291 ], [ %.pn491.pn, %256 ], [ %.pn488.pn, %221 ], [ %.pn485.pn, %186 ], [ %.pn482.pn, %151 ], [ %.pn, %116 ]
  resume { ptr, i32 } %.pn551.pn
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) local_unnamed_addr #1

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

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) 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 nounwind uwtable
declare dso_local noundef x86_fp80 @_ZN4gcem5atan2IeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5atan2ee(x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #1

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZN4gcem5atan2IdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5atan2IdeEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(double noundef, x86_fp80 noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, double noundef, x86_fp80 noundef) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, double noundef, x86_fp80 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZN4gcem5atan2IedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, double noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5atan2IedEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(x86_fp80 noundef, double noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, double noundef) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, double noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZN4gcem5atan2IddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, double noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @atan2(double noundef, double noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, double noundef, double noundef) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, double noundef, double noundef) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) local_unnamed_addr #1

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

attributes #0 = { mustprogress norecurse 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 uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 #7 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}


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