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

; 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
  %192 = alloca x86_fp80, align 16
  %193 = alloca x86_fp80, align 16
  %194 = alloca x86_fp80, align 16
  %195 = alloca i8, align 1
  %196 = alloca %"class.std::__cxx11::basic_string", align 8
  %197 = alloca %"class.std::__cxx11::basic_string", align 8
  %198 = alloca %"class.std::__cxx11::basic_string", align 8
  %199 = alloca %"class.std::allocator", align 1
  %200 = alloca x86_fp80, align 16
  %201 = alloca x86_fp80, align 16
  %202 = alloca x86_fp80, align 16
  %203 = alloca i8, align 1
  %204 = alloca %"class.std::__cxx11::basic_string", align 8
  %205 = alloca %"class.std::__cxx11::basic_string", align 8
  %206 = alloca %"class.std::__cxx11::basic_string", align 8
  %207 = alloca %"class.std::allocator", align 1
  %208 = alloca double, align 8
  %209 = alloca double, align 8
  %210 = alloca double, align 8
  %211 = alloca i8, align 1
  %212 = alloca %"class.std::__cxx11::basic_string", align 8
  %213 = alloca %"class.std::__cxx11::basic_string", align 8
  %214 = alloca %"class.std::__cxx11::basic_string", align 8
  %215 = alloca %"class.std::allocator", align 1
  %216 = alloca x86_fp80, align 16
  %217 = alloca x86_fp80, align 16
  %218 = alloca x86_fp80, align 16
  %219 = alloca i8, align 1
  %220 = alloca %"class.std::__cxx11::basic_string", align 8
  %221 = alloca %"class.std::__cxx11::basic_string", align 8
  %222 = alloca %"class.std::__cxx11::basic_string", align 8
  %223 = alloca %"class.std::allocator", align 1
  %224 = alloca x86_fp80, align 16
  %225 = alloca x86_fp80, align 16
  %226 = alloca x86_fp80, align 16
  %227 = alloca i8, align 1
  %228 = alloca %"class.std::__cxx11::basic_string", align 8
  %229 = alloca %"class.std::__cxx11::basic_string", align 8
  %230 = alloca %"class.std::__cxx11::basic_string", align 8
  %231 = alloca %"class.std::allocator", align 1
  %232 = alloca double, align 8
  %233 = alloca double, align 8
  %234 = alloca double, align 8
  %235 = alloca i8, align 1
  %236 = alloca %"class.std::__cxx11::basic_string", align 8
  %237 = alloca %"class.std::__cxx11::basic_string", align 8
  %238 = alloca %"class.std::__cxx11::basic_string", align 8
  %239 = 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 %240 unwind label %266

240:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2)
          to label %241 unwind label %270

241:                                              ; preds = %240
  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
  %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 %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 %244 unwind label %275

244:                                              ; preds = %241
  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
  %245 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %245, ptr %8, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #7
  %246 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %247 unwind label %279

247:                                              ; preds = %244
  store x86_fp80 %246, ptr %9, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #7
  %248 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %249 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %250 = fsub x86_fp80 %248, %249
  %251 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %250)
          to label %252 unwind label %283

252:                                              ; preds = %247
  %253 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %254 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %253)
          to label %255 unwind label %283

255:                                              ; preds = %252
  %256 = fadd x86_fp80 0xK3FFF8000000000000000, %254
  %257 = fdiv x86_fp80 %251, %256
  store x86_fp80 %257, 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
  %258 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %259 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %258)
          to label %260 unwind label %287

260:                                              ; preds = %255
  br i1 %259, label %261, label %291

261:                                              ; preds = %260
  %262 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %263 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %262)
          to label %264 unwind label %287

264:                                              ; preds = %261
  br i1 %263, label %265, label %291

265:                                              ; preds = %264
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %320

266:                                              ; preds = %0
  %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
  br label %274

270:                                              ; preds = %240
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %4, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  br label %274

274:                                              ; preds = %270, %266
  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 %2814

275:                                              ; preds = %241
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %4, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, 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 %360

279:                                              ; preds = %244
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %4, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %5, align 4
  br label %359

283:                                              ; preds = %252, %247
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %4, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %5, align 4
  br label %358

287:                                              ; preds = %323, %308, %295, %291, %261, %255
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %4, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %5, align 4
  br label %357

291:                                              ; preds = %264, %260
  %292 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %293 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %292)
          to label %294 unwind label %287

294:                                              ; preds = %291
  br i1 %293, label %304, label %295

295:                                              ; preds = %294
  %296 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %297 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %296)
          to label %298 unwind label %287

298:                                              ; preds = %295
  br i1 %297, label %299, label %304

299:                                              ; preds = %298
  %300 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %301 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %302 = fcmp oeq x86_fp80 %300, %301
  br i1 %302, label %303, label %304

303:                                              ; preds = %299
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %319

304:                                              ; preds = %299, %298, %294
  %305 = load x86_fp80, ptr %10, align 16, !tbaa !9
  %306 = fcmp olt x86_fp80 %305, 0xK3FD0B424DC35095CD800
  br i1 %306, label %307, label %308

307:                                              ; preds = %304
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %318

308:                                              ; preds = %304
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %309 unwind label %287

309:                                              ; preds = %308
  %310 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %311 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %312 = 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 %310, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %311, x86_fp80 noundef %312, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %313 unwind label %314

313:                                              ; preds = %309
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %318

314:                                              ; preds = %309
  %315 = landingpad { ptr, i32 }
          cleanup
  %316 = extractvalue { ptr, i32 } %315, 0
  store ptr %316, ptr %4, align 8
  %317 = extractvalue { ptr, i32 } %315, 1
  store i32 %317, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %357

318:                                              ; preds = %313, %307
  br label %319

319:                                              ; preds = %318, %303
  br label %320

320:                                              ; preds = %319, %265
  %321 = load i8, ptr %11, align 1, !tbaa !11, !range !13, !noundef !14
  %322 = trunc i8 %321 to i1
  br i1 %322, label %323, label %332

323:                                              ; preds = %320
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %324 unwind label %287

324:                                              ; preds = %323
  %325 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %326 = 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 %325, x86_fp80 noundef %326, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %327 unwind label %328

327:                                              ; preds = %324
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %332

328:                                              ; preds = %324
  %329 = landingpad { ptr, i32 }
          cleanup
  %330 = extractvalue { ptr, i32 } %329, 0
  store ptr %330, ptr %4, align 8
  %331 = extractvalue { ptr, i32 } %329, 1
  store i32 %331, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %357

332:                                              ; preds = %327, %320
  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
  %333 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %334 = add nsw i32 %333, 1
  store i32 %334, 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 %335 unwind label %361

335:                                              ; preds = %332
  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
  %336 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %336, ptr %16, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #7
  %337 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %338 unwind label %365

338:                                              ; preds = %335
  store x86_fp80 %337, ptr %17, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #7
  %339 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %340 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %341 = fsub x86_fp80 %339, %340
  %342 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %341)
          to label %343 unwind label %369

343:                                              ; preds = %338
  %344 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %345 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %344)
          to label %346 unwind label %369

346:                                              ; preds = %343
  %347 = fadd x86_fp80 0xK3FFF8000000000000000, %345
  %348 = fdiv x86_fp80 %342, %347
  store x86_fp80 %348, 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
  %349 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %350 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %349)
          to label %351 unwind label %373

351:                                              ; preds = %346
  br i1 %350, label %352, label %377

352:                                              ; preds = %351
  %353 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %354 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %353)
          to label %355 unwind label %373

355:                                              ; preds = %352
  br i1 %354, label %356, label %377

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

357:                                              ; preds = %328, %314, %287
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  br label %358

358:                                              ; preds = %357, %283
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  br label %359

359:                                              ; preds = %358, %279
  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 %360

360:                                              ; preds = %359, %275
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  br label %2814

361:                                              ; preds = %332
  %362 = landingpad { ptr, i32 }
          cleanup
  %363 = extractvalue { ptr, i32 } %362, 0
  store ptr %363, ptr %4, align 8
  %364 = extractvalue { ptr, i32 } %362, 1
  store i32 %364, 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 %446

365:                                              ; preds = %335
  %366 = landingpad { ptr, i32 }
          cleanup
  %367 = extractvalue { ptr, i32 } %366, 0
  store ptr %367, ptr %4, align 8
  %368 = extractvalue { ptr, i32 } %366, 1
  store i32 %368, ptr %5, align 4
  br label %445

369:                                              ; preds = %343, %338
  %370 = landingpad { ptr, i32 }
          cleanup
  %371 = extractvalue { ptr, i32 } %370, 0
  store ptr %371, ptr %4, align 8
  %372 = extractvalue { ptr, i32 } %370, 1
  store i32 %372, ptr %5, align 4
  br label %444

373:                                              ; preds = %409, %394, %381, %377, %352, %346
  %374 = landingpad { ptr, i32 }
          cleanup
  %375 = extractvalue { ptr, i32 } %374, 0
  store ptr %375, ptr %4, align 8
  %376 = extractvalue { ptr, i32 } %374, 1
  store i32 %376, ptr %5, align 4
  br label %443

377:                                              ; preds = %355, %351
  %378 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %379 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %378)
          to label %380 unwind label %373

380:                                              ; preds = %377
  br i1 %379, label %390, label %381

381:                                              ; preds = %380
  %382 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %383 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %382)
          to label %384 unwind label %373

384:                                              ; preds = %381
  br i1 %383, label %385, label %390

385:                                              ; preds = %384
  %386 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %387 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %388 = fcmp oeq x86_fp80 %386, %387
  br i1 %388, label %389, label %390

389:                                              ; preds = %385
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %405

390:                                              ; preds = %385, %384, %380
  %391 = load x86_fp80, ptr %18, align 16, !tbaa !9
  %392 = fcmp olt x86_fp80 %391, 0xK3FD0B424DC35095CD800
  br i1 %392, label %393, label %394

393:                                              ; preds = %390
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %404

394:                                              ; preds = %390
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %395 unwind label %373

395:                                              ; preds = %394
  %396 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %397 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %398 = 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 %396, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %397, x86_fp80 noundef %398, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %399 unwind label %400

399:                                              ; preds = %395
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %404

400:                                              ; preds = %395
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %4, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %443

404:                                              ; preds = %399, %393
  br label %405

405:                                              ; preds = %404, %389
  br label %406

406:                                              ; preds = %405, %356
  %407 = load i8, ptr %19, align 1, !tbaa !11, !range !13, !noundef !14
  %408 = trunc i8 %407 to i1
  br i1 %408, label %409, label %418

409:                                              ; preds = %406
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %410 unwind label %373

410:                                              ; preds = %409
  %411 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %412 = 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 %411, x86_fp80 noundef %412, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %413 unwind label %414

413:                                              ; preds = %410
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %418

414:                                              ; preds = %410
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %4, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %443

418:                                              ; preds = %413, %406
  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
  %419 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %420 = add nsw i32 %419, 1
  store i32 %420, 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 %421 unwind label %447

421:                                              ; preds = %418
  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
  %422 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000) #7
  store x86_fp80 %422, ptr %24, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %423 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %424 unwind label %451

424:                                              ; preds = %421
  store x86_fp80 %423, ptr %25, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #7
  %425 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %426 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %427 = fsub x86_fp80 %425, %426
  %428 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %427)
          to label %429 unwind label %455

429:                                              ; preds = %424
  %430 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %431 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %430)
          to label %432 unwind label %455

432:                                              ; preds = %429
  %433 = fadd x86_fp80 0xK3FFF8000000000000000, %431
  %434 = fdiv x86_fp80 %428, %433
  store x86_fp80 %434, 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
  %435 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %436 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %435)
          to label %437 unwind label %459

437:                                              ; preds = %432
  br i1 %436, label %438, label %463

438:                                              ; preds = %437
  %439 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %440 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %439)
          to label %441 unwind label %459

441:                                              ; preds = %438
  br i1 %440, label %442, label %463

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

443:                                              ; preds = %414, %400, %373
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  br label %444

444:                                              ; preds = %443, %369
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  br label %445

445:                                              ; preds = %444, %365
  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 %446

446:                                              ; preds = %445, %361
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %2814

447:                                              ; preds = %418
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %4, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, 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 %532

451:                                              ; preds = %421
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %4, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %5, align 4
  br label %531

455:                                              ; preds = %429, %424
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %4, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %5, align 4
  br label %530

459:                                              ; preds = %495, %480, %467, %463, %438, %432
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %4, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %5, align 4
  br label %529

463:                                              ; preds = %441, %437
  %464 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %465 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %464)
          to label %466 unwind label %459

466:                                              ; preds = %463
  br i1 %465, label %476, label %467

467:                                              ; preds = %466
  %468 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %469 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %468)
          to label %470 unwind label %459

470:                                              ; preds = %467
  br i1 %469, label %471, label %476

471:                                              ; preds = %470
  %472 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %473 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %474 = fcmp oeq x86_fp80 %472, %473
  br i1 %474, label %475, label %476

475:                                              ; preds = %471
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %491

476:                                              ; preds = %471, %470, %466
  %477 = load x86_fp80, ptr %26, align 16, !tbaa !9
  %478 = fcmp olt x86_fp80 %477, 0xK3FD0B424DC35095CD800
  br i1 %478, label %479, label %480

479:                                              ; preds = %476
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %490

480:                                              ; preds = %476
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %481 unwind label %459

481:                                              ; preds = %480
  %482 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %483 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %484 = 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 %482, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %483, x86_fp80 noundef %484, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %485 unwind label %486

485:                                              ; preds = %481
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %490

486:                                              ; preds = %481
  %487 = landingpad { ptr, i32 }
          cleanup
  %488 = extractvalue { ptr, i32 } %487, 0
  store ptr %488, ptr %4, align 8
  %489 = extractvalue { ptr, i32 } %487, 1
  store i32 %489, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %529

490:                                              ; preds = %485, %479
  br label %491

491:                                              ; preds = %490, %475
  br label %492

492:                                              ; preds = %491, %442
  %493 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %494 = trunc i8 %493 to i1
  br i1 %494, label %495, label %504

495:                                              ; preds = %492
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %496 unwind label %459

496:                                              ; preds = %495
  %497 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %498 = 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 %497, x86_fp80 noundef %498, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %499 unwind label %500

499:                                              ; preds = %496
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %504

500:                                              ; preds = %496
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %4, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %529

504:                                              ; preds = %499, %492
  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
  %505 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %506 = add nsw i32 %505, 1
  store i32 %506, 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 %507 unwind label %533

507:                                              ; preds = %504
  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
  %508 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000) #7
  store x86_fp80 %508, ptr %32, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #7
  %509 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %510 unwind label %537

510:                                              ; preds = %507
  store x86_fp80 %509, ptr %33, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %511 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %512 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %513 = fsub x86_fp80 %511, %512
  %514 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %513)
          to label %515 unwind label %541

515:                                              ; preds = %510
  %516 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %517 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %516)
          to label %518 unwind label %541

518:                                              ; preds = %515
  %519 = fadd x86_fp80 0xK3FFF8000000000000000, %517
  %520 = fdiv x86_fp80 %514, %519
  store x86_fp80 %520, 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
  %521 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %522 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %521)
          to label %523 unwind label %545

523:                                              ; preds = %518
  br i1 %522, label %524, label %549

524:                                              ; preds = %523
  %525 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %526 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %525)
          to label %527 unwind label %545

527:                                              ; preds = %524
  br i1 %526, label %528, label %549

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

529:                                              ; preds = %500, %486, %459
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  br label %530

530:                                              ; preds = %529, %455
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  br label %531

531:                                              ; preds = %530, %451
  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 %532

532:                                              ; preds = %531, %447
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br label %2814

533:                                              ; preds = %504
  %534 = landingpad { ptr, i32 }
          cleanup
  %535 = extractvalue { ptr, i32 } %534, 0
  store ptr %535, ptr %4, align 8
  %536 = extractvalue { ptr, i32 } %534, 1
  store i32 %536, 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 %618

537:                                              ; preds = %507
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %4, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %5, align 4
  br label %617

541:                                              ; preds = %515, %510
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %4, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %5, align 4
  br label %616

545:                                              ; preds = %581, %566, %553, %549, %524, %518
  %546 = landingpad { ptr, i32 }
          cleanup
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %4, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %5, align 4
  br label %615

549:                                              ; preds = %527, %523
  %550 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %551 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %550)
          to label %552 unwind label %545

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

553:                                              ; preds = %552
  %554 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %555 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %554)
          to label %556 unwind label %545

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

557:                                              ; preds = %556
  %558 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %559 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %560 = fcmp oeq x86_fp80 %558, %559
  br i1 %560, label %561, label %562

561:                                              ; preds = %557
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %577

562:                                              ; preds = %557, %556, %552
  %563 = load x86_fp80, ptr %34, align 16, !tbaa !9
  %564 = fcmp olt x86_fp80 %563, 0xK3FD0B424DC35095CD800
  br i1 %564, label %565, label %566

565:                                              ; preds = %562
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %576

566:                                              ; preds = %562
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %567 unwind label %545

567:                                              ; preds = %566
  %568 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %569 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %570 = 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 %568, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %569, x86_fp80 noundef %570, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %571 unwind label %572

571:                                              ; preds = %567
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %576

572:                                              ; preds = %567
  %573 = landingpad { ptr, i32 }
          cleanup
  %574 = extractvalue { ptr, i32 } %573, 0
  store ptr %574, ptr %4, align 8
  %575 = extractvalue { ptr, i32 } %573, 1
  store i32 %575, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %615

576:                                              ; preds = %571, %565
  br label %577

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

578:                                              ; preds = %577, %528
  %579 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %580 = trunc i8 %579 to i1
  br i1 %580, label %581, label %590

581:                                              ; preds = %578
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %582 unwind label %545

582:                                              ; preds = %581
  %583 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %584 = 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 %583, x86_fp80 noundef %584, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %585 unwind label %586

585:                                              ; preds = %582
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %590

586:                                              ; preds = %582
  %587 = landingpad { ptr, i32 }
          cleanup
  %588 = extractvalue { ptr, i32 } %587, 0
  store ptr %588, ptr %4, align 8
  %589 = extractvalue { ptr, i32 } %587, 1
  store i32 %589, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %615

590:                                              ; preds = %585, %578
  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
  %591 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %592 = add nsw i32 %591, 1
  store i32 %592, 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 %593 unwind label %619

593:                                              ; preds = %590
  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
  %594 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %594, ptr %40, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #7
  %595 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %596 unwind label %623

596:                                              ; preds = %593
  store x86_fp80 %595, ptr %41, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #7
  %597 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %598 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %599 = fsub x86_fp80 %597, %598
  %600 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %599)
          to label %601 unwind label %627

601:                                              ; preds = %596
  %602 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %603 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %602)
          to label %604 unwind label %627

604:                                              ; preds = %601
  %605 = fadd x86_fp80 0xK3FFF8000000000000000, %603
  %606 = fdiv x86_fp80 %600, %605
  store x86_fp80 %606, 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
  %607 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %608 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %607)
          to label %609 unwind label %631

609:                                              ; preds = %604
  br i1 %608, label %610, label %635

610:                                              ; preds = %609
  %611 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %612 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %611)
          to label %613 unwind label %631

613:                                              ; preds = %610
  br i1 %612, label %614, label %635

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

615:                                              ; preds = %586, %572, %545
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  br label %616

616:                                              ; preds = %615, %541
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  br label %617

617:                                              ; preds = %616, %537
  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 %618

618:                                              ; preds = %617, %533
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  br label %2814

619:                                              ; preds = %590
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %4, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, 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 %704

623:                                              ; preds = %593
  %624 = landingpad { ptr, i32 }
          cleanup
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %4, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %5, align 4
  br label %703

627:                                              ; preds = %601, %596
  %628 = landingpad { ptr, i32 }
          cleanup
  %629 = extractvalue { ptr, i32 } %628, 0
  store ptr %629, ptr %4, align 8
  %630 = extractvalue { ptr, i32 } %628, 1
  store i32 %630, ptr %5, align 4
  br label %702

631:                                              ; preds = %667, %652, %639, %635, %610, %604
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %4, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %5, align 4
  br label %701

635:                                              ; preds = %613, %609
  %636 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %637 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %636)
          to label %638 unwind label %631

638:                                              ; preds = %635
  br i1 %637, label %648, label %639

639:                                              ; preds = %638
  %640 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %641 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %640)
          to label %642 unwind label %631

642:                                              ; preds = %639
  br i1 %641, label %643, label %648

643:                                              ; preds = %642
  %644 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %645 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %646 = fcmp oeq x86_fp80 %644, %645
  br i1 %646, label %647, label %648

647:                                              ; preds = %643
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %663

648:                                              ; preds = %643, %642, %638
  %649 = load x86_fp80, ptr %42, align 16, !tbaa !9
  %650 = fcmp olt x86_fp80 %649, 0xK3FD0B424DC35095CD800
  br i1 %650, label %651, label %652

651:                                              ; preds = %648
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %662

652:                                              ; preds = %648
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %653 unwind label %631

653:                                              ; preds = %652
  %654 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %655 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %656 = 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 %654, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %655, x86_fp80 noundef %656, x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %657 unwind label %658

657:                                              ; preds = %653
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %662

658:                                              ; preds = %653
  %659 = landingpad { ptr, i32 }
          cleanup
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %4, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %701

662:                                              ; preds = %657, %651
  br label %663

663:                                              ; preds = %662, %647
  br label %664

664:                                              ; preds = %663, %614
  %665 = load i8, ptr %43, align 1, !tbaa !11, !range !13, !noundef !14
  %666 = trunc i8 %665 to i1
  br i1 %666, label %667, label %676

667:                                              ; preds = %664
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %668 unwind label %631

668:                                              ; preds = %667
  %669 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %670 = 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 %669, x86_fp80 noundef %670, x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %671 unwind label %672

671:                                              ; preds = %668
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %676

672:                                              ; preds = %668
  %673 = landingpad { ptr, i32 }
          cleanup
  %674 = extractvalue { ptr, i32 } %673, 0
  store ptr %674, ptr %4, align 8
  %675 = extractvalue { ptr, i32 } %673, 1
  store i32 %675, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %701

676:                                              ; preds = %671, %664
  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
  %677 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %678 = add nsw i32 %677, 1
  store i32 %678, 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 %679 unwind label %705

679:                                              ; preds = %676
  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
  %680 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %680, ptr %48, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #7
  %681 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %682 unwind label %709

682:                                              ; preds = %679
  store x86_fp80 %681, ptr %49, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #7
  %683 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %684 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %685 = fsub x86_fp80 %683, %684
  %686 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %685)
          to label %687 unwind label %713

687:                                              ; preds = %682
  %688 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %689 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %688)
          to label %690 unwind label %713

690:                                              ; preds = %687
  %691 = fadd x86_fp80 0xK3FFF8000000000000000, %689
  %692 = fdiv x86_fp80 %686, %691
  store x86_fp80 %692, 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
  %693 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %694 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %693)
          to label %695 unwind label %717

695:                                              ; preds = %690
  br i1 %694, label %696, label %721

696:                                              ; preds = %695
  %697 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %698 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %697)
          to label %699 unwind label %717

699:                                              ; preds = %696
  br i1 %698, label %700, label %721

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

701:                                              ; preds = %672, %658, %631
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  br label %702

702:                                              ; preds = %701, %627
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  br label %703

703:                                              ; preds = %702, %623
  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 %704

704:                                              ; preds = %703, %619
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  br label %2814

705:                                              ; preds = %676
  %706 = landingpad { ptr, i32 }
          cleanup
  %707 = extractvalue { ptr, i32 } %706, 0
  store ptr %707, ptr %4, align 8
  %708 = extractvalue { ptr, i32 } %706, 1
  store i32 %708, 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 %790

709:                                              ; preds = %679
  %710 = landingpad { ptr, i32 }
          cleanup
  %711 = extractvalue { ptr, i32 } %710, 0
  store ptr %711, ptr %4, align 8
  %712 = extractvalue { ptr, i32 } %710, 1
  store i32 %712, ptr %5, align 4
  br label %789

713:                                              ; preds = %687, %682
  %714 = landingpad { ptr, i32 }
          cleanup
  %715 = extractvalue { ptr, i32 } %714, 0
  store ptr %715, ptr %4, align 8
  %716 = extractvalue { ptr, i32 } %714, 1
  store i32 %716, ptr %5, align 4
  br label %788

717:                                              ; preds = %753, %738, %725, %721, %696, %690
  %718 = landingpad { ptr, i32 }
          cleanup
  %719 = extractvalue { ptr, i32 } %718, 0
  store ptr %719, ptr %4, align 8
  %720 = extractvalue { ptr, i32 } %718, 1
  store i32 %720, ptr %5, align 4
  br label %787

721:                                              ; preds = %699, %695
  %722 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %723 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %722)
          to label %724 unwind label %717

724:                                              ; preds = %721
  br i1 %723, label %734, label %725

725:                                              ; preds = %724
  %726 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %727 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %726)
          to label %728 unwind label %717

728:                                              ; preds = %725
  br i1 %727, label %729, label %734

729:                                              ; preds = %728
  %730 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %731 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %732 = fcmp oeq x86_fp80 %730, %731
  br i1 %732, label %733, label %734

733:                                              ; preds = %729
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %749

734:                                              ; preds = %729, %728, %724
  %735 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %736 = fcmp olt x86_fp80 %735, 0xK3FD0B424DC35095CD800
  br i1 %736, label %737, label %738

737:                                              ; preds = %734
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %748

738:                                              ; preds = %734
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %739 unwind label %717

739:                                              ; preds = %738
  %740 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %741 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %742 = 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 %740, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %741, x86_fp80 noundef %742, x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %743 unwind label %744

743:                                              ; preds = %739
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %748

744:                                              ; preds = %739
  %745 = landingpad { ptr, i32 }
          cleanup
  %746 = extractvalue { ptr, i32 } %745, 0
  store ptr %746, ptr %4, align 8
  %747 = extractvalue { ptr, i32 } %745, 1
  store i32 %747, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %787

748:                                              ; preds = %743, %737
  br label %749

749:                                              ; preds = %748, %733
  br label %750

750:                                              ; preds = %749, %700
  %751 = load i8, ptr %51, align 1, !tbaa !11, !range !13, !noundef !14
  %752 = trunc i8 %751 to i1
  br i1 %752, label %753, label %762

753:                                              ; preds = %750
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %754 unwind label %717

754:                                              ; preds = %753
  %755 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %756 = 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 %755, x86_fp80 noundef %756, x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %757 unwind label %758

757:                                              ; preds = %754
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %762

758:                                              ; preds = %754
  %759 = landingpad { ptr, i32 }
          cleanup
  %760 = extractvalue { ptr, i32 } %759, 0
  store ptr %760, ptr %4, align 8
  %761 = extractvalue { ptr, i32 } %759, 1
  store i32 %761, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %787

762:                                              ; preds = %757, %750
  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
  %763 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %764 = add nsw i32 %763, 1
  store i32 %764, 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 %765 unwind label %791

765:                                              ; preds = %762
  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
  %766 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B) #7
  store x86_fp80 %766, ptr %56, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #7
  %767 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %768 unwind label %795

768:                                              ; preds = %765
  store x86_fp80 %767, ptr %57, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #7
  %769 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %770 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %771 = fsub x86_fp80 %769, %770
  %772 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %771)
          to label %773 unwind label %799

773:                                              ; preds = %768
  %774 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %775 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %774)
          to label %776 unwind label %799

776:                                              ; preds = %773
  %777 = fadd x86_fp80 0xK3FFF8000000000000000, %775
  %778 = fdiv x86_fp80 %772, %777
  store x86_fp80 %778, 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
  %779 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %780 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %779)
          to label %781 unwind label %803

781:                                              ; preds = %776
  br i1 %780, label %782, label %807

782:                                              ; preds = %781
  %783 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %784 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %783)
          to label %785 unwind label %803

785:                                              ; preds = %782
  br i1 %784, label %786, label %807

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

787:                                              ; preds = %758, %744, %717
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  br label %788

788:                                              ; preds = %787, %713
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  br label %789

789:                                              ; preds = %788, %709
  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 %790

790:                                              ; preds = %789, %705
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  br label %2814

791:                                              ; preds = %762
  %792 = landingpad { ptr, i32 }
          cleanup
  %793 = extractvalue { ptr, i32 } %792, 0
  store ptr %793, ptr %4, align 8
  %794 = extractvalue { ptr, i32 } %792, 1
  store i32 %794, 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 %876

795:                                              ; preds = %765
  %796 = landingpad { ptr, i32 }
          cleanup
  %797 = extractvalue { ptr, i32 } %796, 0
  store ptr %797, ptr %4, align 8
  %798 = extractvalue { ptr, i32 } %796, 1
  store i32 %798, ptr %5, align 4
  br label %875

799:                                              ; preds = %773, %768
  %800 = landingpad { ptr, i32 }
          cleanup
  %801 = extractvalue { ptr, i32 } %800, 0
  store ptr %801, ptr %4, align 8
  %802 = extractvalue { ptr, i32 } %800, 1
  store i32 %802, ptr %5, align 4
  br label %874

803:                                              ; preds = %839, %824, %811, %807, %782, %776
  %804 = landingpad { ptr, i32 }
          cleanup
  %805 = extractvalue { ptr, i32 } %804, 0
  store ptr %805, ptr %4, align 8
  %806 = extractvalue { ptr, i32 } %804, 1
  store i32 %806, ptr %5, align 4
  br label %873

807:                                              ; preds = %785, %781
  %808 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %809 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %808)
          to label %810 unwind label %803

810:                                              ; preds = %807
  br i1 %809, label %820, label %811

811:                                              ; preds = %810
  %812 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %813 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %812)
          to label %814 unwind label %803

814:                                              ; preds = %811
  br i1 %813, label %815, label %820

815:                                              ; preds = %814
  %816 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %817 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %818 = fcmp oeq x86_fp80 %816, %817
  br i1 %818, label %819, label %820

819:                                              ; preds = %815
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %835

820:                                              ; preds = %815, %814, %810
  %821 = load x86_fp80, ptr %58, align 16, !tbaa !9
  %822 = fcmp olt x86_fp80 %821, 0xK3FD0B424DC35095CD800
  br i1 %822, label %823, label %824

823:                                              ; preds = %820
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %834

824:                                              ; preds = %820
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %825 unwind label %803

825:                                              ; preds = %824
  %826 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %827 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %828 = 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 %826, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %827, x86_fp80 noundef %828, x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %829 unwind label %830

829:                                              ; preds = %825
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %834

830:                                              ; preds = %825
  %831 = landingpad { ptr, i32 }
          cleanup
  %832 = extractvalue { ptr, i32 } %831, 0
  store ptr %832, ptr %4, align 8
  %833 = extractvalue { ptr, i32 } %831, 1
  store i32 %833, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %873

834:                                              ; preds = %829, %823
  br label %835

835:                                              ; preds = %834, %819
  br label %836

836:                                              ; preds = %835, %786
  %837 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %838 = trunc i8 %837 to i1
  br i1 %838, label %839, label %848

839:                                              ; preds = %836
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %840 unwind label %803

840:                                              ; preds = %839
  %841 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %842 = 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 %841, x86_fp80 noundef %842, x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %843 unwind label %844

843:                                              ; preds = %840
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %848

844:                                              ; preds = %840
  %845 = landingpad { ptr, i32 }
          cleanup
  %846 = extractvalue { ptr, i32 } %845, 0
  store ptr %846, ptr %4, align 8
  %847 = extractvalue { ptr, i32 } %845, 1
  store i32 %847, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %873

848:                                              ; preds = %843, %836
  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
  %849 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %850 = add nsw i32 %849, 1
  store i32 %850, 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 %851 unwind label %877

851:                                              ; preds = %848
  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
  %852 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148) #7
  store x86_fp80 %852, ptr %64, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #7
  %853 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %854 unwind label %881

854:                                              ; preds = %851
  store x86_fp80 %853, ptr %65, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #7
  %855 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %856 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %857 = fsub x86_fp80 %855, %856
  %858 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %857)
          to label %859 unwind label %885

859:                                              ; preds = %854
  %860 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %861 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %860)
          to label %862 unwind label %885

862:                                              ; preds = %859
  %863 = fadd x86_fp80 0xK3FFF8000000000000000, %861
  %864 = fdiv x86_fp80 %858, %863
  store x86_fp80 %864, 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
  %865 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %866 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %865)
          to label %867 unwind label %889

867:                                              ; preds = %862
  br i1 %866, label %868, label %893

868:                                              ; preds = %867
  %869 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %870 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %869)
          to label %871 unwind label %889

871:                                              ; preds = %868
  br i1 %870, label %872, label %893

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

873:                                              ; preds = %844, %830, %803
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  br label %874

874:                                              ; preds = %873, %799
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  br label %875

875:                                              ; preds = %874, %795
  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 %876

876:                                              ; preds = %875, %791
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  br label %2814

877:                                              ; preds = %848
  %878 = landingpad { ptr, i32 }
          cleanup
  %879 = extractvalue { ptr, i32 } %878, 0
  store ptr %879, ptr %4, align 8
  %880 = extractvalue { ptr, i32 } %878, 1
  store i32 %880, 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 %962

881:                                              ; preds = %851
  %882 = landingpad { ptr, i32 }
          cleanup
  %883 = extractvalue { ptr, i32 } %882, 0
  store ptr %883, ptr %4, align 8
  %884 = extractvalue { ptr, i32 } %882, 1
  store i32 %884, ptr %5, align 4
  br label %961

885:                                              ; preds = %859, %854
  %886 = landingpad { ptr, i32 }
          cleanup
  %887 = extractvalue { ptr, i32 } %886, 0
  store ptr %887, ptr %4, align 8
  %888 = extractvalue { ptr, i32 } %886, 1
  store i32 %888, ptr %5, align 4
  br label %960

889:                                              ; preds = %925, %910, %897, %893, %868, %862
  %890 = landingpad { ptr, i32 }
          cleanup
  %891 = extractvalue { ptr, i32 } %890, 0
  store ptr %891, ptr %4, align 8
  %892 = extractvalue { ptr, i32 } %890, 1
  store i32 %892, ptr %5, align 4
  br label %959

893:                                              ; preds = %871, %867
  %894 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %895 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %894)
          to label %896 unwind label %889

896:                                              ; preds = %893
  br i1 %895, label %906, label %897

897:                                              ; preds = %896
  %898 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %899 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %898)
          to label %900 unwind label %889

900:                                              ; preds = %897
  br i1 %899, label %901, label %906

901:                                              ; preds = %900
  %902 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %903 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %904 = fcmp oeq x86_fp80 %902, %903
  br i1 %904, label %905, label %906

905:                                              ; preds = %901
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %921

906:                                              ; preds = %901, %900, %896
  %907 = load x86_fp80, ptr %66, align 16, !tbaa !9
  %908 = fcmp olt x86_fp80 %907, 0xK3FD0B424DC35095CD800
  br i1 %908, label %909, label %910

909:                                              ; preds = %906
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %920

910:                                              ; preds = %906
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %911 unwind label %889

911:                                              ; preds = %910
  %912 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %913 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %914 = 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 %912, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %913, x86_fp80 noundef %914, x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %915 unwind label %916

915:                                              ; preds = %911
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %920

916:                                              ; preds = %911
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %4, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %959

920:                                              ; preds = %915, %909
  br label %921

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

922:                                              ; preds = %921, %872
  %923 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %924 = trunc i8 %923 to i1
  br i1 %924, label %925, label %934

925:                                              ; preds = %922
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %926 unwind label %889

926:                                              ; preds = %925
  %927 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %928 = 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 %927, x86_fp80 noundef %928, x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %929 unwind label %930

929:                                              ; preds = %926
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %934

930:                                              ; preds = %926
  %931 = landingpad { ptr, i32 }
          cleanup
  %932 = extractvalue { ptr, i32 } %931, 0
  store ptr %932, ptr %4, align 8
  %933 = extractvalue { ptr, i32 } %931, 1
  store i32 %933, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %959

934:                                              ; preds = %929, %922
  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
  %935 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %936 = add nsw i32 %935, 1
  store i32 %936, 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 %937 unwind label %963

937:                                              ; preds = %934
  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
  %938 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000) #7
  store x86_fp80 %938, ptr %72, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #7
  %939 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %940 unwind label %967

940:                                              ; preds = %937
  store x86_fp80 %939, ptr %73, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #7
  %941 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %942 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %943 = fsub x86_fp80 %941, %942
  %944 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %943)
          to label %945 unwind label %971

945:                                              ; preds = %940
  %946 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %947 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %946)
          to label %948 unwind label %971

948:                                              ; preds = %945
  %949 = fadd x86_fp80 0xK3FFF8000000000000000, %947
  %950 = fdiv x86_fp80 %944, %949
  store x86_fp80 %950, 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
  %951 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %952 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %951)
          to label %953 unwind label %975

953:                                              ; preds = %948
  br i1 %952, label %954, label %979

954:                                              ; preds = %953
  %955 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %956 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %955)
          to label %957 unwind label %975

957:                                              ; preds = %954
  br i1 %956, label %958, label %979

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

959:                                              ; preds = %930, %916, %889
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  br label %960

960:                                              ; preds = %959, %885
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  br label %961

961:                                              ; preds = %960, %881
  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 %962

962:                                              ; preds = %961, %877
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  br label %2814

963:                                              ; preds = %934
  %964 = landingpad { ptr, i32 }
          cleanup
  %965 = extractvalue { ptr, i32 } %964, 0
  store ptr %965, ptr %4, align 8
  %966 = extractvalue { ptr, i32 } %964, 1
  store i32 %966, 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 %1048

967:                                              ; preds = %937
  %968 = landingpad { ptr, i32 }
          cleanup
  %969 = extractvalue { ptr, i32 } %968, 0
  store ptr %969, ptr %4, align 8
  %970 = extractvalue { ptr, i32 } %968, 1
  store i32 %970, ptr %5, align 4
  br label %1047

971:                                              ; preds = %945, %940
  %972 = landingpad { ptr, i32 }
          cleanup
  %973 = extractvalue { ptr, i32 } %972, 0
  store ptr %973, ptr %4, align 8
  %974 = extractvalue { ptr, i32 } %972, 1
  store i32 %974, ptr %5, align 4
  br label %1046

975:                                              ; preds = %1011, %996, %983, %979, %954, %948
  %976 = landingpad { ptr, i32 }
          cleanup
  %977 = extractvalue { ptr, i32 } %976, 0
  store ptr %977, ptr %4, align 8
  %978 = extractvalue { ptr, i32 } %976, 1
  store i32 %978, ptr %5, align 4
  br label %1045

979:                                              ; preds = %957, %953
  %980 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %981 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %980)
          to label %982 unwind label %975

982:                                              ; preds = %979
  br i1 %981, label %992, label %983

983:                                              ; preds = %982
  %984 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %985 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %984)
          to label %986 unwind label %975

986:                                              ; preds = %983
  br i1 %985, label %987, label %992

987:                                              ; preds = %986
  %988 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %989 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %990 = fcmp oeq x86_fp80 %988, %989
  br i1 %990, label %991, label %992

991:                                              ; preds = %987
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %1007

992:                                              ; preds = %987, %986, %982
  %993 = load x86_fp80, ptr %74, align 16, !tbaa !9
  %994 = fcmp olt x86_fp80 %993, 0xK3FD0B424DC35095CD800
  br i1 %994, label %995, label %996

995:                                              ; preds = %992
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %1006

996:                                              ; preds = %992
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %997 unwind label %975

997:                                              ; preds = %996
  %998 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %999 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %1000 = 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 %998, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %999, x86_fp80 noundef %1000, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %1001 unwind label %1002

1001:                                             ; preds = %997
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  br label %1006

1002:                                             ; preds = %997
  %1003 = landingpad { ptr, i32 }
          cleanup
  %1004 = extractvalue { ptr, i32 } %1003, 0
  store ptr %1004, ptr %4, align 8
  %1005 = extractvalue { ptr, i32 } %1003, 1
  store i32 %1005, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  br label %1045

1006:                                             ; preds = %1001, %995
  br label %1007

1007:                                             ; preds = %1006, %991
  br label %1008

1008:                                             ; preds = %1007, %958
  %1009 = load i8, ptr %75, align 1, !tbaa !11, !range !13, !noundef !14
  %1010 = trunc i8 %1009 to i1
  br i1 %1010, label %1011, label %1020

1011:                                             ; preds = %1008
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %1012 unwind label %975

1012:                                             ; preds = %1011
  %1013 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %1014 = 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 %1013, x86_fp80 noundef %1014, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %1015 unwind label %1016

1015:                                             ; preds = %1012
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %1020

1016:                                             ; preds = %1012
  %1017 = landingpad { ptr, i32 }
          cleanup
  %1018 = extractvalue { ptr, i32 } %1017, 0
  store ptr %1018, ptr %4, align 8
  %1019 = extractvalue { ptr, i32 } %1017, 1
  store i32 %1019, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %1045

1020:                                             ; preds = %1015, %1008
  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
  %1021 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1022 = add nsw i32 %1021, 1
  store i32 %1022, 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 %1023 unwind label %1049

1023:                                             ; preds = %1020
  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
  %1024 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000) #7
  store x86_fp80 %1024, ptr %80, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %81) #7
  %1025 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %1026 unwind label %1053

1026:                                             ; preds = %1023
  store x86_fp80 %1025, ptr %81, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %82) #7
  %1027 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1028 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %1029 = fsub x86_fp80 %1027, %1028
  %1030 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1029)
          to label %1031 unwind label %1057

1031:                                             ; preds = %1026
  %1032 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %1033 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1032)
          to label %1034 unwind label %1057

1034:                                             ; preds = %1031
  %1035 = fadd x86_fp80 0xK3FFF8000000000000000, %1033
  %1036 = fdiv x86_fp80 %1030, %1035
  store x86_fp80 %1036, 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
  %1037 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1038 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1037)
          to label %1039 unwind label %1061

1039:                                             ; preds = %1034
  br i1 %1038, label %1040, label %1065

1040:                                             ; preds = %1039
  %1041 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %1042 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1041)
          to label %1043 unwind label %1061

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

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

1045:                                             ; preds = %1016, %1002, %975
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  br label %1046

1046:                                             ; preds = %1045, %971
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  br label %1047

1047:                                             ; preds = %1046, %967
  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 %1048

1048:                                             ; preds = %1047, %963
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %2814

1049:                                             ; preds = %1020
  %1050 = landingpad { ptr, i32 }
          cleanup
  %1051 = extractvalue { ptr, i32 } %1050, 0
  store ptr %1051, ptr %4, align 8
  %1052 = extractvalue { ptr, i32 } %1050, 1
  store i32 %1052, 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 %1134

1053:                                             ; preds = %1023
  %1054 = landingpad { ptr, i32 }
          cleanup
  %1055 = extractvalue { ptr, i32 } %1054, 0
  store ptr %1055, ptr %4, align 8
  %1056 = extractvalue { ptr, i32 } %1054, 1
  store i32 %1056, ptr %5, align 4
  br label %1133

1057:                                             ; preds = %1031, %1026
  %1058 = landingpad { ptr, i32 }
          cleanup
  %1059 = extractvalue { ptr, i32 } %1058, 0
  store ptr %1059, ptr %4, align 8
  %1060 = extractvalue { ptr, i32 } %1058, 1
  store i32 %1060, ptr %5, align 4
  br label %1132

1061:                                             ; preds = %1097, %1082, %1069, %1065, %1040, %1034
  %1062 = landingpad { ptr, i32 }
          cleanup
  %1063 = extractvalue { ptr, i32 } %1062, 0
  store ptr %1063, ptr %4, align 8
  %1064 = extractvalue { ptr, i32 } %1062, 1
  store i32 %1064, ptr %5, align 4
  br label %1131

1065:                                             ; preds = %1043, %1039
  %1066 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1067 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1066)
          to label %1068 unwind label %1061

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

1069:                                             ; preds = %1068
  %1070 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1071 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1070)
          to label %1072 unwind label %1061

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

1073:                                             ; preds = %1072
  %1074 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1075 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %1076 = fcmp oeq x86_fp80 %1074, %1075
  br i1 %1076, label %1077, label %1078

1077:                                             ; preds = %1073
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %1093

1078:                                             ; preds = %1073, %1072, %1068
  %1079 = load x86_fp80, ptr %82, align 16, !tbaa !9
  %1080 = fcmp olt x86_fp80 %1079, 0xK3FD0B424DC35095CD800
  br i1 %1080, label %1081, label %1082

1081:                                             ; preds = %1078
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %1092

1082:                                             ; preds = %1078
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %1083 unwind label %1061

1083:                                             ; preds = %1082
  %1084 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1085 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1086 = 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 %1084, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1085, x86_fp80 noundef %1086, x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %1087 unwind label %1088

1087:                                             ; preds = %1083
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %1092

1088:                                             ; preds = %1083
  %1089 = landingpad { ptr, i32 }
          cleanup
  %1090 = extractvalue { ptr, i32 } %1089, 0
  store ptr %1090, ptr %4, align 8
  %1091 = extractvalue { ptr, i32 } %1089, 1
  store i32 %1091, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %1131

1092:                                             ; preds = %1087, %1081
  br label %1093

1093:                                             ; preds = %1092, %1077
  br label %1094

1094:                                             ; preds = %1093, %1044
  %1095 = load i8, ptr %83, align 1, !tbaa !11, !range !13, !noundef !14
  %1096 = trunc i8 %1095 to i1
  br i1 %1096, label %1097, label %1106

1097:                                             ; preds = %1094
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %1098 unwind label %1061

1098:                                             ; preds = %1097
  %1099 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1100 = 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 %1099, x86_fp80 noundef %1100, x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %1101 unwind label %1102

1101:                                             ; preds = %1098
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %1106

1102:                                             ; preds = %1098
  %1103 = landingpad { ptr, i32 }
          cleanup
  %1104 = extractvalue { ptr, i32 } %1103, 0
  store ptr %1104, ptr %4, align 8
  %1105 = extractvalue { ptr, i32 } %1103, 1
  store i32 %1105, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %1131

1106:                                             ; preds = %1101, %1094
  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
  %1107 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1108 = add nsw i32 %1107, 1
  store i32 %1108, 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 %1109 unwind label %1135

1109:                                             ; preds = %1106
  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
  %1110 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000) #7
  store x86_fp80 %1110, ptr %88, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %89) #7
  %1111 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %1112 unwind label %1139

1112:                                             ; preds = %1109
  store x86_fp80 %1111, ptr %89, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %90) #7
  %1113 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1114 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1115 = fsub x86_fp80 %1113, %1114
  %1116 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1115)
          to label %1117 unwind label %1143

1117:                                             ; preds = %1112
  %1118 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1119 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1118)
          to label %1120 unwind label %1143

1120:                                             ; preds = %1117
  %1121 = fadd x86_fp80 0xK3FFF8000000000000000, %1119
  %1122 = fdiv x86_fp80 %1116, %1121
  store x86_fp80 %1122, 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
  %1123 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1124 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1123)
          to label %1125 unwind label %1147

1125:                                             ; preds = %1120
  br i1 %1124, label %1126, label %1151

1126:                                             ; preds = %1125
  %1127 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1128 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1127)
          to label %1129 unwind label %1147

1129:                                             ; preds = %1126
  br i1 %1128, label %1130, label %1151

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

1131:                                             ; preds = %1102, %1088, %1061
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #7
  br label %1132

1132:                                             ; preds = %1131, %1057
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  br label %1133

1133:                                             ; preds = %1132, %1053
  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 %1134

1134:                                             ; preds = %1133, %1049
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  br label %2814

1135:                                             ; preds = %1106
  %1136 = landingpad { ptr, i32 }
          cleanup
  %1137 = extractvalue { ptr, i32 } %1136, 0
  store ptr %1137, ptr %4, align 8
  %1138 = extractvalue { ptr, i32 } %1136, 1
  store i32 %1138, 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 %1220

1139:                                             ; preds = %1109
  %1140 = landingpad { ptr, i32 }
          cleanup
  %1141 = extractvalue { ptr, i32 } %1140, 0
  store ptr %1141, ptr %4, align 8
  %1142 = extractvalue { ptr, i32 } %1140, 1
  store i32 %1142, ptr %5, align 4
  br label %1219

1143:                                             ; preds = %1117, %1112
  %1144 = landingpad { ptr, i32 }
          cleanup
  %1145 = extractvalue { ptr, i32 } %1144, 0
  store ptr %1145, ptr %4, align 8
  %1146 = extractvalue { ptr, i32 } %1144, 1
  store i32 %1146, ptr %5, align 4
  br label %1218

1147:                                             ; preds = %1183, %1168, %1155, %1151, %1126, %1120
  %1148 = landingpad { ptr, i32 }
          cleanup
  %1149 = extractvalue { ptr, i32 } %1148, 0
  store ptr %1149, ptr %4, align 8
  %1150 = extractvalue { ptr, i32 } %1148, 1
  store i32 %1150, ptr %5, align 4
  br label %1217

1151:                                             ; preds = %1129, %1125
  %1152 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1153 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1152)
          to label %1154 unwind label %1147

1154:                                             ; preds = %1151
  br i1 %1153, label %1164, label %1155

1155:                                             ; preds = %1154
  %1156 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1157 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1156)
          to label %1158 unwind label %1147

1158:                                             ; preds = %1155
  br i1 %1157, label %1159, label %1164

1159:                                             ; preds = %1158
  %1160 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1161 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1162 = fcmp oeq x86_fp80 %1160, %1161
  br i1 %1162, label %1163, label %1164

1163:                                             ; preds = %1159
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1179

1164:                                             ; preds = %1159, %1158, %1154
  %1165 = load x86_fp80, ptr %90, align 16, !tbaa !9
  %1166 = fcmp olt x86_fp80 %1165, 0xK3FD0B424DC35095CD800
  br i1 %1166, label %1167, label %1168

1167:                                             ; preds = %1164
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1178

1168:                                             ; preds = %1164
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1169 unwind label %1147

1169:                                             ; preds = %1168
  %1170 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1171 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1172 = 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 %1170, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1171, x86_fp80 noundef %1172, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %1173 unwind label %1174

1173:                                             ; preds = %1169
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1178

1174:                                             ; preds = %1169
  %1175 = landingpad { ptr, i32 }
          cleanup
  %1176 = extractvalue { ptr, i32 } %1175, 0
  store ptr %1176, ptr %4, align 8
  %1177 = extractvalue { ptr, i32 } %1175, 1
  store i32 %1177, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1217

1178:                                             ; preds = %1173, %1167
  br label %1179

1179:                                             ; preds = %1178, %1163
  br label %1180

1180:                                             ; preds = %1179, %1130
  %1181 = load i8, ptr %91, align 1, !tbaa !11, !range !13, !noundef !14
  %1182 = trunc i8 %1181 to i1
  br i1 %1182, label %1183, label %1192

1183:                                             ; preds = %1180
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1184 unwind label %1147

1184:                                             ; preds = %1183
  %1185 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1186 = 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 %1185, x86_fp80 noundef %1186, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %1187 unwind label %1188

1187:                                             ; preds = %1184
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1192

1188:                                             ; preds = %1184
  %1189 = landingpad { ptr, i32 }
          cleanup
  %1190 = extractvalue { ptr, i32 } %1189, 0
  store ptr %1190, ptr %4, align 8
  %1191 = extractvalue { ptr, i32 } %1189, 1
  store i32 %1191, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1217

1192:                                             ; preds = %1187, %1180
  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
  %1193 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1194 = add nsw i32 %1193, 1
  store i32 %1194, 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 %1195 unwind label %1221

1195:                                             ; preds = %1192
  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
  %1196 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666) #7
  store x86_fp80 %1196, ptr %96, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #7
  %1197 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %1198 unwind label %1225

1198:                                             ; preds = %1195
  store x86_fp80 %1197, ptr %97, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %98) #7
  %1199 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1200 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1201 = fsub x86_fp80 %1199, %1200
  %1202 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1201)
          to label %1203 unwind label %1229

1203:                                             ; preds = %1198
  %1204 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1205 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1204)
          to label %1206 unwind label %1229

1206:                                             ; preds = %1203
  %1207 = fadd x86_fp80 0xK3FFF8000000000000000, %1205
  %1208 = fdiv x86_fp80 %1202, %1207
  store x86_fp80 %1208, 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
  %1209 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1210 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1209)
          to label %1211 unwind label %1233

1211:                                             ; preds = %1206
  br i1 %1210, label %1212, label %1237

1212:                                             ; preds = %1211
  %1213 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1214 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1213)
          to label %1215 unwind label %1233

1215:                                             ; preds = %1212
  br i1 %1214, label %1216, label %1237

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

1217:                                             ; preds = %1188, %1174, %1147
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  br label %1218

1218:                                             ; preds = %1217, %1143
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  br label %1219

1219:                                             ; preds = %1218, %1139
  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 %1220

1220:                                             ; preds = %1219, %1135
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  br label %2814

1221:                                             ; preds = %1192
  %1222 = landingpad { ptr, i32 }
          cleanup
  %1223 = extractvalue { ptr, i32 } %1222, 0
  store ptr %1223, ptr %4, align 8
  %1224 = extractvalue { ptr, i32 } %1222, 1
  store i32 %1224, 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 %1306

1225:                                             ; preds = %1195
  %1226 = landingpad { ptr, i32 }
          cleanup
  %1227 = extractvalue { ptr, i32 } %1226, 0
  store ptr %1227, ptr %4, align 8
  %1228 = extractvalue { ptr, i32 } %1226, 1
  store i32 %1228, ptr %5, align 4
  br label %1305

1229:                                             ; preds = %1203, %1198
  %1230 = landingpad { ptr, i32 }
          cleanup
  %1231 = extractvalue { ptr, i32 } %1230, 0
  store ptr %1231, ptr %4, align 8
  %1232 = extractvalue { ptr, i32 } %1230, 1
  store i32 %1232, ptr %5, align 4
  br label %1304

1233:                                             ; preds = %1269, %1254, %1241, %1237, %1212, %1206
  %1234 = landingpad { ptr, i32 }
          cleanup
  %1235 = extractvalue { ptr, i32 } %1234, 0
  store ptr %1235, ptr %4, align 8
  %1236 = extractvalue { ptr, i32 } %1234, 1
  store i32 %1236, ptr %5, align 4
  br label %1303

1237:                                             ; preds = %1215, %1211
  %1238 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1239 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1238)
          to label %1240 unwind label %1233

1240:                                             ; preds = %1237
  br i1 %1239, label %1250, label %1241

1241:                                             ; preds = %1240
  %1242 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1243 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1242)
          to label %1244 unwind label %1233

1244:                                             ; preds = %1241
  br i1 %1243, label %1245, label %1250

1245:                                             ; preds = %1244
  %1246 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1247 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1248 = fcmp oeq x86_fp80 %1246, %1247
  br i1 %1248, label %1249, label %1250

1249:                                             ; preds = %1245
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1265

1250:                                             ; preds = %1245, %1244, %1240
  %1251 = load x86_fp80, ptr %98, align 16, !tbaa !9
  %1252 = fcmp olt x86_fp80 %1251, 0xK3FD0B424DC35095CD800
  br i1 %1252, label %1253, label %1254

1253:                                             ; preds = %1250
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1264

1254:                                             ; preds = %1250
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1255 unwind label %1233

1255:                                             ; preds = %1254
  %1256 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1257 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1258 = 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 %1256, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1257, x86_fp80 noundef %1258, x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %1259 unwind label %1260

1259:                                             ; preds = %1255
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1264

1260:                                             ; preds = %1255
  %1261 = landingpad { ptr, i32 }
          cleanup
  %1262 = extractvalue { ptr, i32 } %1261, 0
  store ptr %1262, ptr %4, align 8
  %1263 = extractvalue { ptr, i32 } %1261, 1
  store i32 %1263, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1303

1264:                                             ; preds = %1259, %1253
  br label %1265

1265:                                             ; preds = %1264, %1249
  br label %1266

1266:                                             ; preds = %1265, %1216
  %1267 = load i8, ptr %99, align 1, !tbaa !11, !range !13, !noundef !14
  %1268 = trunc i8 %1267 to i1
  br i1 %1268, label %1269, label %1278

1269:                                             ; preds = %1266
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1270 unwind label %1233

1270:                                             ; preds = %1269
  %1271 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1272 = 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 %1271, x86_fp80 noundef %1272, x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %1273 unwind label %1274

1273:                                             ; preds = %1270
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1278

1274:                                             ; preds = %1270
  %1275 = landingpad { ptr, i32 }
          cleanup
  %1276 = extractvalue { ptr, i32 } %1275, 0
  store ptr %1276, ptr %4, align 8
  %1277 = extractvalue { ptr, i32 } %1275, 1
  store i32 %1277, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1303

1278:                                             ; preds = %1273, %1266
  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
  %1279 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1280 = add nsw i32 %1279, 1
  store i32 %1280, 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 %1281 unwind label %1307

1281:                                             ; preds = %1278
  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
  %1282 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %1282, ptr %104, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %105) #7
  %1283 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1284 unwind label %1311

1284:                                             ; preds = %1281
  store x86_fp80 %1283, ptr %105, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #7
  %1285 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1286 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1287 = fsub x86_fp80 %1285, %1286
  %1288 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1287)
          to label %1289 unwind label %1315

1289:                                             ; preds = %1284
  %1290 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1291 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1290)
          to label %1292 unwind label %1315

1292:                                             ; preds = %1289
  %1293 = fadd x86_fp80 0xK3FFF8000000000000000, %1291
  %1294 = fdiv x86_fp80 %1288, %1293
  store x86_fp80 %1294, 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
  %1295 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1296 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1295)
          to label %1297 unwind label %1319

1297:                                             ; preds = %1292
  br i1 %1296, label %1298, label %1323

1298:                                             ; preds = %1297
  %1299 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1300 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1299)
          to label %1301 unwind label %1319

1301:                                             ; preds = %1298
  br i1 %1300, label %1302, label %1323

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

1303:                                             ; preds = %1274, %1260, %1233
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #7
  br label %1304

1304:                                             ; preds = %1303, %1229
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #7
  br label %1305

1305:                                             ; preds = %1304, %1225
  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 %1306

1306:                                             ; preds = %1305, %1221
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  br label %2814

1307:                                             ; preds = %1278
  %1308 = landingpad { ptr, i32 }
          cleanup
  %1309 = extractvalue { ptr, i32 } %1308, 0
  store ptr %1309, ptr %4, align 8
  %1310 = extractvalue { ptr, i32 } %1308, 1
  store i32 %1310, 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 %1392

1311:                                             ; preds = %1281
  %1312 = landingpad { ptr, i32 }
          cleanup
  %1313 = extractvalue { ptr, i32 } %1312, 0
  store ptr %1313, ptr %4, align 8
  %1314 = extractvalue { ptr, i32 } %1312, 1
  store i32 %1314, ptr %5, align 4
  br label %1391

1315:                                             ; preds = %1289, %1284
  %1316 = landingpad { ptr, i32 }
          cleanup
  %1317 = extractvalue { ptr, i32 } %1316, 0
  store ptr %1317, ptr %4, align 8
  %1318 = extractvalue { ptr, i32 } %1316, 1
  store i32 %1318, ptr %5, align 4
  br label %1390

1319:                                             ; preds = %1355, %1340, %1327, %1323, %1298, %1292
  %1320 = landingpad { ptr, i32 }
          cleanup
  %1321 = extractvalue { ptr, i32 } %1320, 0
  store ptr %1321, ptr %4, align 8
  %1322 = extractvalue { ptr, i32 } %1320, 1
  store i32 %1322, ptr %5, align 4
  br label %1389

1323:                                             ; preds = %1301, %1297
  %1324 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1325 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1324)
          to label %1326 unwind label %1319

1326:                                             ; preds = %1323
  br i1 %1325, label %1336, label %1327

1327:                                             ; preds = %1326
  %1328 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1329 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1328)
          to label %1330 unwind label %1319

1330:                                             ; preds = %1327
  br i1 %1329, label %1331, label %1336

1331:                                             ; preds = %1330
  %1332 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1333 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1334 = fcmp oeq x86_fp80 %1332, %1333
  br i1 %1334, label %1335, label %1336

1335:                                             ; preds = %1331
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1351

1336:                                             ; preds = %1331, %1330, %1326
  %1337 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1338 = fcmp olt x86_fp80 %1337, 0xK3FD0B424DC35095CD800
  br i1 %1338, label %1339, label %1340

1339:                                             ; preds = %1336
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1350

1340:                                             ; preds = %1336
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1341 unwind label %1319

1341:                                             ; preds = %1340
  %1342 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1343 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1344 = 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 %1342, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1343, x86_fp80 noundef %1344, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1345 unwind label %1346

1345:                                             ; preds = %1341
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1350

1346:                                             ; preds = %1341
  %1347 = landingpad { ptr, i32 }
          cleanup
  %1348 = extractvalue { ptr, i32 } %1347, 0
  store ptr %1348, ptr %4, align 8
  %1349 = extractvalue { ptr, i32 } %1347, 1
  store i32 %1349, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1389

1350:                                             ; preds = %1345, %1339
  br label %1351

1351:                                             ; preds = %1350, %1335
  br label %1352

1352:                                             ; preds = %1351, %1302
  %1353 = load i8, ptr %107, align 1, !tbaa !11, !range !13, !noundef !14
  %1354 = trunc i8 %1353 to i1
  br i1 %1354, label %1355, label %1364

1355:                                             ; preds = %1352
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1356 unwind label %1319

1356:                                             ; preds = %1355
  %1357 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1358 = 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 %1357, x86_fp80 noundef %1358, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1359 unwind label %1360

1359:                                             ; preds = %1356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1364

1360:                                             ; preds = %1356
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %4, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1389

1364:                                             ; preds = %1359, %1352
  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
  %1365 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1366 = add nsw i32 %1365, 1
  store i32 %1366, 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 %1367 unwind label %1393

1367:                                             ; preds = %1364
  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
  %1368 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #7
  store x86_fp80 %1368, ptr %112, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #7
  %1369 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %1370 unwind label %1397

1370:                                             ; preds = %1367
  store x86_fp80 %1369, ptr %113, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #7
  %1371 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1372 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1373 = fsub x86_fp80 %1371, %1372
  %1374 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1373)
          to label %1375 unwind label %1401

1375:                                             ; preds = %1370
  %1376 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1377 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1376)
          to label %1378 unwind label %1401

1378:                                             ; preds = %1375
  %1379 = fadd x86_fp80 0xK3FFF8000000000000000, %1377
  %1380 = fdiv x86_fp80 %1374, %1379
  store x86_fp80 %1380, 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
  %1381 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1382 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1381)
          to label %1383 unwind label %1405

1383:                                             ; preds = %1378
  br i1 %1382, label %1384, label %1409

1384:                                             ; preds = %1383
  %1385 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1386 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1385)
          to label %1387 unwind label %1405

1387:                                             ; preds = %1384
  br i1 %1386, label %1388, label %1409

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

1389:                                             ; preds = %1360, %1346, %1319
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  br label %1390

1390:                                             ; preds = %1389, %1315
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  br label %1391

1391:                                             ; preds = %1390, %1311
  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 %1392

1392:                                             ; preds = %1391, %1307
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #7
  br label %2814

1393:                                             ; preds = %1364
  %1394 = landingpad { ptr, i32 }
          cleanup
  %1395 = extractvalue { ptr, i32 } %1394, 0
  store ptr %1395, ptr %4, align 8
  %1396 = extractvalue { ptr, i32 } %1394, 1
  store i32 %1396, 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 %1478

1397:                                             ; preds = %1367
  %1398 = landingpad { ptr, i32 }
          cleanup
  %1399 = extractvalue { ptr, i32 } %1398, 0
  store ptr %1399, ptr %4, align 8
  %1400 = extractvalue { ptr, i32 } %1398, 1
  store i32 %1400, ptr %5, align 4
  br label %1477

1401:                                             ; preds = %1375, %1370
  %1402 = landingpad { ptr, i32 }
          cleanup
  %1403 = extractvalue { ptr, i32 } %1402, 0
  store ptr %1403, ptr %4, align 8
  %1404 = extractvalue { ptr, i32 } %1402, 1
  store i32 %1404, ptr %5, align 4
  br label %1476

1405:                                             ; preds = %1441, %1426, %1413, %1409, %1384, %1378
  %1406 = landingpad { ptr, i32 }
          cleanup
  %1407 = extractvalue { ptr, i32 } %1406, 0
  store ptr %1407, ptr %4, align 8
  %1408 = extractvalue { ptr, i32 } %1406, 1
  store i32 %1408, ptr %5, align 4
  br label %1475

1409:                                             ; preds = %1387, %1383
  %1410 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1411 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1410)
          to label %1412 unwind label %1405

1412:                                             ; preds = %1409
  br i1 %1411, label %1422, label %1413

1413:                                             ; preds = %1412
  %1414 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1415 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1414)
          to label %1416 unwind label %1405

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

1417:                                             ; preds = %1416
  %1418 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1419 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1420 = fcmp oeq x86_fp80 %1418, %1419
  br i1 %1420, label %1421, label %1422

1421:                                             ; preds = %1417
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1437

1422:                                             ; preds = %1417, %1416, %1412
  %1423 = load x86_fp80, ptr %114, align 16, !tbaa !9
  %1424 = fcmp olt x86_fp80 %1423, 0xK3FD0B424DC35095CD800
  br i1 %1424, label %1425, label %1426

1425:                                             ; preds = %1422
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1436

1426:                                             ; preds = %1422
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1427 unwind label %1405

1427:                                             ; preds = %1426
  %1428 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1429 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1430 = 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 %1428, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1429, x86_fp80 noundef %1430, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %1431 unwind label %1432

1431:                                             ; preds = %1427
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1436

1432:                                             ; preds = %1427
  %1433 = landingpad { ptr, i32 }
          cleanup
  %1434 = extractvalue { ptr, i32 } %1433, 0
  store ptr %1434, ptr %4, align 8
  %1435 = extractvalue { ptr, i32 } %1433, 1
  store i32 %1435, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1475

1436:                                             ; preds = %1431, %1425
  br label %1437

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

1438:                                             ; preds = %1437, %1388
  %1439 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %1440 = trunc i8 %1439 to i1
  br i1 %1440, label %1441, label %1450

1441:                                             ; preds = %1438
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1442 unwind label %1405

1442:                                             ; preds = %1441
  %1443 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1444 = 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 %1443, x86_fp80 noundef %1444, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %1445 unwind label %1446

1445:                                             ; preds = %1442
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1450

1446:                                             ; preds = %1442
  %1447 = landingpad { ptr, i32 }
          cleanup
  %1448 = extractvalue { ptr, i32 } %1447, 0
  store ptr %1448, ptr %4, align 8
  %1449 = extractvalue { ptr, i32 } %1447, 1
  store i32 %1449, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1475

1450:                                             ; preds = %1445, %1438
  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
  %1451 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1452 = add nsw i32 %1451, 1
  store i32 %1452, 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 %1453 unwind label %1479

1453:                                             ; preds = %1450
  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
  %1454 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %1454, ptr %120, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #7
  %1455 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1456 unwind label %1483

1456:                                             ; preds = %1453
  store x86_fp80 %1455, ptr %121, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %122) #7
  %1457 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1458 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1459 = fsub x86_fp80 %1457, %1458
  %1460 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1459)
          to label %1461 unwind label %1487

1461:                                             ; preds = %1456
  %1462 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1463 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1462)
          to label %1464 unwind label %1487

1464:                                             ; preds = %1461
  %1465 = fadd x86_fp80 0xK3FFF8000000000000000, %1463
  %1466 = fdiv x86_fp80 %1460, %1465
  store x86_fp80 %1466, 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
  %1467 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1468 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1467)
          to label %1469 unwind label %1491

1469:                                             ; preds = %1464
  br i1 %1468, label %1470, label %1495

1470:                                             ; preds = %1469
  %1471 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1472 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1471)
          to label %1473 unwind label %1491

1473:                                             ; preds = %1470
  br i1 %1472, label %1474, label %1495

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

1475:                                             ; preds = %1446, %1432, %1405
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  br label %1476

1476:                                             ; preds = %1475, %1401
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #7
  br label %1477

1477:                                             ; preds = %1476, %1397
  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 %1478

1478:                                             ; preds = %1477, %1393
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  br label %2814

1479:                                             ; preds = %1450
  %1480 = landingpad { ptr, i32 }
          cleanup
  %1481 = extractvalue { ptr, i32 } %1480, 0
  store ptr %1481, ptr %4, align 8
  %1482 = extractvalue { ptr, i32 } %1480, 1
  store i32 %1482, 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 %1564

1483:                                             ; preds = %1453
  %1484 = landingpad { ptr, i32 }
          cleanup
  %1485 = extractvalue { ptr, i32 } %1484, 0
  store ptr %1485, ptr %4, align 8
  %1486 = extractvalue { ptr, i32 } %1484, 1
  store i32 %1486, ptr %5, align 4
  br label %1563

1487:                                             ; preds = %1461, %1456
  %1488 = landingpad { ptr, i32 }
          cleanup
  %1489 = extractvalue { ptr, i32 } %1488, 0
  store ptr %1489, ptr %4, align 8
  %1490 = extractvalue { ptr, i32 } %1488, 1
  store i32 %1490, ptr %5, align 4
  br label %1562

1491:                                             ; preds = %1527, %1512, %1499, %1495, %1470, %1464
  %1492 = landingpad { ptr, i32 }
          cleanup
  %1493 = extractvalue { ptr, i32 } %1492, 0
  store ptr %1493, ptr %4, align 8
  %1494 = extractvalue { ptr, i32 } %1492, 1
  store i32 %1494, ptr %5, align 4
  br label %1561

1495:                                             ; preds = %1473, %1469
  %1496 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1497 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1496)
          to label %1498 unwind label %1491

1498:                                             ; preds = %1495
  br i1 %1497, label %1508, label %1499

1499:                                             ; preds = %1498
  %1500 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1501 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1500)
          to label %1502 unwind label %1491

1502:                                             ; preds = %1499
  br i1 %1501, label %1503, label %1508

1503:                                             ; preds = %1502
  %1504 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1505 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1506 = fcmp oeq x86_fp80 %1504, %1505
  br i1 %1506, label %1507, label %1508

1507:                                             ; preds = %1503
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1523

1508:                                             ; preds = %1503, %1502, %1498
  %1509 = load x86_fp80, ptr %122, align 16, !tbaa !9
  %1510 = fcmp olt x86_fp80 %1509, 0xK3FD0B424DC35095CD800
  br i1 %1510, label %1511, label %1512

1511:                                             ; preds = %1508
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1522

1512:                                             ; preds = %1508
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1513 unwind label %1491

1513:                                             ; preds = %1512
  %1514 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1515 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1516 = 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 %1514, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1515, x86_fp80 noundef %1516, x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1517 unwind label %1518

1517:                                             ; preds = %1513
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %1522

1518:                                             ; preds = %1513
  %1519 = landingpad { ptr, i32 }
          cleanup
  %1520 = extractvalue { ptr, i32 } %1519, 0
  store ptr %1520, ptr %4, align 8
  %1521 = extractvalue { ptr, i32 } %1519, 1
  store i32 %1521, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %1561

1522:                                             ; preds = %1517, %1511
  br label %1523

1523:                                             ; preds = %1522, %1507
  br label %1524

1524:                                             ; preds = %1523, %1474
  %1525 = load i8, ptr %123, align 1, !tbaa !11, !range !13, !noundef !14
  %1526 = trunc i8 %1525 to i1
  br i1 %1526, label %1527, label %1536

1527:                                             ; preds = %1524
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1528 unwind label %1491

1528:                                             ; preds = %1527
  %1529 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1530 = 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 %1529, x86_fp80 noundef %1530, x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %1531 unwind label %1532

1531:                                             ; preds = %1528
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  br label %1536

1532:                                             ; preds = %1528
  %1533 = landingpad { ptr, i32 }
          cleanup
  %1534 = extractvalue { ptr, i32 } %1533, 0
  store ptr %1534, ptr %4, align 8
  %1535 = extractvalue { ptr, i32 } %1533, 1
  store i32 %1535, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  br label %1561

1536:                                             ; preds = %1531, %1524
  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
  %1537 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1538 = add nsw i32 %1537, 1
  store i32 %1538, 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 %1539 unwind label %1565

1539:                                             ; preds = %1536
  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
  %1540 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000) #7
  store x86_fp80 %1540, ptr %128, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %129) #7
  %1541 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %1542 unwind label %1569

1542:                                             ; preds = %1539
  store x86_fp80 %1541, ptr %129, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %130) #7
  %1543 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1544 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1545 = fsub x86_fp80 %1543, %1544
  %1546 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1545)
          to label %1547 unwind label %1573

1547:                                             ; preds = %1542
  %1548 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1549 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1548)
          to label %1550 unwind label %1573

1550:                                             ; preds = %1547
  %1551 = fadd x86_fp80 0xK3FFF8000000000000000, %1549
  %1552 = fdiv x86_fp80 %1546, %1551
  store x86_fp80 %1552, 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
  %1553 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1554 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1553)
          to label %1555 unwind label %1577

1555:                                             ; preds = %1550
  br i1 %1554, label %1556, label %1581

1556:                                             ; preds = %1555
  %1557 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1558 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1557)
          to label %1559 unwind label %1577

1559:                                             ; preds = %1556
  br i1 %1558, label %1560, label %1581

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

1561:                                             ; preds = %1532, %1518, %1491
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #7
  br label %1562

1562:                                             ; preds = %1561, %1487
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #7
  br label %1563

1563:                                             ; preds = %1562, %1483
  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 %1564

1564:                                             ; preds = %1563, %1479
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  br label %2814

1565:                                             ; preds = %1536
  %1566 = landingpad { ptr, i32 }
          cleanup
  %1567 = extractvalue { ptr, i32 } %1566, 0
  store ptr %1567, ptr %4, align 8
  %1568 = extractvalue { ptr, i32 } %1566, 1
  store i32 %1568, 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 %1650

1569:                                             ; preds = %1539
  %1570 = landingpad { ptr, i32 }
          cleanup
  %1571 = extractvalue { ptr, i32 } %1570, 0
  store ptr %1571, ptr %4, align 8
  %1572 = extractvalue { ptr, i32 } %1570, 1
  store i32 %1572, ptr %5, align 4
  br label %1649

1573:                                             ; preds = %1547, %1542
  %1574 = landingpad { ptr, i32 }
          cleanup
  %1575 = extractvalue { ptr, i32 } %1574, 0
  store ptr %1575, ptr %4, align 8
  %1576 = extractvalue { ptr, i32 } %1574, 1
  store i32 %1576, ptr %5, align 4
  br label %1648

1577:                                             ; preds = %1613, %1598, %1585, %1581, %1556, %1550
  %1578 = landingpad { ptr, i32 }
          cleanup
  %1579 = extractvalue { ptr, i32 } %1578, 0
  store ptr %1579, ptr %4, align 8
  %1580 = extractvalue { ptr, i32 } %1578, 1
  store i32 %1580, ptr %5, align 4
  br label %1647

1581:                                             ; preds = %1559, %1555
  %1582 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1583 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1582)
          to label %1584 unwind label %1577

1584:                                             ; preds = %1581
  br i1 %1583, label %1594, label %1585

1585:                                             ; preds = %1584
  %1586 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1587 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1586)
          to label %1588 unwind label %1577

1588:                                             ; preds = %1585
  br i1 %1587, label %1589, label %1594

1589:                                             ; preds = %1588
  %1590 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1591 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1592 = fcmp oeq x86_fp80 %1590, %1591
  br i1 %1592, label %1593, label %1594

1593:                                             ; preds = %1589
  store i8 1, ptr %131, align 1, !tbaa !11
  br label %1609

1594:                                             ; preds = %1589, %1588, %1584
  %1595 = load x86_fp80, ptr %130, align 16, !tbaa !9
  %1596 = fcmp olt x86_fp80 %1595, 0xK3FD0B424DC35095CD800
  br i1 %1596, label %1597, label %1598

1597:                                             ; preds = %1594
  store i8 1, ptr %131, align 1, !tbaa !11
  br label %1608

1598:                                             ; preds = %1594
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %1599 unwind label %1577

1599:                                             ; preds = %1598
  %1600 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1601 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1602 = 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 %1600, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1601, x86_fp80 noundef %1602, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %1603 unwind label %1604

1603:                                             ; preds = %1599
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1608

1604:                                             ; preds = %1599
  %1605 = landingpad { ptr, i32 }
          cleanup
  %1606 = extractvalue { ptr, i32 } %1605, 0
  store ptr %1606, ptr %4, align 8
  %1607 = extractvalue { ptr, i32 } %1605, 1
  store i32 %1607, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1647

1608:                                             ; preds = %1603, %1597
  br label %1609

1609:                                             ; preds = %1608, %1593
  br label %1610

1610:                                             ; preds = %1609, %1560
  %1611 = load i8, ptr %131, align 1, !tbaa !11, !range !13, !noundef !14
  %1612 = trunc i8 %1611 to i1
  br i1 %1612, label %1613, label %1622

1613:                                             ; preds = %1610
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %1614 unwind label %1577

1614:                                             ; preds = %1613
  %1615 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1616 = 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 %1615, x86_fp80 noundef %1616, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %1617 unwind label %1618

1617:                                             ; preds = %1614
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #7
  br label %1622

1618:                                             ; preds = %1614
  %1619 = landingpad { ptr, i32 }
          cleanup
  %1620 = extractvalue { ptr, i32 } %1619, 0
  store ptr %1620, ptr %4, align 8
  %1621 = extractvalue { ptr, i32 } %1619, 1
  store i32 %1621, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #7
  br label %1647

1622:                                             ; preds = %1617, %1610
  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
  %1623 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1624 = add nsw i32 %1623, 1
  store i32 %1624, 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 %1625 unwind label %1651

1625:                                             ; preds = %1622
  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
  %1626 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000) #7
  store x86_fp80 %1626, ptr %136, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %137) #7
  %1627 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %1628 unwind label %1655

1628:                                             ; preds = %1625
  store x86_fp80 %1627, ptr %137, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %138) #7
  %1629 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1630 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1631 = fsub x86_fp80 %1629, %1630
  %1632 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1631)
          to label %1633 unwind label %1659

1633:                                             ; preds = %1628
  %1634 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1635 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1634)
          to label %1636 unwind label %1659

1636:                                             ; preds = %1633
  %1637 = fadd x86_fp80 0xK3FFF8000000000000000, %1635
  %1638 = fdiv x86_fp80 %1632, %1637
  store x86_fp80 %1638, 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
  %1639 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1640 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1639)
          to label %1641 unwind label %1663

1641:                                             ; preds = %1636
  br i1 %1640, label %1642, label %1667

1642:                                             ; preds = %1641
  %1643 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1644 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1643)
          to label %1645 unwind label %1663

1645:                                             ; preds = %1642
  br i1 %1644, label %1646, label %1667

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

1647:                                             ; preds = %1618, %1604, %1577
  call void @llvm.lifetime.end.p0(i64 1, ptr %131) #7
  br label %1648

1648:                                             ; preds = %1647, %1573
  call void @llvm.lifetime.end.p0(i64 16, ptr %130) #7
  br label %1649

1649:                                             ; preds = %1648, %1569
  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 %1650

1650:                                             ; preds = %1649, %1565
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #7
  br label %2814

1651:                                             ; preds = %1622
  %1652 = landingpad { ptr, i32 }
          cleanup
  %1653 = extractvalue { ptr, i32 } %1652, 0
  store ptr %1653, ptr %4, align 8
  %1654 = extractvalue { ptr, i32 } %1652, 1
  store i32 %1654, 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 %1736

1655:                                             ; preds = %1625
  %1656 = landingpad { ptr, i32 }
          cleanup
  %1657 = extractvalue { ptr, i32 } %1656, 0
  store ptr %1657, ptr %4, align 8
  %1658 = extractvalue { ptr, i32 } %1656, 1
  store i32 %1658, ptr %5, align 4
  br label %1735

1659:                                             ; preds = %1633, %1628
  %1660 = landingpad { ptr, i32 }
          cleanup
  %1661 = extractvalue { ptr, i32 } %1660, 0
  store ptr %1661, ptr %4, align 8
  %1662 = extractvalue { ptr, i32 } %1660, 1
  store i32 %1662, ptr %5, align 4
  br label %1734

1663:                                             ; preds = %1699, %1684, %1671, %1667, %1642, %1636
  %1664 = landingpad { ptr, i32 }
          cleanup
  %1665 = extractvalue { ptr, i32 } %1664, 0
  store ptr %1665, ptr %4, align 8
  %1666 = extractvalue { ptr, i32 } %1664, 1
  store i32 %1666, ptr %5, align 4
  br label %1733

1667:                                             ; preds = %1645, %1641
  %1668 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1669 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1668)
          to label %1670 unwind label %1663

1670:                                             ; preds = %1667
  br i1 %1669, label %1680, label %1671

1671:                                             ; preds = %1670
  %1672 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1673 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1672)
          to label %1674 unwind label %1663

1674:                                             ; preds = %1671
  br i1 %1673, label %1675, label %1680

1675:                                             ; preds = %1674
  %1676 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1677 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1678 = fcmp oeq x86_fp80 %1676, %1677
  br i1 %1678, label %1679, label %1680

1679:                                             ; preds = %1675
  store i8 1, ptr %139, align 1, !tbaa !11
  br label %1695

1680:                                             ; preds = %1675, %1674, %1670
  %1681 = load x86_fp80, ptr %138, align 16, !tbaa !9
  %1682 = fcmp olt x86_fp80 %1681, 0xK3FD0B424DC35095CD800
  br i1 %1682, label %1683, label %1684

1683:                                             ; preds = %1680
  store i8 1, ptr %139, align 1, !tbaa !11
  br label %1694

1684:                                             ; preds = %1680
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1685 unwind label %1663

1685:                                             ; preds = %1684
  %1686 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1687 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1688 = 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 %1686, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1687, x86_fp80 noundef %1688, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %1689 unwind label %1690

1689:                                             ; preds = %1685
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  br label %1694

1690:                                             ; preds = %1685
  %1691 = landingpad { ptr, i32 }
          cleanup
  %1692 = extractvalue { ptr, i32 } %1691, 0
  store ptr %1692, ptr %4, align 8
  %1693 = extractvalue { ptr, i32 } %1691, 1
  store i32 %1693, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  br label %1733

1694:                                             ; preds = %1689, %1683
  br label %1695

1695:                                             ; preds = %1694, %1679
  br label %1696

1696:                                             ; preds = %1695, %1646
  %1697 = load i8, ptr %139, align 1, !tbaa !11, !range !13, !noundef !14
  %1698 = trunc i8 %1697 to i1
  br i1 %1698, label %1699, label %1708

1699:                                             ; preds = %1696
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1700 unwind label %1663

1700:                                             ; preds = %1699
  %1701 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1702 = 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 %1701, x86_fp80 noundef %1702, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %1703 unwind label %1704

1703:                                             ; preds = %1700
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1708

1704:                                             ; preds = %1700
  %1705 = landingpad { ptr, i32 }
          cleanup
  %1706 = extractvalue { ptr, i32 } %1705, 0
  store ptr %1706, ptr %4, align 8
  %1707 = extractvalue { ptr, i32 } %1705, 1
  store i32 %1707, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1733

1708:                                             ; preds = %1703, %1696
  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
  %1709 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1710 = add nsw i32 %1709, 1
  store i32 %1710, 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 %1711 unwind label %1737

1711:                                             ; preds = %1708
  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
  %1712 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000) #7
  store x86_fp80 %1712, ptr %144, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %145) #7
  %1713 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %1714 unwind label %1741

1714:                                             ; preds = %1711
  store x86_fp80 %1713, ptr %145, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %146) #7
  %1715 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1716 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1717 = fsub x86_fp80 %1715, %1716
  %1718 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1717)
          to label %1719 unwind label %1745

1719:                                             ; preds = %1714
  %1720 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1721 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1720)
          to label %1722 unwind label %1745

1722:                                             ; preds = %1719
  %1723 = fadd x86_fp80 0xK3FFF8000000000000000, %1721
  %1724 = fdiv x86_fp80 %1718, %1723
  store x86_fp80 %1724, 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
  %1725 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1726 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1725)
          to label %1727 unwind label %1749

1727:                                             ; preds = %1722
  br i1 %1726, label %1728, label %1753

1728:                                             ; preds = %1727
  %1729 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1730 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1729)
          to label %1731 unwind label %1749

1731:                                             ; preds = %1728
  br i1 %1730, label %1732, label %1753

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

1733:                                             ; preds = %1704, %1690, %1663
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #7
  br label %1734

1734:                                             ; preds = %1733, %1659
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #7
  br label %1735

1735:                                             ; preds = %1734, %1655
  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 %1736

1736:                                             ; preds = %1735, %1651
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  br label %2814

1737:                                             ; preds = %1708
  %1738 = landingpad { ptr, i32 }
          cleanup
  %1739 = extractvalue { ptr, i32 } %1738, 0
  store ptr %1739, ptr %4, align 8
  %1740 = extractvalue { ptr, i32 } %1738, 1
  store i32 %1740, 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 %1822

1741:                                             ; preds = %1711
  %1742 = landingpad { ptr, i32 }
          cleanup
  %1743 = extractvalue { ptr, i32 } %1742, 0
  store ptr %1743, ptr %4, align 8
  %1744 = extractvalue { ptr, i32 } %1742, 1
  store i32 %1744, ptr %5, align 4
  br label %1821

1745:                                             ; preds = %1719, %1714
  %1746 = landingpad { ptr, i32 }
          cleanup
  %1747 = extractvalue { ptr, i32 } %1746, 0
  store ptr %1747, ptr %4, align 8
  %1748 = extractvalue { ptr, i32 } %1746, 1
  store i32 %1748, ptr %5, align 4
  br label %1820

1749:                                             ; preds = %1785, %1770, %1757, %1753, %1728, %1722
  %1750 = landingpad { ptr, i32 }
          cleanup
  %1751 = extractvalue { ptr, i32 } %1750, 0
  store ptr %1751, ptr %4, align 8
  %1752 = extractvalue { ptr, i32 } %1750, 1
  store i32 %1752, ptr %5, align 4
  br label %1819

1753:                                             ; preds = %1731, %1727
  %1754 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1755 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1754)
          to label %1756 unwind label %1749

1756:                                             ; preds = %1753
  br i1 %1755, label %1766, label %1757

1757:                                             ; preds = %1756
  %1758 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1759 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1758)
          to label %1760 unwind label %1749

1760:                                             ; preds = %1757
  br i1 %1759, label %1761, label %1766

1761:                                             ; preds = %1760
  %1762 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1763 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1764 = fcmp oeq x86_fp80 %1762, %1763
  br i1 %1764, label %1765, label %1766

1765:                                             ; preds = %1761
  store i8 1, ptr %147, align 1, !tbaa !11
  br label %1781

1766:                                             ; preds = %1761, %1760, %1756
  %1767 = load x86_fp80, ptr %146, align 16, !tbaa !9
  %1768 = fcmp olt x86_fp80 %1767, 0xK3FD0B424DC35095CD800
  br i1 %1768, label %1769, label %1770

1769:                                             ; preds = %1766
  store i8 1, ptr %147, align 1, !tbaa !11
  br label %1780

1770:                                             ; preds = %1766
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1771 unwind label %1749

1771:                                             ; preds = %1770
  %1772 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1773 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1774 = 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 %1772, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1773, x86_fp80 noundef %1774, x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %1775 unwind label %1776

1775:                                             ; preds = %1771
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %1780

1776:                                             ; preds = %1771
  %1777 = landingpad { ptr, i32 }
          cleanup
  %1778 = extractvalue { ptr, i32 } %1777, 0
  store ptr %1778, ptr %4, align 8
  %1779 = extractvalue { ptr, i32 } %1777, 1
  store i32 %1779, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %1819

1780:                                             ; preds = %1775, %1769
  br label %1781

1781:                                             ; preds = %1780, %1765
  br label %1782

1782:                                             ; preds = %1781, %1732
  %1783 = load i8, ptr %147, align 1, !tbaa !11, !range !13, !noundef !14
  %1784 = trunc i8 %1783 to i1
  br i1 %1784, label %1785, label %1794

1785:                                             ; preds = %1782
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1786 unwind label %1749

1786:                                             ; preds = %1785
  %1787 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1788 = 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 %1787, x86_fp80 noundef %1788, x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %1789 unwind label %1790

1789:                                             ; preds = %1786
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #7
  br label %1794

1790:                                             ; preds = %1786
  %1791 = landingpad { ptr, i32 }
          cleanup
  %1792 = extractvalue { ptr, i32 } %1791, 0
  store ptr %1792, ptr %4, align 8
  %1793 = extractvalue { ptr, i32 } %1791, 1
  store i32 %1793, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #7
  br label %1819

1794:                                             ; preds = %1789, %1782
  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
  %1795 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1796 = add nsw i32 %1795, 1
  store i32 %1796, 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 %1797 unwind label %1823

1797:                                             ; preds = %1794
  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
  %1798 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B) #7
  store x86_fp80 %1798, ptr %152, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %153) #7
  %1799 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %1800 unwind label %1827

1800:                                             ; preds = %1797
  store x86_fp80 %1799, ptr %153, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %154) #7
  %1801 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1802 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1803 = fsub x86_fp80 %1801, %1802
  %1804 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1803)
          to label %1805 unwind label %1831

1805:                                             ; preds = %1800
  %1806 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1807 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1806)
          to label %1808 unwind label %1831

1808:                                             ; preds = %1805
  %1809 = fadd x86_fp80 0xK3FFF8000000000000000, %1807
  %1810 = fdiv x86_fp80 %1804, %1809
  store x86_fp80 %1810, 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
  %1811 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1812 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1811)
          to label %1813 unwind label %1835

1813:                                             ; preds = %1808
  br i1 %1812, label %1814, label %1839

1814:                                             ; preds = %1813
  %1815 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1816 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1815)
          to label %1817 unwind label %1835

1817:                                             ; preds = %1814
  br i1 %1816, label %1818, label %1839

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

1819:                                             ; preds = %1790, %1776, %1749
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  br label %1820

1820:                                             ; preds = %1819, %1745
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #7
  br label %1821

1821:                                             ; preds = %1820, %1741
  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 %1822

1822:                                             ; preds = %1821, %1737
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  br label %2814

1823:                                             ; preds = %1794
  %1824 = landingpad { ptr, i32 }
          cleanup
  %1825 = extractvalue { ptr, i32 } %1824, 0
  store ptr %1825, ptr %4, align 8
  %1826 = extractvalue { ptr, i32 } %1824, 1
  store i32 %1826, 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 %1908

1827:                                             ; preds = %1797
  %1828 = landingpad { ptr, i32 }
          cleanup
  %1829 = extractvalue { ptr, i32 } %1828, 0
  store ptr %1829, ptr %4, align 8
  %1830 = extractvalue { ptr, i32 } %1828, 1
  store i32 %1830, ptr %5, align 4
  br label %1907

1831:                                             ; preds = %1805, %1800
  %1832 = landingpad { ptr, i32 }
          cleanup
  %1833 = extractvalue { ptr, i32 } %1832, 0
  store ptr %1833, ptr %4, align 8
  %1834 = extractvalue { ptr, i32 } %1832, 1
  store i32 %1834, ptr %5, align 4
  br label %1906

1835:                                             ; preds = %1871, %1856, %1843, %1839, %1814, %1808
  %1836 = landingpad { ptr, i32 }
          cleanup
  %1837 = extractvalue { ptr, i32 } %1836, 0
  store ptr %1837, ptr %4, align 8
  %1838 = extractvalue { ptr, i32 } %1836, 1
  store i32 %1838, ptr %5, align 4
  br label %1905

1839:                                             ; preds = %1817, %1813
  %1840 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1841 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1840)
          to label %1842 unwind label %1835

1842:                                             ; preds = %1839
  br i1 %1841, label %1852, label %1843

1843:                                             ; preds = %1842
  %1844 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1845 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1844)
          to label %1846 unwind label %1835

1846:                                             ; preds = %1843
  br i1 %1845, label %1847, label %1852

1847:                                             ; preds = %1846
  %1848 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1849 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1850 = fcmp oeq x86_fp80 %1848, %1849
  br i1 %1850, label %1851, label %1852

1851:                                             ; preds = %1847
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1867

1852:                                             ; preds = %1847, %1846, %1842
  %1853 = load x86_fp80, ptr %154, align 16, !tbaa !9
  %1854 = fcmp olt x86_fp80 %1853, 0xK3FD0B424DC35095CD800
  br i1 %1854, label %1855, label %1856

1855:                                             ; preds = %1852
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1866

1856:                                             ; preds = %1852
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1857 unwind label %1835

1857:                                             ; preds = %1856
  %1858 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1859 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1860 = 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 %1858, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1859, x86_fp80 noundef %1860, x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %1861 unwind label %1862

1861:                                             ; preds = %1857
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  br label %1866

1862:                                             ; preds = %1857
  %1863 = landingpad { ptr, i32 }
          cleanup
  %1864 = extractvalue { ptr, i32 } %1863, 0
  store ptr %1864, ptr %4, align 8
  %1865 = extractvalue { ptr, i32 } %1863, 1
  store i32 %1865, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  br label %1905

1866:                                             ; preds = %1861, %1855
  br label %1867

1867:                                             ; preds = %1866, %1851
  br label %1868

1868:                                             ; preds = %1867, %1818
  %1869 = load i8, ptr %155, align 1, !tbaa !11, !range !13, !noundef !14
  %1870 = trunc i8 %1869 to i1
  br i1 %1870, label %1871, label %1880

1871:                                             ; preds = %1868
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1872 unwind label %1835

1872:                                             ; preds = %1871
  %1873 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1874 = 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 %1873, x86_fp80 noundef %1874, x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %1875 unwind label %1876

1875:                                             ; preds = %1872
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  br label %1880

1876:                                             ; preds = %1872
  %1877 = landingpad { ptr, i32 }
          cleanup
  %1878 = extractvalue { ptr, i32 } %1877, 0
  store ptr %1878, ptr %4, align 8
  %1879 = extractvalue { ptr, i32 } %1877, 1
  store i32 %1879, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  br label %1905

1880:                                             ; preds = %1875, %1868
  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
  %1881 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1882 = add nsw i32 %1881, 1
  store i32 %1882, 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 %1883 unwind label %1909

1883:                                             ; preds = %1880
  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
  %1884 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000) #7
  store x86_fp80 %1884, ptr %160, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %161) #7
  %1885 = invoke noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %1886 unwind label %1913

1886:                                             ; preds = %1883
  store x86_fp80 %1885, ptr %161, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %162) #7
  %1887 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1888 = load x86_fp80, ptr %161, align 16, !tbaa !9
  %1889 = fsub x86_fp80 %1887, %1888
  %1890 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1889)
          to label %1891 unwind label %1917

1891:                                             ; preds = %1886
  %1892 = load x86_fp80, ptr %161, align 16, !tbaa !9
  %1893 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1892)
          to label %1894 unwind label %1917

1894:                                             ; preds = %1891
  %1895 = fadd x86_fp80 0xK3FFF8000000000000000, %1893
  %1896 = fdiv x86_fp80 %1890, %1895
  store x86_fp80 %1896, 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
  %1897 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1898 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1897)
          to label %1899 unwind label %1921

1899:                                             ; preds = %1894
  br i1 %1898, label %1900, label %1925

1900:                                             ; preds = %1899
  %1901 = load x86_fp80, ptr %161, align 16, !tbaa !9
  %1902 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1901)
          to label %1903 unwind label %1921

1903:                                             ; preds = %1900
  br i1 %1902, label %1904, label %1925

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

1905:                                             ; preds = %1876, %1862, %1835
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #7
  br label %1906

1906:                                             ; preds = %1905, %1831
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #7
  br label %1907

1907:                                             ; preds = %1906, %1827
  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 %1908

1908:                                             ; preds = %1907, %1823
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  br label %2814

1909:                                             ; preds = %1880
  %1910 = landingpad { ptr, i32 }
          cleanup
  %1911 = extractvalue { ptr, i32 } %1910, 0
  store ptr %1911, ptr %4, align 8
  %1912 = extractvalue { ptr, i32 } %1910, 1
  store i32 %1912, 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 %1996

1913:                                             ; preds = %1883
  %1914 = landingpad { ptr, i32 }
          cleanup
  %1915 = extractvalue { ptr, i32 } %1914, 0
  store ptr %1915, ptr %4, align 8
  %1916 = extractvalue { ptr, i32 } %1914, 1
  store i32 %1916, ptr %5, align 4
  br label %1995

1917:                                             ; preds = %1891, %1886
  %1918 = landingpad { ptr, i32 }
          cleanup
  %1919 = extractvalue { ptr, i32 } %1918, 0
  store ptr %1919, ptr %4, align 8
  %1920 = extractvalue { ptr, i32 } %1918, 1
  store i32 %1920, ptr %5, align 4
  br label %1994

1921:                                             ; preds = %1957, %1942, %1929, %1925, %1900, %1894
  %1922 = landingpad { ptr, i32 }
          cleanup
  %1923 = extractvalue { ptr, i32 } %1922, 0
  store ptr %1923, ptr %4, align 8
  %1924 = extractvalue { ptr, i32 } %1922, 1
  store i32 %1924, ptr %5, align 4
  br label %1993

1925:                                             ; preds = %1903, %1899
  %1926 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1927 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1926)
          to label %1928 unwind label %1921

1928:                                             ; preds = %1925
  br i1 %1927, label %1938, label %1929

1929:                                             ; preds = %1928
  %1930 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1931 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1930)
          to label %1932 unwind label %1921

1932:                                             ; preds = %1929
  br i1 %1931, label %1933, label %1938

1933:                                             ; preds = %1932
  %1934 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1935 = load x86_fp80, ptr %161, align 16, !tbaa !9
  %1936 = fcmp oeq x86_fp80 %1934, %1935
  br i1 %1936, label %1937, label %1938

1937:                                             ; preds = %1933
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1953

1938:                                             ; preds = %1933, %1932, %1928
  %1939 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1940 = fcmp olt x86_fp80 %1939, 0xK3FD0B424DC35095CD800
  br i1 %1940, label %1941, label %1942

1941:                                             ; preds = %1938
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1952

1942:                                             ; preds = %1938
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1943 unwind label %1921

1943:                                             ; preds = %1942
  %1944 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1945 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1946 = 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 %1944, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1945, x86_fp80 noundef %1946, x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %1947 unwind label %1948

1947:                                             ; preds = %1943
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #7
  br label %1952

1948:                                             ; preds = %1943
  %1949 = landingpad { ptr, i32 }
          cleanup
  %1950 = extractvalue { ptr, i32 } %1949, 0
  store ptr %1950, ptr %4, align 8
  %1951 = extractvalue { ptr, i32 } %1949, 1
  store i32 %1951, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #7
  br label %1993

1952:                                             ; preds = %1947, %1941
  br label %1953

1953:                                             ; preds = %1952, %1937
  br label %1954

1954:                                             ; preds = %1953, %1904
  %1955 = load i8, ptr %163, align 1, !tbaa !11, !range !13, !noundef !14
  %1956 = trunc i8 %1955 to i1
  br i1 %1956, label %1957, label %1966

1957:                                             ; preds = %1954
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1958 unwind label %1921

1958:                                             ; preds = %1957
  %1959 = load x86_fp80, ptr %160, align 16, !tbaa !9
  %1960 = 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 %1959, x86_fp80 noundef %1960, x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %1961 unwind label %1962

1961:                                             ; preds = %1958
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %1966

1962:                                             ; preds = %1958
  %1963 = landingpad { ptr, i32 }
          cleanup
  %1964 = extractvalue { ptr, i32 } %1963, 0
  store ptr %1964, ptr %4, align 8
  %1965 = extractvalue { ptr, i32 } %1963, 1
  store i32 %1965, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %1993

1966:                                             ; preds = %1961, %1954
  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
  %1967 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1968 = add nsw i32 %1967, 1
  store i32 %1968, 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 %1969 unwind label %1997

1969:                                             ; preds = %1966
  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
  %1970 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1971 = call noundef x86_fp80 @_ZN4gcem5hypotIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1970, x86_fp80 noundef 0xK40008000000000000000) #7
  store x86_fp80 %1971, ptr %168, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %169) #7
  %1972 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1973 = invoke noundef x86_fp80 @_ZSt5hypotIdeEN9__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 %1972, x86_fp80 noundef 0xK40008000000000000000)
          to label %1974 unwind label %2001

1974:                                             ; preds = %1969
  store x86_fp80 %1973, ptr %169, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %170) #7
  %1975 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %1976 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1977 = fsub x86_fp80 %1975, %1976
  %1978 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1977)
          to label %1979 unwind label %2005

1979:                                             ; preds = %1974
  %1980 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1981 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1980)
          to label %1982 unwind label %2005

1982:                                             ; preds = %1979
  %1983 = fadd x86_fp80 0xK3FFF8000000000000000, %1981
  %1984 = fdiv x86_fp80 %1978, %1983
  store x86_fp80 %1984, 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
  %1985 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %1986 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1985)
          to label %1987 unwind label %2009

1987:                                             ; preds = %1982
  br i1 %1986, label %1988, label %2013

1988:                                             ; preds = %1987
  %1989 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1990 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1989)
          to label %1991 unwind label %2009

1991:                                             ; preds = %1988
  br i1 %1990, label %1992, label %2013

1992:                                             ; preds = %1991
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %2043

1993:                                             ; preds = %1962, %1948, %1921
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  br label %1994

1994:                                             ; preds = %1993, %1917
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #7
  br label %1995

1995:                                             ; preds = %1994, %1913
  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 %1996

1996:                                             ; preds = %1995, %1909
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  br label %2814

1997:                                             ; preds = %1966
  %1998 = landingpad { ptr, i32 }
          cleanup
  %1999 = extractvalue { ptr, i32 } %1998, 0
  store ptr %1999, ptr %4, align 8
  %2000 = extractvalue { ptr, i32 } %1998, 1
  store i32 %2000, 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 %2086

2001:                                             ; preds = %1969
  %2002 = landingpad { ptr, i32 }
          cleanup
  %2003 = extractvalue { ptr, i32 } %2002, 0
  store ptr %2003, ptr %4, align 8
  %2004 = extractvalue { ptr, i32 } %2002, 1
  store i32 %2004, ptr %5, align 4
  br label %2085

2005:                                             ; preds = %1979, %1974
  %2006 = landingpad { ptr, i32 }
          cleanup
  %2007 = extractvalue { ptr, i32 } %2006, 0
  store ptr %2007, ptr %4, align 8
  %2008 = extractvalue { ptr, i32 } %2006, 1
  store i32 %2008, ptr %5, align 4
  br label %2084

2009:                                             ; preds = %2046, %2030, %2017, %2013, %1988, %1982
  %2010 = landingpad { ptr, i32 }
          cleanup
  %2011 = extractvalue { ptr, i32 } %2010, 0
  store ptr %2011, ptr %4, align 8
  %2012 = extractvalue { ptr, i32 } %2010, 1
  store i32 %2012, ptr %5, align 4
  br label %2083

2013:                                             ; preds = %1991, %1987
  %2014 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %2015 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2014)
          to label %2016 unwind label %2009

2016:                                             ; preds = %2013
  br i1 %2015, label %2026, label %2017

2017:                                             ; preds = %2016
  %2018 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %2019 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2018)
          to label %2020 unwind label %2009

2020:                                             ; preds = %2017
  br i1 %2019, label %2021, label %2026

2021:                                             ; preds = %2020
  %2022 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %2023 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %2024 = fcmp oeq x86_fp80 %2022, %2023
  br i1 %2024, label %2025, label %2026

2025:                                             ; preds = %2021
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %2042

2026:                                             ; preds = %2021, %2020, %2016
  %2027 = load x86_fp80, ptr %170, align 16, !tbaa !9
  %2028 = fcmp olt x86_fp80 %2027, 0xK3FD0B424DC35095CD800
  br i1 %2028, label %2029, label %2030

2029:                                             ; preds = %2026
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %2041

2030:                                             ; preds = %2026
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %2031 unwind label %2009

2031:                                             ; preds = %2030
  %2032 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2033 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %2034 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %2035 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %172, i32 noundef %2032, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2033, x86_fp80 noundef %2034, double noundef %2035, x86_fp80 noundef 0xK40008000000000000000)
          to label %2036 unwind label %2037

2036:                                             ; preds = %2031
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #7
  br label %2041

2037:                                             ; preds = %2031
  %2038 = landingpad { ptr, i32 }
          cleanup
  %2039 = extractvalue { ptr, i32 } %2038, 0
  store ptr %2039, ptr %4, align 8
  %2040 = extractvalue { ptr, i32 } %2038, 1
  store i32 %2040, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #7
  br label %2083

2041:                                             ; preds = %2036, %2029
  br label %2042

2042:                                             ; preds = %2041, %2025
  br label %2043

2043:                                             ; preds = %2042, %1992
  %2044 = load i8, ptr %171, align 1, !tbaa !11, !range !13, !noundef !14
  %2045 = trunc i8 %2044 to i1
  br i1 %2045, label %2046, label %2056

2046:                                             ; preds = %2043
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %2047 unwind label %2009

2047:                                             ; preds = %2046
  %2048 = load x86_fp80, ptr %168, align 16, !tbaa !9
  %2049 = load x86_fp80, ptr %170, align 16, !tbaa !9
  %2050 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #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 %2048, x86_fp80 noundef %2049, double noundef %2050, x86_fp80 noundef 0xK40008000000000000000)
          to label %2051 unwind label %2052

2051:                                             ; preds = %2047
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #7
  br label %2056

2052:                                             ; preds = %2047
  %2053 = landingpad { ptr, i32 }
          cleanup
  %2054 = extractvalue { ptr, i32 } %2053, 0
  store ptr %2054, ptr %4, align 8
  %2055 = extractvalue { ptr, i32 } %2053, 1
  store i32 %2055, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #7
  br label %2083

2056:                                             ; preds = %2051, %2043
  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
  %2057 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2058 = add nsw i32 %2057, 1
  store i32 %2058, 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 %2059 unwind label %2087

2059:                                             ; preds = %2056
  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
  %2060 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2061 = call noundef x86_fp80 @_ZN4gcem5hypotIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, double noundef %2060) #7
  store x86_fp80 %2061, ptr %176, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %177) #7
  %2062 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2063 = invoke noundef x86_fp80 @_ZSt5hypotIedEN9__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 0xK40008000000000000000, double noundef %2062)
          to label %2064 unwind label %2091

2064:                                             ; preds = %2059
  store x86_fp80 %2063, ptr %177, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %178) #7
  %2065 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2066 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2067 = fsub x86_fp80 %2065, %2066
  %2068 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2067)
          to label %2069 unwind label %2095

2069:                                             ; preds = %2064
  %2070 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2071 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2070)
          to label %2072 unwind label %2095

2072:                                             ; preds = %2069
  %2073 = fadd x86_fp80 0xK3FFF8000000000000000, %2071
  %2074 = fdiv x86_fp80 %2068, %2073
  store x86_fp80 %2074, 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
  %2075 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2076 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2075)
          to label %2077 unwind label %2099

2077:                                             ; preds = %2072
  br i1 %2076, label %2078, label %2103

2078:                                             ; preds = %2077
  %2079 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2080 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2079)
          to label %2081 unwind label %2099

2081:                                             ; preds = %2078
  br i1 %2080, label %2082, label %2103

2082:                                             ; preds = %2081
  store i8 1, ptr %179, align 1, !tbaa !11
  br label %2133

2083:                                             ; preds = %2052, %2037, %2009
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #7
  br label %2084

2084:                                             ; preds = %2083, %2005
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #7
  br label %2085

2085:                                             ; preds = %2084, %2001
  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 %2086

2086:                                             ; preds = %2085, %1997
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #7
  br label %2814

2087:                                             ; preds = %2056
  %2088 = landingpad { ptr, i32 }
          cleanup
  %2089 = extractvalue { ptr, i32 } %2088, 0
  store ptr %2089, ptr %4, align 8
  %2090 = extractvalue { ptr, i32 } %2088, 1
  store i32 %2090, 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 %2179

2091:                                             ; preds = %2059
  %2092 = landingpad { ptr, i32 }
          cleanup
  %2093 = extractvalue { ptr, i32 } %2092, 0
  store ptr %2093, ptr %4, align 8
  %2094 = extractvalue { ptr, i32 } %2092, 1
  store i32 %2094, ptr %5, align 4
  br label %2178

2095:                                             ; preds = %2069, %2064
  %2096 = landingpad { ptr, i32 }
          cleanup
  %2097 = extractvalue { ptr, i32 } %2096, 0
  store ptr %2097, ptr %4, align 8
  %2098 = extractvalue { ptr, i32 } %2096, 1
  store i32 %2098, ptr %5, align 4
  br label %2177

2099:                                             ; preds = %2136, %2120, %2107, %2103, %2078, %2072
  %2100 = landingpad { ptr, i32 }
          cleanup
  %2101 = extractvalue { ptr, i32 } %2100, 0
  store ptr %2101, ptr %4, align 8
  %2102 = extractvalue { ptr, i32 } %2100, 1
  store i32 %2102, ptr %5, align 4
  br label %2176

2103:                                             ; preds = %2081, %2077
  %2104 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2105 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2104)
          to label %2106 unwind label %2099

2106:                                             ; preds = %2103
  br i1 %2105, label %2116, label %2107

2107:                                             ; preds = %2106
  %2108 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2109 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2108)
          to label %2110 unwind label %2099

2110:                                             ; preds = %2107
  br i1 %2109, label %2111, label %2116

2111:                                             ; preds = %2110
  %2112 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2113 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2114 = fcmp oeq x86_fp80 %2112, %2113
  br i1 %2114, label %2115, label %2116

2115:                                             ; preds = %2111
  store i8 1, ptr %179, align 1, !tbaa !11
  br label %2132

2116:                                             ; preds = %2111, %2110, %2106
  %2117 = load x86_fp80, ptr %178, align 16, !tbaa !9
  %2118 = fcmp olt x86_fp80 %2117, 0xK3FD0B424DC35095CD800
  br i1 %2118, label %2119, label %2120

2119:                                             ; preds = %2116
  store i8 1, ptr %179, align 1, !tbaa !11
  br label %2131

2120:                                             ; preds = %2116
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %2121 unwind label %2099

2121:                                             ; preds = %2120
  %2122 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2123 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2124 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %2125 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %180, i32 noundef %2122, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2123, x86_fp80 noundef %2124, x86_fp80 noundef 0xK40008000000000000000, double noundef %2125)
          to label %2126 unwind label %2127

2126:                                             ; preds = %2121
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #7
  br label %2131

2127:                                             ; preds = %2121
  %2128 = landingpad { ptr, i32 }
          cleanup
  %2129 = extractvalue { ptr, i32 } %2128, 0
  store ptr %2129, ptr %4, align 8
  %2130 = extractvalue { ptr, i32 } %2128, 1
  store i32 %2130, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #7
  br label %2176

2131:                                             ; preds = %2126, %2119
  br label %2132

2132:                                             ; preds = %2131, %2115
  br label %2133

2133:                                             ; preds = %2132, %2082
  %2134 = load i8, ptr %179, align 1, !tbaa !11, !range !13, !noundef !14
  %2135 = trunc i8 %2134 to i1
  br i1 %2135, label %2136, label %2146

2136:                                             ; preds = %2133
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %2137 unwind label %2099

2137:                                             ; preds = %2136
  %2138 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %2139 = load x86_fp80, ptr %178, align 16, !tbaa !9
  %2140 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #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 %2138, x86_fp80 noundef %2139, x86_fp80 noundef 0xK40008000000000000000, double noundef %2140)
          to label %2141 unwind label %2142

2141:                                             ; preds = %2137
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #7
  br label %2146

2142:                                             ; preds = %2137
  %2143 = landingpad { ptr, i32 }
          cleanup
  %2144 = extractvalue { ptr, i32 } %2143, 0
  store ptr %2144, ptr %4, align 8
  %2145 = extractvalue { ptr, i32 } %2143, 1
  store i32 %2145, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #7
  br label %2176

2146:                                             ; preds = %2141, %2133
  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
  %2147 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2148 = add nsw i32 %2147, 1
  store i32 %2148, 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 %2149 unwind label %2180

2149:                                             ; preds = %2146
  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
  %2150 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2151 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2152 = call noundef double @_ZN4gcem5hypotIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %2150, double noundef %2151) #7
  store double %2152, ptr %184, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #7
  %2153 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2154 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2155 = call double @hypot(double noundef %2153, double noundef %2154) #7
  store double %2155, ptr %185, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #7
  %2156 = load double, ptr %184, align 8, !tbaa !15
  %2157 = load double, ptr %185, align 8, !tbaa !15
  %2158 = fsub double %2156, %2157
  %2159 = invoke noundef double @_ZSt3absd(double noundef %2158)
          to label %2160 unwind label %2184

2160:                                             ; preds = %2149
  %2161 = load double, ptr %185, align 8, !tbaa !15
  %2162 = invoke noundef double @_ZSt3absd(double noundef %2161)
          to label %2163 unwind label %2184

2163:                                             ; preds = %2160
  %2164 = fadd double 1.000000e+00, %2162
  %2165 = fdiv double %2159, %2164
  store double %2165, 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
  %2166 = load double, ptr %184, align 8, !tbaa !15
  %2167 = fpext double %2166 to x86_fp80
  %2168 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2167)
          to label %2169 unwind label %2188

2169:                                             ; preds = %2163
  br i1 %2168, label %2170, label %2192

2170:                                             ; preds = %2169
  %2171 = load double, ptr %185, align 8, !tbaa !15
  %2172 = fpext double %2171 to x86_fp80
  %2173 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2172)
          to label %2174 unwind label %2188

2174:                                             ; preds = %2170
  br i1 %2173, label %2175, label %2192

2175:                                             ; preds = %2174
  store i8 1, ptr %187, align 1, !tbaa !11
  br label %2225

2176:                                             ; preds = %2142, %2127, %2099
  call void @llvm.lifetime.end.p0(i64 1, ptr %179) #7
  br label %2177

2177:                                             ; preds = %2176, %2095
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #7
  br label %2178

2178:                                             ; preds = %2177, %2091
  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 %2179

2179:                                             ; preds = %2178, %2087
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #7
  br label %2814

2180:                                             ; preds = %2146
  %2181 = landingpad { ptr, i32 }
          cleanup
  %2182 = extractvalue { ptr, i32 } %2181, 0
  store ptr %2182, ptr %4, align 8
  %2183 = extractvalue { ptr, i32 } %2181, 1
  store i32 %2183, 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 %2270

2184:                                             ; preds = %2160, %2149
  %2185 = landingpad { ptr, i32 }
          cleanup
  %2186 = extractvalue { ptr, i32 } %2185, 0
  store ptr %2186, ptr %4, align 8
  %2187 = extractvalue { ptr, i32 } %2185, 1
  store i32 %2187, ptr %5, align 4
  br label %2269

2188:                                             ; preds = %2228, %2211, %2197, %2192, %2170, %2163
  %2189 = landingpad { ptr, i32 }
          cleanup
  %2190 = extractvalue { ptr, i32 } %2189, 0
  store ptr %2190, ptr %4, align 8
  %2191 = extractvalue { ptr, i32 } %2189, 1
  store i32 %2191, ptr %5, align 4
  br label %2268

2192:                                             ; preds = %2174, %2169
  %2193 = load double, ptr %184, align 8, !tbaa !15
  %2194 = fpext double %2193 to x86_fp80
  %2195 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2194)
          to label %2196 unwind label %2188

2196:                                             ; preds = %2192
  br i1 %2195, label %2207, label %2197

2197:                                             ; preds = %2196
  %2198 = load double, ptr %184, align 8, !tbaa !15
  %2199 = fpext double %2198 to x86_fp80
  %2200 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2199)
          to label %2201 unwind label %2188

2201:                                             ; preds = %2197
  br i1 %2200, label %2202, label %2207

2202:                                             ; preds = %2201
  %2203 = load double, ptr %184, align 8, !tbaa !15
  %2204 = load double, ptr %185, align 8, !tbaa !15
  %2205 = fcmp oeq double %2203, %2204
  br i1 %2205, label %2206, label %2207

2206:                                             ; preds = %2202
  store i8 1, ptr %187, align 1, !tbaa !11
  br label %2224

2207:                                             ; preds = %2202, %2201, %2196
  %2208 = load double, ptr %186, align 8, !tbaa !15
  %2209 = fcmp olt double %2208, 0x3D06849B86A12B9B
  br i1 %2209, label %2210, label %2211

2210:                                             ; preds = %2207
  store i8 1, ptr %187, align 1, !tbaa !11
  br label %2223

2211:                                             ; preds = %2207
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %2212 unwind label %2188

2212:                                             ; preds = %2211
  %2213 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2214 = load double, ptr %184, align 8, !tbaa !15
  %2215 = load double, ptr %185, align 8, !tbaa !15
  %2216 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2217 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %188, i32 noundef %2213, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %2214, double noundef %2215, double noundef %2216, double noundef %2217)
          to label %2218 unwind label %2219

2218:                                             ; preds = %2212
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #7
  br label %2223

2219:                                             ; preds = %2212
  %2220 = landingpad { ptr, i32 }
          cleanup
  %2221 = extractvalue { ptr, i32 } %2220, 0
  store ptr %2221, ptr %4, align 8
  %2222 = extractvalue { ptr, i32 } %2220, 1
  store i32 %2222, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #7
  br label %2268

2223:                                             ; preds = %2218, %2210
  br label %2224

2224:                                             ; preds = %2223, %2206
  br label %2225

2225:                                             ; preds = %2224, %2175
  %2226 = load i8, ptr %187, align 1, !tbaa !11, !range !13, !noundef !14
  %2227 = trunc i8 %2226 to i1
  br i1 %2227, label %2228, label %2239

2228:                                             ; preds = %2225
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %2229 unwind label %2188

2229:                                             ; preds = %2228
  %2230 = load double, ptr %184, align 8, !tbaa !15
  %2231 = load double, ptr %186, align 8, !tbaa !15
  %2232 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2233 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #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 %2230, double noundef %2231, double noundef %2232, double noundef %2233)
          to label %2234 unwind label %2235

2234:                                             ; preds = %2229
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #7
  br label %2239

2235:                                             ; preds = %2229
  %2236 = landingpad { ptr, i32 }
          cleanup
  %2237 = extractvalue { ptr, i32 } %2236, 0
  store ptr %2237, ptr %4, align 8
  %2238 = extractvalue { ptr, i32 } %2236, 1
  store i32 %2238, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #7
  br label %2268

2239:                                             ; preds = %2234, %2225
  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
  %2240 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2241 = add nsw i32 %2240, 1
  store i32 %2241, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %190) #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.1, ptr noundef nonnull align 1 dereferenceable(1) %191)
          to label %2242 unwind label %2271

2242:                                             ; preds = %2239
  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
  call void @llvm.lifetime.start.p0(i64 16, ptr %192) #7
  %2243 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2244 = fneg double %2243
  %2245 = call noundef x86_fp80 @_ZN4gcem5hypotIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %2244, x86_fp80 noundef 0xK40008000000000000000) #7
  store x86_fp80 %2245, ptr %192, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %193) #7
  %2246 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2247 = fneg double %2246
  %2248 = invoke noundef x86_fp80 @_ZSt5hypotIdeEN9__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 %2247, x86_fp80 noundef 0xK40008000000000000000)
          to label %2249 unwind label %2275

2249:                                             ; preds = %2242
  store x86_fp80 %2248, ptr %193, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %194) #7
  %2250 = load x86_fp80, ptr %192, align 16, !tbaa !9
  %2251 = load x86_fp80, ptr %193, align 16, !tbaa !9
  %2252 = fsub x86_fp80 %2250, %2251
  %2253 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2252)
          to label %2254 unwind label %2279

2254:                                             ; preds = %2249
  %2255 = load x86_fp80, ptr %193, align 16, !tbaa !9
  %2256 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2255)
          to label %2257 unwind label %2279

2257:                                             ; preds = %2254
  %2258 = fadd x86_fp80 0xK3FFF8000000000000000, %2256
  %2259 = fdiv x86_fp80 %2253, %2258
  store x86_fp80 %2259, ptr %194, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %195) #7
  store i8 0, ptr %195, align 1, !tbaa !11
  %2260 = load x86_fp80, ptr %192, align 16, !tbaa !9
  %2261 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2260)
          to label %2262 unwind label %2283

2262:                                             ; preds = %2257
  br i1 %2261, label %2263, label %2287

2263:                                             ; preds = %2262
  %2264 = load x86_fp80, ptr %193, align 16, !tbaa !9
  %2265 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2264)
          to label %2266 unwind label %2283

2266:                                             ; preds = %2263
  br i1 %2265, label %2267, label %2287

2267:                                             ; preds = %2266
  store i8 1, ptr %195, align 1, !tbaa !11
  br label %2318

2268:                                             ; preds = %2235, %2219, %2188
  call void @llvm.lifetime.end.p0(i64 1, ptr %187) #7
  br label %2269

2269:                                             ; preds = %2268, %2184
  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 %2270

2270:                                             ; preds = %2269, %2180
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #7
  br label %2814

2271:                                             ; preds = %2239
  %2272 = landingpad { ptr, i32 }
          cleanup
  %2273 = extractvalue { ptr, i32 } %2272, 0
  store ptr %2273, ptr %4, align 8
  %2274 = extractvalue { ptr, i32 } %2272, 1
  store i32 %2274, ptr %5, align 4
  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 %2364

2275:                                             ; preds = %2242
  %2276 = landingpad { ptr, i32 }
          cleanup
  %2277 = extractvalue { ptr, i32 } %2276, 0
  store ptr %2277, ptr %4, align 8
  %2278 = extractvalue { ptr, i32 } %2276, 1
  store i32 %2278, ptr %5, align 4
  br label %2363

2279:                                             ; preds = %2254, %2249
  %2280 = landingpad { ptr, i32 }
          cleanup
  %2281 = extractvalue { ptr, i32 } %2280, 0
  store ptr %2281, ptr %4, align 8
  %2282 = extractvalue { ptr, i32 } %2280, 1
  store i32 %2282, ptr %5, align 4
  br label %2362

2283:                                             ; preds = %2321, %2304, %2291, %2287, %2263, %2257
  %2284 = landingpad { ptr, i32 }
          cleanup
  %2285 = extractvalue { ptr, i32 } %2284, 0
  store ptr %2285, ptr %4, align 8
  %2286 = extractvalue { ptr, i32 } %2284, 1
  store i32 %2286, ptr %5, align 4
  br label %2361

2287:                                             ; preds = %2266, %2262
  %2288 = load x86_fp80, ptr %192, align 16, !tbaa !9
  %2289 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2288)
          to label %2290 unwind label %2283

2290:                                             ; preds = %2287
  br i1 %2289, label %2300, label %2291

2291:                                             ; preds = %2290
  %2292 = load x86_fp80, ptr %192, align 16, !tbaa !9
  %2293 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2292)
          to label %2294 unwind label %2283

2294:                                             ; preds = %2291
  br i1 %2293, label %2295, label %2300

2295:                                             ; preds = %2294
  %2296 = load x86_fp80, ptr %192, align 16, !tbaa !9
  %2297 = load x86_fp80, ptr %193, align 16, !tbaa !9
  %2298 = fcmp oeq x86_fp80 %2296, %2297
  br i1 %2298, label %2299, label %2300

2299:                                             ; preds = %2295
  store i8 1, ptr %195, align 1, !tbaa !11
  br label %2317

2300:                                             ; preds = %2295, %2294, %2290
  %2301 = load x86_fp80, ptr %194, align 16, !tbaa !9
  %2302 = fcmp olt x86_fp80 %2301, 0xK3FD0B424DC35095CD800
  br i1 %2302, label %2303, label %2304

2303:                                             ; preds = %2300
  store i8 1, ptr %195, align 1, !tbaa !11
  br label %2316

2304:                                             ; preds = %2300
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %196, ptr noundef nonnull align 8 dereferenceable(32) %190)
          to label %2305 unwind label %2283

2305:                                             ; preds = %2304
  %2306 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2307 = load x86_fp80, ptr %192, align 16, !tbaa !9
  %2308 = load x86_fp80, ptr %193, align 16, !tbaa !9
  %2309 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2310 = fneg double %2309
  invoke void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %196, i32 noundef %2306, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2307, x86_fp80 noundef %2308, double noundef %2310, x86_fp80 noundef 0xK40008000000000000000)
          to label %2311 unwind label %2312

2311:                                             ; preds = %2305
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %196) #7
  br label %2316

2312:                                             ; preds = %2305
  %2313 = landingpad { ptr, i32 }
          cleanup
  %2314 = extractvalue { ptr, i32 } %2313, 0
  store ptr %2314, ptr %4, align 8
  %2315 = extractvalue { ptr, i32 } %2313, 1
  store i32 %2315, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %196) #7
  br label %2361

2316:                                             ; preds = %2311, %2303
  br label %2317

2317:                                             ; preds = %2316, %2299
  br label %2318

2318:                                             ; preds = %2317, %2267
  %2319 = load i8, ptr %195, align 1, !tbaa !11, !range !13, !noundef !14
  %2320 = trunc i8 %2319 to i1
  br i1 %2320, label %2321, label %2332

2321:                                             ; preds = %2318
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %197, ptr noundef nonnull align 8 dereferenceable(32) %190)
          to label %2322 unwind label %2283

2322:                                             ; preds = %2321
  %2323 = load x86_fp80, ptr %192, align 16, !tbaa !9
  %2324 = load x86_fp80, ptr %194, align 16, !tbaa !9
  %2325 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2326 = fneg double %2325
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %197, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2323, x86_fp80 noundef %2324, double noundef %2326, x86_fp80 noundef 0xK40008000000000000000)
          to label %2327 unwind label %2328

2327:                                             ; preds = %2322
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %197) #7
  br label %2332

2328:                                             ; preds = %2322
  %2329 = landingpad { ptr, i32 }
          cleanup
  %2330 = extractvalue { ptr, i32 } %2329, 0
  store ptr %2330, ptr %4, align 8
  %2331 = extractvalue { ptr, i32 } %2329, 1
  store i32 %2331, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %197) #7
  br label %2361

2332:                                             ; preds = %2327, %2318
  call void @llvm.lifetime.end.p0(i64 1, ptr %195) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %194) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %193) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %192) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #7
  %2333 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2334 = add nsw i32 %2333, 1
  store i32 %2334, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %198) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %199) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %199) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %198, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %199)
          to label %2335 unwind label %2365

2335:                                             ; preds = %2332
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %199) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %200) #7
  %2336 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2337 = fneg double %2336
  %2338 = call noundef x86_fp80 @_ZN4gcem5hypotIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, double noundef %2337) #7
  store x86_fp80 %2338, ptr %200, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %201) #7
  %2339 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2340 = fneg double %2339
  %2341 = invoke noundef x86_fp80 @_ZSt5hypotIedEN9__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 0xK40008000000000000000, double noundef %2340)
          to label %2342 unwind label %2369

2342:                                             ; preds = %2335
  store x86_fp80 %2341, ptr %201, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %202) #7
  %2343 = load x86_fp80, ptr %200, align 16, !tbaa !9
  %2344 = load x86_fp80, ptr %201, align 16, !tbaa !9
  %2345 = fsub x86_fp80 %2343, %2344
  %2346 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2345)
          to label %2347 unwind label %2373

2347:                                             ; preds = %2342
  %2348 = load x86_fp80, ptr %201, align 16, !tbaa !9
  %2349 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2348)
          to label %2350 unwind label %2373

2350:                                             ; preds = %2347
  %2351 = fadd x86_fp80 0xK3FFF8000000000000000, %2349
  %2352 = fdiv x86_fp80 %2346, %2351
  store x86_fp80 %2352, ptr %202, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %203) #7
  store i8 0, ptr %203, align 1, !tbaa !11
  %2353 = load x86_fp80, ptr %200, align 16, !tbaa !9
  %2354 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2353)
          to label %2355 unwind label %2377

2355:                                             ; preds = %2350
  br i1 %2354, label %2356, label %2381

2356:                                             ; preds = %2355
  %2357 = load x86_fp80, ptr %201, align 16, !tbaa !9
  %2358 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2357)
          to label %2359 unwind label %2377

2359:                                             ; preds = %2356
  br i1 %2358, label %2360, label %2381

2360:                                             ; preds = %2359
  store i8 1, ptr %203, align 1, !tbaa !11
  br label %2412

2361:                                             ; preds = %2328, %2312, %2283
  call void @llvm.lifetime.end.p0(i64 1, ptr %195) #7
  br label %2362

2362:                                             ; preds = %2361, %2279
  call void @llvm.lifetime.end.p0(i64 16, ptr %194) #7
  br label %2363

2363:                                             ; preds = %2362, %2275
  call void @llvm.lifetime.end.p0(i64 16, ptr %193) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %192) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #7
  br label %2364

2364:                                             ; preds = %2363, %2271
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #7
  br label %2814

2365:                                             ; preds = %2332
  %2366 = landingpad { ptr, i32 }
          cleanup
  %2367 = extractvalue { ptr, i32 } %2366, 0
  store ptr %2367, ptr %4, align 8
  %2368 = extractvalue { ptr, i32 } %2366, 1
  store i32 %2368, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %199) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #7
  br label %2463

2369:                                             ; preds = %2335
  %2370 = landingpad { ptr, i32 }
          cleanup
  %2371 = extractvalue { ptr, i32 } %2370, 0
  store ptr %2371, ptr %4, align 8
  %2372 = extractvalue { ptr, i32 } %2370, 1
  store i32 %2372, ptr %5, align 4
  br label %2462

2373:                                             ; preds = %2347, %2342
  %2374 = landingpad { ptr, i32 }
          cleanup
  %2375 = extractvalue { ptr, i32 } %2374, 0
  store ptr %2375, ptr %4, align 8
  %2376 = extractvalue { ptr, i32 } %2374, 1
  store i32 %2376, ptr %5, align 4
  br label %2461

2377:                                             ; preds = %2415, %2398, %2385, %2381, %2356, %2350
  %2378 = landingpad { ptr, i32 }
          cleanup
  %2379 = extractvalue { ptr, i32 } %2378, 0
  store ptr %2379, ptr %4, align 8
  %2380 = extractvalue { ptr, i32 } %2378, 1
  store i32 %2380, ptr %5, align 4
  br label %2460

2381:                                             ; preds = %2359, %2355
  %2382 = load x86_fp80, ptr %200, align 16, !tbaa !9
  %2383 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2382)
          to label %2384 unwind label %2377

2384:                                             ; preds = %2381
  br i1 %2383, label %2394, label %2385

2385:                                             ; preds = %2384
  %2386 = load x86_fp80, ptr %200, align 16, !tbaa !9
  %2387 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2386)
          to label %2388 unwind label %2377

2388:                                             ; preds = %2385
  br i1 %2387, label %2389, label %2394

2389:                                             ; preds = %2388
  %2390 = load x86_fp80, ptr %200, align 16, !tbaa !9
  %2391 = load x86_fp80, ptr %201, align 16, !tbaa !9
  %2392 = fcmp oeq x86_fp80 %2390, %2391
  br i1 %2392, label %2393, label %2394

2393:                                             ; preds = %2389
  store i8 1, ptr %203, align 1, !tbaa !11
  br label %2411

2394:                                             ; preds = %2389, %2388, %2384
  %2395 = load x86_fp80, ptr %202, align 16, !tbaa !9
  %2396 = fcmp olt x86_fp80 %2395, 0xK3FD0B424DC35095CD800
  br i1 %2396, label %2397, label %2398

2397:                                             ; preds = %2394
  store i8 1, ptr %203, align 1, !tbaa !11
  br label %2410

2398:                                             ; preds = %2394
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef nonnull align 8 dereferenceable(32) %198)
          to label %2399 unwind label %2377

2399:                                             ; preds = %2398
  %2400 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2401 = load x86_fp80, ptr %200, align 16, !tbaa !9
  %2402 = load x86_fp80, ptr %201, align 16, !tbaa !9
  %2403 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2404 = fneg double %2403
  invoke void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %204, i32 noundef %2400, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2401, x86_fp80 noundef %2402, x86_fp80 noundef 0xK40008000000000000000, double noundef %2404)
          to label %2405 unwind label %2406

2405:                                             ; preds = %2399
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #7
  br label %2410

2406:                                             ; preds = %2399
  %2407 = landingpad { ptr, i32 }
          cleanup
  %2408 = extractvalue { ptr, i32 } %2407, 0
  store ptr %2408, ptr %4, align 8
  %2409 = extractvalue { ptr, i32 } %2407, 1
  store i32 %2409, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #7
  br label %2460

2410:                                             ; preds = %2405, %2397
  br label %2411

2411:                                             ; preds = %2410, %2393
  br label %2412

2412:                                             ; preds = %2411, %2360
  %2413 = load i8, ptr %203, align 1, !tbaa !11, !range !13, !noundef !14
  %2414 = trunc i8 %2413 to i1
  br i1 %2414, label %2415, label %2426

2415:                                             ; preds = %2412
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %205, ptr noundef nonnull align 8 dereferenceable(32) %198)
          to label %2416 unwind label %2377

2416:                                             ; preds = %2415
  %2417 = load x86_fp80, ptr %200, align 16, !tbaa !9
  %2418 = load x86_fp80, ptr %202, align 16, !tbaa !9
  %2419 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2420 = fneg double %2419
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %205, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2417, x86_fp80 noundef %2418, x86_fp80 noundef 0xK40008000000000000000, double noundef %2420)
          to label %2421 unwind label %2422

2421:                                             ; preds = %2416
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #7
  br label %2426

2422:                                             ; preds = %2416
  %2423 = landingpad { ptr, i32 }
          cleanup
  %2424 = extractvalue { ptr, i32 } %2423, 0
  store ptr %2424, ptr %4, align 8
  %2425 = extractvalue { ptr, i32 } %2423, 1
  store i32 %2425, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #7
  br label %2460

2426:                                             ; preds = %2421, %2412
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %202) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %201) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %200) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %198) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %198) #7
  %2427 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2428 = add nsw i32 %2427, 1
  store i32 %2428, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %206) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %207) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %207) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %206, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %207)
          to label %2429 unwind label %2464

2429:                                             ; preds = %2426
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %207) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %207) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #7
  %2430 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2431 = fneg double %2430
  %2432 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2433 = fneg double %2432
  %2434 = call noundef double @_ZN4gcem5hypotIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %2431, double noundef %2433) #7
  store double %2434, ptr %208, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %209) #7
  %2435 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2436 = fneg double %2435
  %2437 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2438 = fneg double %2437
  %2439 = call double @hypot(double noundef %2436, double noundef %2438) #7
  store double %2439, ptr %209, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #7
  %2440 = load double, ptr %208, align 8, !tbaa !15
  %2441 = load double, ptr %209, align 8, !tbaa !15
  %2442 = fsub double %2440, %2441
  %2443 = invoke noundef double @_ZSt3absd(double noundef %2442)
          to label %2444 unwind label %2468

2444:                                             ; preds = %2429
  %2445 = load double, ptr %209, align 8, !tbaa !15
  %2446 = invoke noundef double @_ZSt3absd(double noundef %2445)
          to label %2447 unwind label %2468

2447:                                             ; preds = %2444
  %2448 = fadd double 1.000000e+00, %2446
  %2449 = fdiv double %2443, %2448
  store double %2449, ptr %210, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %211) #7
  store i8 0, ptr %211, align 1, !tbaa !11
  %2450 = load double, ptr %208, align 8, !tbaa !15
  %2451 = fpext double %2450 to x86_fp80
  %2452 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2451)
          to label %2453 unwind label %2472

2453:                                             ; preds = %2447
  br i1 %2452, label %2454, label %2476

2454:                                             ; preds = %2453
  %2455 = load double, ptr %209, align 8, !tbaa !15
  %2456 = fpext double %2455 to x86_fp80
  %2457 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2456)
          to label %2458 unwind label %2472

2458:                                             ; preds = %2454
  br i1 %2457, label %2459, label %2476

2459:                                             ; preds = %2458
  store i8 1, ptr %211, align 1, !tbaa !11
  br label %2511

2460:                                             ; preds = %2422, %2406, %2377
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #7
  br label %2461

2461:                                             ; preds = %2460, %2373
  call void @llvm.lifetime.end.p0(i64 16, ptr %202) #7
  br label %2462

2462:                                             ; preds = %2461, %2369
  call void @llvm.lifetime.end.p0(i64 16, ptr %201) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %200) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %198) #7
  br label %2463

2463:                                             ; preds = %2462, %2365
  call void @llvm.lifetime.end.p0(i64 32, ptr %198) #7
  br label %2814

2464:                                             ; preds = %2426
  %2465 = landingpad { ptr, i32 }
          cleanup
  %2466 = extractvalue { ptr, i32 } %2465, 0
  store ptr %2466, ptr %4, align 8
  %2467 = extractvalue { ptr, i32 } %2465, 1
  store i32 %2467, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %207) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %207) #7
  br label %2556

2468:                                             ; preds = %2444, %2429
  %2469 = landingpad { ptr, i32 }
          cleanup
  %2470 = extractvalue { ptr, i32 } %2469, 0
  store ptr %2470, ptr %4, align 8
  %2471 = extractvalue { ptr, i32 } %2469, 1
  store i32 %2471, ptr %5, align 4
  br label %2555

2472:                                             ; preds = %2514, %2495, %2481, %2476, %2454, %2447
  %2473 = landingpad { ptr, i32 }
          cleanup
  %2474 = extractvalue { ptr, i32 } %2473, 0
  store ptr %2474, ptr %4, align 8
  %2475 = extractvalue { ptr, i32 } %2473, 1
  store i32 %2475, ptr %5, align 4
  br label %2554

2476:                                             ; preds = %2458, %2453
  %2477 = load double, ptr %208, align 8, !tbaa !15
  %2478 = fpext double %2477 to x86_fp80
  %2479 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2478)
          to label %2480 unwind label %2472

2480:                                             ; preds = %2476
  br i1 %2479, label %2491, label %2481

2481:                                             ; preds = %2480
  %2482 = load double, ptr %208, align 8, !tbaa !15
  %2483 = fpext double %2482 to x86_fp80
  %2484 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2483)
          to label %2485 unwind label %2472

2485:                                             ; preds = %2481
  br i1 %2484, label %2486, label %2491

2486:                                             ; preds = %2485
  %2487 = load double, ptr %208, align 8, !tbaa !15
  %2488 = load double, ptr %209, align 8, !tbaa !15
  %2489 = fcmp oeq double %2487, %2488
  br i1 %2489, label %2490, label %2491

2490:                                             ; preds = %2486
  store i8 1, ptr %211, align 1, !tbaa !11
  br label %2510

2491:                                             ; preds = %2486, %2485, %2480
  %2492 = load double, ptr %210, align 8, !tbaa !15
  %2493 = fcmp olt double %2492, 0x3D06849B86A12B9B
  br i1 %2493, label %2494, label %2495

2494:                                             ; preds = %2491
  store i8 1, ptr %211, align 1, !tbaa !11
  br label %2509

2495:                                             ; preds = %2491
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %212, ptr noundef nonnull align 8 dereferenceable(32) %206)
          to label %2496 unwind label %2472

2496:                                             ; preds = %2495
  %2497 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2498 = load double, ptr %208, align 8, !tbaa !15
  %2499 = load double, ptr %209, align 8, !tbaa !15
  %2500 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2501 = fneg double %2500
  %2502 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2503 = fneg double %2502
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %212, i32 noundef %2497, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %2498, double noundef %2499, double noundef %2501, double noundef %2503)
          to label %2504 unwind label %2505

2504:                                             ; preds = %2496
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #7
  br label %2509

2505:                                             ; preds = %2496
  %2506 = landingpad { ptr, i32 }
          cleanup
  %2507 = extractvalue { ptr, i32 } %2506, 0
  store ptr %2507, ptr %4, align 8
  %2508 = extractvalue { ptr, i32 } %2506, 1
  store i32 %2508, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #7
  br label %2554

2509:                                             ; preds = %2504, %2494
  br label %2510

2510:                                             ; preds = %2509, %2490
  br label %2511

2511:                                             ; preds = %2510, %2459
  %2512 = load i8, ptr %211, align 1, !tbaa !11, !range !13, !noundef !14
  %2513 = trunc i8 %2512 to i1
  br i1 %2513, label %2514, label %2527

2514:                                             ; preds = %2511
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %213, ptr noundef nonnull align 8 dereferenceable(32) %206)
          to label %2515 unwind label %2472

2515:                                             ; preds = %2514
  %2516 = load double, ptr %208, align 8, !tbaa !15
  %2517 = load double, ptr %210, align 8, !tbaa !15
  %2518 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2519 = fneg double %2518
  %2520 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %2521 = fneg double %2520
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %213, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %2516, double noundef %2517, double noundef %2519, double noundef %2521)
          to label %2522 unwind label %2523

2522:                                             ; preds = %2515
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #7
  br label %2527

2523:                                             ; preds = %2515
  %2524 = landingpad { ptr, i32 }
          cleanup
  %2525 = extractvalue { ptr, i32 } %2524, 0
  store ptr %2525, ptr %4, align 8
  %2526 = extractvalue { ptr, i32 } %2524, 1
  store i32 %2526, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #7
  br label %2554

2527:                                             ; preds = %2522, %2511
  call void @llvm.lifetime.end.p0(i64 1, ptr %211) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %209) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %206) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %206) #7
  %2528 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2529 = add nsw i32 %2528, 1
  store i32 %2529, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %214) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %215) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %215) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %214, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %215)
          to label %2530 unwind label %2557

2530:                                             ; preds = %2527
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %215) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %215) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %216) #7
  %2531 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2532 = call noundef x86_fp80 @_ZN4gcem5hypotIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %2531, x86_fp80 noundef 0xK3FFF8000000000000000) #7
  store x86_fp80 %2532, ptr %216, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %217) #7
  %2533 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2534 = invoke noundef x86_fp80 @_ZSt5hypotIdeEN9__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 %2533, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %2535 unwind label %2561

2535:                                             ; preds = %2530
  store x86_fp80 %2534, ptr %217, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %218) #7
  %2536 = load x86_fp80, ptr %216, align 16, !tbaa !9
  %2537 = load x86_fp80, ptr %217, align 16, !tbaa !9
  %2538 = fsub x86_fp80 %2536, %2537
  %2539 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2538)
          to label %2540 unwind label %2565

2540:                                             ; preds = %2535
  %2541 = load x86_fp80, ptr %217, align 16, !tbaa !9
  %2542 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2541)
          to label %2543 unwind label %2565

2543:                                             ; preds = %2540
  %2544 = fadd x86_fp80 0xK3FFF8000000000000000, %2542
  %2545 = fdiv x86_fp80 %2539, %2544
  store x86_fp80 %2545, ptr %218, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %219) #7
  store i8 0, ptr %219, align 1, !tbaa !11
  %2546 = load x86_fp80, ptr %216, align 16, !tbaa !9
  %2547 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2546)
          to label %2548 unwind label %2569

2548:                                             ; preds = %2543
  br i1 %2547, label %2549, label %2573

2549:                                             ; preds = %2548
  %2550 = load x86_fp80, ptr %217, align 16, !tbaa !9
  %2551 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2550)
          to label %2552 unwind label %2569

2552:                                             ; preds = %2549
  br i1 %2551, label %2553, label %2573

2553:                                             ; preds = %2552
  store i8 1, ptr %219, align 1, !tbaa !11
  br label %2603

2554:                                             ; preds = %2523, %2505, %2472
  call void @llvm.lifetime.end.p0(i64 1, ptr %211) #7
  br label %2555

2555:                                             ; preds = %2554, %2468
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %209) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %206) #7
  br label %2556

2556:                                             ; preds = %2555, %2464
  call void @llvm.lifetime.end.p0(i64 32, ptr %206) #7
  br label %2814

2557:                                             ; preds = %2527
  %2558 = landingpad { ptr, i32 }
          cleanup
  %2559 = extractvalue { ptr, i32 } %2558, 0
  store ptr %2559, ptr %4, align 8
  %2560 = extractvalue { ptr, i32 } %2558, 1
  store i32 %2560, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %215) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %215) #7
  br label %2646

2561:                                             ; preds = %2530
  %2562 = landingpad { ptr, i32 }
          cleanup
  %2563 = extractvalue { ptr, i32 } %2562, 0
  store ptr %2563, ptr %4, align 8
  %2564 = extractvalue { ptr, i32 } %2562, 1
  store i32 %2564, ptr %5, align 4
  br label %2645

2565:                                             ; preds = %2540, %2535
  %2566 = landingpad { ptr, i32 }
          cleanup
  %2567 = extractvalue { ptr, i32 } %2566, 0
  store ptr %2567, ptr %4, align 8
  %2568 = extractvalue { ptr, i32 } %2566, 1
  store i32 %2568, ptr %5, align 4
  br label %2644

2569:                                             ; preds = %2606, %2590, %2577, %2573, %2549, %2543
  %2570 = landingpad { ptr, i32 }
          cleanup
  %2571 = extractvalue { ptr, i32 } %2570, 0
  store ptr %2571, ptr %4, align 8
  %2572 = extractvalue { ptr, i32 } %2570, 1
  store i32 %2572, ptr %5, align 4
  br label %2643

2573:                                             ; preds = %2552, %2548
  %2574 = load x86_fp80, ptr %216, align 16, !tbaa !9
  %2575 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2574)
          to label %2576 unwind label %2569

2576:                                             ; preds = %2573
  br i1 %2575, label %2586, label %2577

2577:                                             ; preds = %2576
  %2578 = load x86_fp80, ptr %216, align 16, !tbaa !9
  %2579 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2578)
          to label %2580 unwind label %2569

2580:                                             ; preds = %2577
  br i1 %2579, label %2581, label %2586

2581:                                             ; preds = %2580
  %2582 = load x86_fp80, ptr %216, align 16, !tbaa !9
  %2583 = load x86_fp80, ptr %217, align 16, !tbaa !9
  %2584 = fcmp oeq x86_fp80 %2582, %2583
  br i1 %2584, label %2585, label %2586

2585:                                             ; preds = %2581
  store i8 1, ptr %219, align 1, !tbaa !11
  br label %2602

2586:                                             ; preds = %2581, %2580, %2576
  %2587 = load x86_fp80, ptr %218, align 16, !tbaa !9
  %2588 = fcmp olt x86_fp80 %2587, 0xK3FD0B424DC35095CD800
  br i1 %2588, label %2589, label %2590

2589:                                             ; preds = %2586
  store i8 1, ptr %219, align 1, !tbaa !11
  br label %2601

2590:                                             ; preds = %2586
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %220, ptr noundef nonnull align 8 dereferenceable(32) %214)
          to label %2591 unwind label %2569

2591:                                             ; preds = %2590
  %2592 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2593 = load x86_fp80, ptr %216, align 16, !tbaa !9
  %2594 = load x86_fp80, ptr %217, align 16, !tbaa !9
  %2595 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %220, i32 noundef %2592, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2593, x86_fp80 noundef %2594, double noundef %2595, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %2596 unwind label %2597

2596:                                             ; preds = %2591
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #7
  br label %2601

2597:                                             ; preds = %2591
  %2598 = landingpad { ptr, i32 }
          cleanup
  %2599 = extractvalue { ptr, i32 } %2598, 0
  store ptr %2599, ptr %4, align 8
  %2600 = extractvalue { ptr, i32 } %2598, 1
  store i32 %2600, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #7
  br label %2643

2601:                                             ; preds = %2596, %2589
  br label %2602

2602:                                             ; preds = %2601, %2585
  br label %2603

2603:                                             ; preds = %2602, %2553
  %2604 = load i8, ptr %219, align 1, !tbaa !11, !range !13, !noundef !14
  %2605 = trunc i8 %2604 to i1
  br i1 %2605, label %2606, label %2616

2606:                                             ; preds = %2603
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %221, ptr noundef nonnull align 8 dereferenceable(32) %214)
          to label %2607 unwind label %2569

2607:                                             ; preds = %2606
  %2608 = load x86_fp80, ptr %216, align 16, !tbaa !9
  %2609 = load x86_fp80, ptr %218, align 16, !tbaa !9
  %2610 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %221, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2608, x86_fp80 noundef %2609, double noundef %2610, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %2611 unwind label %2612

2611:                                             ; preds = %2607
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #7
  br label %2616

2612:                                             ; preds = %2607
  %2613 = landingpad { ptr, i32 }
          cleanup
  %2614 = extractvalue { ptr, i32 } %2613, 0
  store ptr %2614, ptr %4, align 8
  %2615 = extractvalue { ptr, i32 } %2613, 1
  store i32 %2615, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #7
  br label %2643

2616:                                             ; preds = %2611, %2603
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %218) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %217) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %216) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %214) #7
  %2617 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2618 = add nsw i32 %2617, 1
  store i32 %2618, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %222) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %223) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %223) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %222, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %223)
          to label %2619 unwind label %2647

2619:                                             ; preds = %2616
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %223) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %224) #7
  %2620 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2621 = call noundef x86_fp80 @_ZN4gcem5hypotIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %2620) #7
  store x86_fp80 %2621, ptr %224, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %225) #7
  %2622 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2623 = invoke noundef x86_fp80 @_ZSt5hypotIedEN9__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 %2622)
          to label %2624 unwind label %2651

2624:                                             ; preds = %2619
  store x86_fp80 %2623, ptr %225, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %226) #7
  %2625 = load x86_fp80, ptr %224, align 16, !tbaa !9
  %2626 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2627 = fsub x86_fp80 %2625, %2626
  %2628 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2627)
          to label %2629 unwind label %2655

2629:                                             ; preds = %2624
  %2630 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2631 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2630)
          to label %2632 unwind label %2655

2632:                                             ; preds = %2629
  %2633 = fadd x86_fp80 0xK3FFF8000000000000000, %2631
  %2634 = fdiv x86_fp80 %2628, %2633
  store x86_fp80 %2634, ptr %226, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %227) #7
  store i8 0, ptr %227, align 1, !tbaa !11
  %2635 = load x86_fp80, ptr %224, align 16, !tbaa !9
  %2636 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2635)
          to label %2637 unwind label %2659

2637:                                             ; preds = %2632
  br i1 %2636, label %2638, label %2663

2638:                                             ; preds = %2637
  %2639 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2640 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2639)
          to label %2641 unwind label %2659

2641:                                             ; preds = %2638
  br i1 %2640, label %2642, label %2663

2642:                                             ; preds = %2641
  store i8 1, ptr %227, align 1, !tbaa !11
  br label %2693

2643:                                             ; preds = %2612, %2597, %2569
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #7
  br label %2644

2644:                                             ; preds = %2643, %2565
  call void @llvm.lifetime.end.p0(i64 16, ptr %218) #7
  br label %2645

2645:                                             ; preds = %2644, %2561
  call void @llvm.lifetime.end.p0(i64 16, ptr %217) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %216) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #7
  br label %2646

2646:                                             ; preds = %2645, %2557
  call void @llvm.lifetime.end.p0(i64 32, ptr %214) #7
  br label %2814

2647:                                             ; preds = %2616
  %2648 = landingpad { ptr, i32 }
          cleanup
  %2649 = extractvalue { ptr, i32 } %2648, 0
  store ptr %2649, ptr %4, align 8
  %2650 = extractvalue { ptr, i32 } %2648, 1
  store i32 %2650, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %223) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #7
  br label %2739

2651:                                             ; preds = %2619
  %2652 = landingpad { ptr, i32 }
          cleanup
  %2653 = extractvalue { ptr, i32 } %2652, 0
  store ptr %2653, ptr %4, align 8
  %2654 = extractvalue { ptr, i32 } %2652, 1
  store i32 %2654, ptr %5, align 4
  br label %2738

2655:                                             ; preds = %2629, %2624
  %2656 = landingpad { ptr, i32 }
          cleanup
  %2657 = extractvalue { ptr, i32 } %2656, 0
  store ptr %2657, ptr %4, align 8
  %2658 = extractvalue { ptr, i32 } %2656, 1
  store i32 %2658, ptr %5, align 4
  br label %2737

2659:                                             ; preds = %2696, %2680, %2667, %2663, %2638, %2632
  %2660 = landingpad { ptr, i32 }
          cleanup
  %2661 = extractvalue { ptr, i32 } %2660, 0
  store ptr %2661, ptr %4, align 8
  %2662 = extractvalue { ptr, i32 } %2660, 1
  store i32 %2662, ptr %5, align 4
  br label %2736

2663:                                             ; preds = %2641, %2637
  %2664 = load x86_fp80, ptr %224, align 16, !tbaa !9
  %2665 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2664)
          to label %2666 unwind label %2659

2666:                                             ; preds = %2663
  br i1 %2665, label %2676, label %2667

2667:                                             ; preds = %2666
  %2668 = load x86_fp80, ptr %224, align 16, !tbaa !9
  %2669 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2668)
          to label %2670 unwind label %2659

2670:                                             ; preds = %2667
  br i1 %2669, label %2671, label %2676

2671:                                             ; preds = %2670
  %2672 = load x86_fp80, ptr %224, align 16, !tbaa !9
  %2673 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2674 = fcmp oeq x86_fp80 %2672, %2673
  br i1 %2674, label %2675, label %2676

2675:                                             ; preds = %2671
  store i8 1, ptr %227, align 1, !tbaa !11
  br label %2692

2676:                                             ; preds = %2671, %2670, %2666
  %2677 = load x86_fp80, ptr %226, align 16, !tbaa !9
  %2678 = fcmp olt x86_fp80 %2677, 0xK3FD0B424DC35095CD800
  br i1 %2678, label %2679, label %2680

2679:                                             ; preds = %2676
  store i8 1, ptr %227, align 1, !tbaa !11
  br label %2691

2680:                                             ; preds = %2676
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %228, ptr noundef nonnull align 8 dereferenceable(32) %222)
          to label %2681 unwind label %2659

2681:                                             ; preds = %2680
  %2682 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2683 = load x86_fp80, ptr %224, align 16, !tbaa !9
  %2684 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2685 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %228, i32 noundef %2682, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2683, x86_fp80 noundef %2684, x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %2685)
          to label %2686 unwind label %2687

2686:                                             ; preds = %2681
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #7
  br label %2691

2687:                                             ; preds = %2681
  %2688 = landingpad { ptr, i32 }
          cleanup
  %2689 = extractvalue { ptr, i32 } %2688, 0
  store ptr %2689, ptr %4, align 8
  %2690 = extractvalue { ptr, i32 } %2688, 1
  store i32 %2690, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #7
  br label %2736

2691:                                             ; preds = %2686, %2679
  br label %2692

2692:                                             ; preds = %2691, %2675
  br label %2693

2693:                                             ; preds = %2692, %2642
  %2694 = load i8, ptr %227, align 1, !tbaa !11, !range !13, !noundef !14
  %2695 = trunc i8 %2694 to i1
  br i1 %2695, label %2696, label %2706

2696:                                             ; preds = %2693
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef nonnull align 8 dereferenceable(32) %222)
          to label %2697 unwind label %2659

2697:                                             ; preds = %2696
  %2698 = load x86_fp80, ptr %224, align 16, !tbaa !9
  %2699 = load x86_fp80, ptr %226, align 16, !tbaa !9
  %2700 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %229, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %2698, x86_fp80 noundef %2699, x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %2700)
          to label %2701 unwind label %2702

2701:                                             ; preds = %2697
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #7
  br label %2706

2702:                                             ; preds = %2697
  %2703 = landingpad { ptr, i32 }
          cleanup
  %2704 = extractvalue { ptr, i32 } %2703, 0
  store ptr %2704, ptr %4, align 8
  %2705 = extractvalue { ptr, i32 } %2703, 1
  store i32 %2705, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #7
  br label %2736

2706:                                             ; preds = %2701, %2693
  call void @llvm.lifetime.end.p0(i64 1, ptr %227) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %226) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %225) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %224) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %222) #7
  %2707 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2708 = add nsw i32 %2707, 1
  store i32 %2708, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %230) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %231) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %231) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %230, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %231)
          to label %2709 unwind label %2740

2709:                                             ; preds = %2706
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %231) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %231) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %232) #7
  %2710 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2711 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2712 = call noundef double @_ZN4gcem5hypotIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %2710, double noundef %2711) #7
  store double %2712, ptr %232, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %233) #7
  %2713 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2714 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2715 = call double @hypot(double noundef %2713, double noundef %2714) #7
  store double %2715, ptr %233, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #7
  %2716 = load double, ptr %232, align 8, !tbaa !15
  %2717 = load double, ptr %233, align 8, !tbaa !15
  %2718 = fsub double %2716, %2717
  %2719 = invoke noundef double @_ZSt3absd(double noundef %2718)
          to label %2720 unwind label %2744

2720:                                             ; preds = %2709
  %2721 = load double, ptr %233, align 8, !tbaa !15
  %2722 = invoke noundef double @_ZSt3absd(double noundef %2721)
          to label %2723 unwind label %2744

2723:                                             ; preds = %2720
  %2724 = fadd double 1.000000e+00, %2722
  %2725 = fdiv double %2719, %2724
  store double %2725, ptr %234, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %235) #7
  store i8 0, ptr %235, align 1, !tbaa !11
  %2726 = load double, ptr %232, align 8, !tbaa !15
  %2727 = fpext double %2726 to x86_fp80
  %2728 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2727)
          to label %2729 unwind label %2748

2729:                                             ; preds = %2723
  br i1 %2728, label %2730, label %2752

2730:                                             ; preds = %2729
  %2731 = load double, ptr %233, align 8, !tbaa !15
  %2732 = fpext double %2731 to x86_fp80
  %2733 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2732)
          to label %2734 unwind label %2748

2734:                                             ; preds = %2730
  br i1 %2733, label %2735, label %2752

2735:                                             ; preds = %2734
  store i8 1, ptr %235, align 1, !tbaa !11
  br label %2785

2736:                                             ; preds = %2702, %2687, %2659
  call void @llvm.lifetime.end.p0(i64 1, ptr %227) #7
  br label %2737

2737:                                             ; preds = %2736, %2655
  call void @llvm.lifetime.end.p0(i64 16, ptr %226) #7
  br label %2738

2738:                                             ; preds = %2737, %2651
  call void @llvm.lifetime.end.p0(i64 16, ptr %225) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %224) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #7
  br label %2739

2739:                                             ; preds = %2738, %2647
  call void @llvm.lifetime.end.p0(i64 32, ptr %222) #7
  br label %2814

2740:                                             ; preds = %2706
  %2741 = landingpad { ptr, i32 }
          cleanup
  %2742 = extractvalue { ptr, i32 } %2741, 0
  store ptr %2742, ptr %4, align 8
  %2743 = extractvalue { ptr, i32 } %2741, 1
  store i32 %2743, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %231) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %231) #7
  br label %2804

2744:                                             ; preds = %2720, %2709
  %2745 = landingpad { ptr, i32 }
          cleanup
  %2746 = extractvalue { ptr, i32 } %2745, 0
  store ptr %2746, ptr %4, align 8
  %2747 = extractvalue { ptr, i32 } %2745, 1
  store i32 %2747, ptr %5, align 4
  br label %2803

2748:                                             ; preds = %2788, %2771, %2757, %2752, %2730, %2723
  %2749 = landingpad { ptr, i32 }
          cleanup
  %2750 = extractvalue { ptr, i32 } %2749, 0
  store ptr %2750, ptr %4, align 8
  %2751 = extractvalue { ptr, i32 } %2749, 1
  store i32 %2751, ptr %5, align 4
  br label %2802

2752:                                             ; preds = %2734, %2729
  %2753 = load double, ptr %232, align 8, !tbaa !15
  %2754 = fpext double %2753 to x86_fp80
  %2755 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2754)
          to label %2756 unwind label %2748

2756:                                             ; preds = %2752
  br i1 %2755, label %2767, label %2757

2757:                                             ; preds = %2756
  %2758 = load double, ptr %232, align 8, !tbaa !15
  %2759 = fpext double %2758 to x86_fp80
  %2760 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2759)
          to label %2761 unwind label %2748

2761:                                             ; preds = %2757
  br i1 %2760, label %2762, label %2767

2762:                                             ; preds = %2761
  %2763 = load double, ptr %232, align 8, !tbaa !15
  %2764 = load double, ptr %233, align 8, !tbaa !15
  %2765 = fcmp oeq double %2763, %2764
  br i1 %2765, label %2766, label %2767

2766:                                             ; preds = %2762
  store i8 1, ptr %235, align 1, !tbaa !11
  br label %2784

2767:                                             ; preds = %2762, %2761, %2756
  %2768 = load double, ptr %234, align 8, !tbaa !15
  %2769 = fcmp olt double %2768, 0x3D06849B86A12B9B
  br i1 %2769, label %2770, label %2771

2770:                                             ; preds = %2767
  store i8 1, ptr %235, align 1, !tbaa !11
  br label %2783

2771:                                             ; preds = %2767
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %236, ptr noundef nonnull align 8 dereferenceable(32) %230)
          to label %2772 unwind label %2748

2772:                                             ; preds = %2771
  %2773 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2774 = load double, ptr %232, align 8, !tbaa !15
  %2775 = load double, ptr %233, align 8, !tbaa !15
  %2776 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2777 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %236, i32 noundef %2773, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %2774, double noundef %2775, double noundef %2776, double noundef %2777)
          to label %2778 unwind label %2779

2778:                                             ; preds = %2772
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #7
  br label %2783

2779:                                             ; preds = %2772
  %2780 = landingpad { ptr, i32 }
          cleanup
  %2781 = extractvalue { ptr, i32 } %2780, 0
  store ptr %2781, ptr %4, align 8
  %2782 = extractvalue { ptr, i32 } %2780, 1
  store i32 %2782, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #7
  br label %2802

2783:                                             ; preds = %2778, %2770
  br label %2784

2784:                                             ; preds = %2783, %2766
  br label %2785

2785:                                             ; preds = %2784, %2735
  %2786 = load i8, ptr %235, align 1, !tbaa !11, !range !13, !noundef !14
  %2787 = trunc i8 %2786 to i1
  br i1 %2787, label %2788, label %2799

2788:                                             ; preds = %2785
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %237, ptr noundef nonnull align 8 dereferenceable(32) %230)
          to label %2789 unwind label %2748

2789:                                             ; preds = %2788
  %2790 = load double, ptr %232, align 8, !tbaa !15
  %2791 = load double, ptr %234, align 8, !tbaa !15
  %2792 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %2793 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %237, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %2790, double noundef %2791, double noundef %2792, double noundef %2793)
          to label %2794 unwind label %2795

2794:                                             ; preds = %2789
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #7
  br label %2799

2795:                                             ; preds = %2789
  %2796 = landingpad { ptr, i32 }
          cleanup
  %2797 = extractvalue { ptr, i32 } %2796, 0
  store ptr %2797, ptr %4, align 8
  %2798 = extractvalue { ptr, i32 } %2796, 1
  store i32 %2798, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #7
  br label %2802

2799:                                             ; preds = %2794, %2785
  call void @llvm.lifetime.end.p0(i64 1, ptr %235) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %233) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %230) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %239) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %239)
          to label %2800 unwind label %2805

2800:                                             ; preds = %2799
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %238)
          to label %2801 unwind label %2809

2801:                                             ; preds = %2800
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %239) #7
  ret i32 0

2802:                                             ; preds = %2795, %2779, %2748
  call void @llvm.lifetime.end.p0(i64 1, ptr %235) #7
  br label %2803

2803:                                             ; preds = %2802, %2744
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %233) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %230) #7
  br label %2804

2804:                                             ; preds = %2803, %2740
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #7
  br label %2814

2805:                                             ; preds = %2799
  %2806 = landingpad { ptr, i32 }
          cleanup
  %2807 = extractvalue { ptr, i32 } %2806, 0
  store ptr %2807, ptr %4, align 8
  %2808 = extractvalue { ptr, i32 } %2806, 1
  store i32 %2808, ptr %5, align 4
  br label %2813

2809:                                             ; preds = %2800
  %2810 = landingpad { ptr, i32 }
          cleanup
  %2811 = extractvalue { ptr, i32 } %2810, 0
  store ptr %2811, ptr %4, align 8
  %2812 = extractvalue { ptr, i32 } %2810, 1
  store i32 %2812, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #7
  br label %2813

2813:                                             ; preds = %2809, %2805
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %239) #7
  br label %2814

2814:                                             ; preds = %2813, %2804, %2739, %2646, %2556, %2463, %2364, %2270, %2179, %2086, %1996, %1908, %1822, %1736, %1650, %1564, %1478, %1392, %1306, %1220, %1134, %1048, %962, %876, %790, %704, %618, %532, %446, %360, %274
  %2815 = load ptr, ptr %4, align 8
  %2816 = load i32, ptr %5, align 4
  %2817 = insertvalue { ptr, i32 } poison, ptr %2815, 0
  %2818 = insertvalue { ptr, i32 } %2817, i32 %2816, 1
  resume { ptr, i32 } %2818
}

; 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 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, x86_fp80 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef, x86_fp80 noundef) #3

; 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 @_ZN4gcem5hypotIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, x86_fp80 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5hypotIdeEN9__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) #3

; 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 @_ZN4gcem5hypotIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, double noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5hypotIedEN9__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) #3

; 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 @_ZN4gcem5hypotIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, double noundef) #3

; Function Attrs: nounwind
declare double @hypot(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: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #3 align 2

; 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
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::allocator", align 1
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::allocator", align 1
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::allocator", align 1
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca %"class.std::allocator", align 1
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = 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 %121 unwind label %136

121:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %1)
          to label %122 unwind label %138

122:                                              ; preds = %121
  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
  %123 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %124 = add nsw i32 %123, 1
  store i32 %124, 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 %125 unwind label %141

125:                                              ; preds = %122
  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
  %126 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  %127 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
  %128 = fsub x86_fp80 %126, %127
  %129 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %128)
  %130 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %127)
  %131 = fadd x86_fp80 %130, 0xK3FFF8000000000000000
  %132 = fdiv x86_fp80 %129, %131
  %133 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %126)
  br i1 %133, label %134, label %145

134:                                              ; preds = %125
  %135 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %127)
  br i1 %135, label %157, label %145

136:                                              ; preds = %0
  %137 = landingpad { ptr, i32 }
          cleanup
  br label %140

138:                                              ; preds = %121
  %139 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #7
  br label %140

140:                                              ; preds = %138, %136
  %.pn = phi { ptr, i32 } [ %139, %138 ], [ %137, %136 ]
  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 %1220

141:                                              ; preds = %122
  %142 = 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 %175

143:                                              ; preds = %157, %152
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %174

145:                                              ; preds = %134, %125
  %146 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %126)
  br i1 %146, label %151, label %147

147:                                              ; preds = %145
  %148 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %126)
  %149 = fcmp oeq x86_fp80 %126, %127
  %or.cond = and i1 %149, %148
  %150 = fcmp olt x86_fp80 %132, 0xK3FD0B424DC35095CD800
  %or.cond776 = or i1 %150, %or.cond
  br i1 %or.cond776, label %157, label %152

151:                                              ; preds = %145
  %.old = fcmp olt x86_fp80 %132, 0xK3FD0B424DC35095CD800
  br i1 %.old, label %157, label %152

152:                                              ; preds = %147, %151
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %153 unwind label %143

153:                                              ; preds = %152
  %154 = 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 %154, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %126, x86_fp80 noundef %127, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge unwind label %155

155:                                              ; preds = %153
  %156 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %174

157:                                              ; preds = %134, %147, %151
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %158 unwind label %143

158:                                              ; preds = %157
  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 %126, x86_fp80 noundef %132, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge unwind label %159

159:                                              ; preds = %158
  %160 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %174

.critedge:                                        ; preds = %158, %153
  %.sink = phi ptr [ %5, %153 ], [ %6, %158 ]
  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
  %161 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %162 = add nsw i32 %161, 1
  store i32 %162, 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 %163 unwind label %176

163:                                              ; 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
  %164 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  %165 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
  %166 = fsub x86_fp80 %164, %165
  %167 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %166)
  %168 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %165)
  %169 = fadd x86_fp80 %168, 0xK3FFF8000000000000000
  %170 = fdiv x86_fp80 %167, %169
  %171 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %164)
  br i1 %171, label %172, label %180

172:                                              ; preds = %163
  %173 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %165)
  br i1 %173, label %192, label %180

174:                                              ; preds = %159, %155, %143
  %.pn602 = phi { ptr, i32 } [ %160, %159 ], [ %144, %143 ], [ %156, %155 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %175

175:                                              ; preds = %174, %141
  %.pn602.pn = phi { ptr, i32 } [ %.pn602, %174 ], [ %142, %141 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %1220

176:                                              ; preds = %.critedge
  %177 = 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 %210

178:                                              ; preds = %192, %187
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %209

180:                                              ; preds = %172, %163
  %181 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %164)
  br i1 %181, label %186, label %182

182:                                              ; preds = %180
  %183 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %164)
  %184 = fcmp oeq x86_fp80 %164, %165
  %or.cond692 = and i1 %184, %183
  %185 = fcmp olt x86_fp80 %170, 0xK3FD0B424DC35095CD800
  %or.cond778 = or i1 %185, %or.cond692
  br i1 %or.cond778, label %192, label %187

186:                                              ; preds = %180
  %.old777 = fcmp olt x86_fp80 %170, 0xK3FD0B424DC35095CD800
  br i1 %.old777, label %192, label %187

187:                                              ; preds = %182, %186
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %188 unwind label %178

188:                                              ; preds = %187
  %189 = 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 %189, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %164, x86_fp80 noundef %165, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge694 unwind label %190

190:                                              ; preds = %188
  %191 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %209

192:                                              ; preds = %172, %182, %186
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %193 unwind label %178

193:                                              ; preds = %192
  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 %164, x86_fp80 noundef %170, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge694 unwind label %194

194:                                              ; preds = %193
  %195 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %209

.critedge694:                                     ; preds = %193, %188
  %.sink833 = phi ptr [ %9, %188 ], [ %10, %193 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink833) #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
  %196 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %197 = add nsw i32 %196, 1
  store i32 %197, 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 %198 unwind label %211

198:                                              ; preds = %.critedge694
  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
  %199 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000) #7
  %200 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
  %201 = fsub x86_fp80 %199, %200
  %202 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %201)
  %203 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %200)
  %204 = fadd x86_fp80 %203, 0xK3FFF8000000000000000
  %205 = fdiv x86_fp80 %202, %204
  %206 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %199)
  br i1 %206, label %207, label %215

207:                                              ; preds = %198
  %208 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %200)
  br i1 %208, label %227, label %215

209:                                              ; preds = %194, %190, %178
  %.pn605 = phi { ptr, i32 } [ %195, %194 ], [ %179, %178 ], [ %191, %190 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %210

210:                                              ; preds = %209, %176
  %.pn605.pn = phi { ptr, i32 } [ %.pn605, %209 ], [ %177, %176 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %1220

211:                                              ; preds = %.critedge694
  %212 = 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 %245

213:                                              ; preds = %227, %222
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %244

215:                                              ; preds = %207, %198
  %216 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %199)
  br i1 %216, label %221, label %217

217:                                              ; preds = %215
  %218 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %199)
  %219 = fcmp oeq x86_fp80 %199, %200
  %or.cond695 = and i1 %219, %218
  %220 = fcmp olt x86_fp80 %205, 0xK3FD0B424DC35095CD800
  %or.cond780 = or i1 %220, %or.cond695
  br i1 %or.cond780, label %227, label %222

221:                                              ; preds = %215
  %.old779 = fcmp olt x86_fp80 %205, 0xK3FD0B424DC35095CD800
  br i1 %.old779, label %227, label %222

222:                                              ; preds = %217, %221
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %223 unwind label %213

223:                                              ; preds = %222
  %224 = 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 %224, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %199, x86_fp80 noundef %200, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %.critedge697 unwind label %225

225:                                              ; preds = %223
  %226 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %244

227:                                              ; preds = %207, %217, %221
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %228 unwind label %213

228:                                              ; preds = %227
  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 %199, x86_fp80 noundef %205, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %.critedge697 unwind label %229

229:                                              ; preds = %228
  %230 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %244

.critedge697:                                     ; preds = %228, %223
  %.sink834 = phi ptr [ %13, %223 ], [ %14, %228 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink834) #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
  %231 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %232 = add nsw i32 %231, 1
  store i32 %232, 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 %233 unwind label %246

233:                                              ; preds = %.critedge697
  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
  %234 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000) #7
  %235 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
  %236 = fsub x86_fp80 %234, %235
  %237 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %236)
  %238 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %235)
  %239 = fadd x86_fp80 %238, 0xK3FFF8000000000000000
  %240 = fdiv x86_fp80 %237, %239
  %241 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %234)
  br i1 %241, label %242, label %250

242:                                              ; preds = %233
  %243 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %235)
  br i1 %243, label %262, label %250

244:                                              ; preds = %229, %225, %213
  %.pn608 = phi { ptr, i32 } [ %230, %229 ], [ %214, %213 ], [ %226, %225 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %245

245:                                              ; preds = %244, %211
  %.pn608.pn = phi { ptr, i32 } [ %.pn608, %244 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %1220

246:                                              ; preds = %.critedge697
  %247 = 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 %280

248:                                              ; preds = %262, %257
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %279

250:                                              ; preds = %242, %233
  %251 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %234)
  br i1 %251, label %256, label %252

252:                                              ; preds = %250
  %253 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %234)
  %254 = fcmp oeq x86_fp80 %234, %235
  %or.cond698 = and i1 %254, %253
  %255 = fcmp olt x86_fp80 %240, 0xK3FD0B424DC35095CD800
  %or.cond782 = or i1 %255, %or.cond698
  br i1 %or.cond782, label %262, label %257

256:                                              ; preds = %250
  %.old781 = fcmp olt x86_fp80 %240, 0xK3FD0B424DC35095CD800
  br i1 %.old781, label %262, label %257

257:                                              ; preds = %252, %256
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %258 unwind label %248

258:                                              ; preds = %257
  %259 = 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 %259, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %234, x86_fp80 noundef %235, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %.critedge700 unwind label %260

260:                                              ; preds = %258
  %261 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %279

262:                                              ; preds = %242, %252, %256
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %263 unwind label %248

263:                                              ; preds = %262
  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 %234, x86_fp80 noundef %240, x86_fp80 noundef 0xK80000000000000000000, x86_fp80 noundef 0xK80000000000000000000)
          to label %.critedge700 unwind label %264

264:                                              ; preds = %263
  %265 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %279

.critedge700:                                     ; preds = %263, %258
  %.sink835 = phi ptr [ %17, %258 ], [ %18, %263 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink835) #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
  %266 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %267 = add nsw i32 %266, 1
  store i32 %267, 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 %268 unwind label %281

268:                                              ; preds = %.critedge700
  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
  %269 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000) #7
  %270 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
  %271 = fsub x86_fp80 %269, %270
  %272 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %271)
  %273 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %270)
  %274 = fadd x86_fp80 %273, 0xK3FFF8000000000000000
  %275 = fdiv x86_fp80 %272, %274
  %276 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %269)
  br i1 %276, label %277, label %285

277:                                              ; preds = %268
  %278 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %270)
  br i1 %278, label %297, label %285

279:                                              ; preds = %264, %260, %248
  %.pn611 = phi { ptr, i32 } [ %265, %264 ], [ %249, %248 ], [ %261, %260 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %280

280:                                              ; preds = %279, %246
  %.pn611.pn = phi { ptr, i32 } [ %.pn611, %279 ], [ %247, %246 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %1220

281:                                              ; preds = %.critedge700
  %282 = 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 %315

283:                                              ; preds = %297, %292
  %284 = landingpad { ptr, i32 }
          cleanup
  br label %314

285:                                              ; preds = %277, %268
  %286 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %269)
  br i1 %286, label %291, label %287

287:                                              ; preds = %285
  %288 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %269)
  %289 = fcmp oeq x86_fp80 %269, %270
  %or.cond701 = and i1 %289, %288
  %290 = fcmp olt x86_fp80 %275, 0xK3FD0B424DC35095CD800
  %or.cond784 = or i1 %290, %or.cond701
  br i1 %or.cond784, label %297, label %292

291:                                              ; preds = %285
  %.old783 = fcmp olt x86_fp80 %275, 0xK3FD0B424DC35095CD800
  br i1 %.old783, label %297, label %292

292:                                              ; preds = %287, %291
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %293 unwind label %283

293:                                              ; preds = %292
  %294 = 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 %294, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %269, x86_fp80 noundef %270, x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge703 unwind label %295

295:                                              ; preds = %293
  %296 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %314

297:                                              ; preds = %277, %287, %291
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %298 unwind label %283

298:                                              ; preds = %297
  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 %269, x86_fp80 noundef %275, x86_fp80 noundef 0xK3FFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge703 unwind label %299

299:                                              ; preds = %298
  %300 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %314

.critedge703:                                     ; preds = %298, %293
  %.sink836 = phi ptr [ %21, %293 ], [ %22, %298 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink836) #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
  %301 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %302 = add nsw i32 %301, 1
  store i32 %302, 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 %303 unwind label %316

303:                                              ; preds = %.critedge703
  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
  %304 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000) #7
  %305 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
  %306 = fsub x86_fp80 %304, %305
  %307 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %306)
  %308 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %305)
  %309 = fadd x86_fp80 %308, 0xK3FFF8000000000000000
  %310 = fdiv x86_fp80 %307, %309
  %311 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %304)
  br i1 %311, label %312, label %320

312:                                              ; preds = %303
  %313 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %305)
  br i1 %313, label %332, label %320

314:                                              ; preds = %299, %295, %283
  %.pn614 = phi { ptr, i32 } [ %300, %299 ], [ %284, %283 ], [ %296, %295 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %315

315:                                              ; preds = %314, %281
  %.pn614.pn = phi { ptr, i32 } [ %.pn614, %314 ], [ %282, %281 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %1220

316:                                              ; preds = %.critedge703
  %317 = 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 %350

318:                                              ; preds = %332, %327
  %319 = landingpad { ptr, i32 }
          cleanup
  br label %349

320:                                              ; preds = %312, %303
  %321 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %304)
  br i1 %321, label %326, label %322

322:                                              ; preds = %320
  %323 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %304)
  %324 = fcmp oeq x86_fp80 %304, %305
  %or.cond704 = and i1 %324, %323
  %325 = fcmp olt x86_fp80 %310, 0xK3FD0B424DC35095CD800
  %or.cond786 = or i1 %325, %or.cond704
  br i1 %or.cond786, label %332, label %327

326:                                              ; preds = %320
  %.old785 = fcmp olt x86_fp80 %310, 0xK3FD0B424DC35095CD800
  br i1 %.old785, label %332, label %327

327:                                              ; preds = %322, %326
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %328 unwind label %318

328:                                              ; preds = %327
  %329 = 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 %329, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %304, x86_fp80 noundef %305, x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge706 unwind label %330

330:                                              ; preds = %328
  %331 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %349

332:                                              ; preds = %312, %322, %326
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %333 unwind label %318

333:                                              ; preds = %332
  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 %304, x86_fp80 noundef %310, x86_fp80 noundef 0xKBFFCCCCCCCCCCCCCCCCD, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge706 unwind label %334

334:                                              ; preds = %333
  %335 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %349

.critedge706:                                     ; preds = %333, %328
  %.sink837 = phi ptr [ %25, %328 ], [ %26, %333 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink837) #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
  %336 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %337 = add nsw i32 %336, 1
  store i32 %337, 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 %338 unwind label %351

338:                                              ; preds = %.critedge706
  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
  %339 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B) #7
  %340 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
  %341 = fsub x86_fp80 %339, %340
  %342 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %341)
  %343 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %340)
  %344 = fadd x86_fp80 %343, 0xK3FFF8000000000000000
  %345 = fdiv x86_fp80 %342, %344
  %346 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %339)
  br i1 %346, label %347, label %355

347:                                              ; preds = %338
  %348 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %340)
  br i1 %348, label %367, label %355

349:                                              ; preds = %334, %330, %318
  %.pn617 = phi { ptr, i32 } [ %335, %334 ], [ %319, %318 ], [ %331, %330 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %350

350:                                              ; preds = %349, %316
  %.pn617.pn = phi { ptr, i32 } [ %.pn617, %349 ], [ %317, %316 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %1220

351:                                              ; preds = %.critedge706
  %352 = 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 %385

353:                                              ; preds = %367, %362
  %354 = landingpad { ptr, i32 }
          cleanup
  br label %384

355:                                              ; preds = %347, %338
  %356 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %339)
  br i1 %356, label %361, label %357

357:                                              ; preds = %355
  %358 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %339)
  %359 = fcmp oeq x86_fp80 %339, %340
  %or.cond707 = and i1 %359, %358
  %360 = fcmp olt x86_fp80 %345, 0xK3FD0B424DC35095CD800
  %or.cond788 = or i1 %360, %or.cond707
  br i1 %or.cond788, label %367, label %362

361:                                              ; preds = %355
  %.old787 = fcmp olt x86_fp80 %345, 0xK3FD0B424DC35095CD800
  br i1 %.old787, label %367, label %362

362:                                              ; preds = %357, %361
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %363 unwind label %353

363:                                              ; preds = %362
  %364 = 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 %364, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %339, x86_fp80 noundef %340, x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %.critedge709 unwind label %365

365:                                              ; preds = %363
  %366 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %384

367:                                              ; preds = %347, %357, %361
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %368 unwind label %353

368:                                              ; preds = %367
  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 %339, x86_fp80 noundef %345, x86_fp80 noundef 0xK3FF583126E978D4FDF3B, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %.critedge709 unwind label %369

369:                                              ; preds = %368
  %370 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %384

.critedge709:                                     ; preds = %368, %363
  %.sink838 = phi ptr [ %29, %363 ], [ %30, %368 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink838) #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
  %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 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 %373 unwind label %386

373:                                              ; preds = %.critedge709
  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
  %374 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148) #7
  %375 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
  %376 = fsub x86_fp80 %374, %375
  %377 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %376)
  %378 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %375)
  %379 = fadd x86_fp80 %378, 0xK3FFF8000000000000000
  %380 = fdiv x86_fp80 %377, %379
  %381 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %374)
  br i1 %381, label %382, label %390

382:                                              ; preds = %373
  %383 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %375)
  br i1 %383, label %402, label %390

384:                                              ; preds = %369, %365, %353
  %.pn620 = phi { ptr, i32 } [ %370, %369 ], [ %354, %353 ], [ %366, %365 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %385

385:                                              ; preds = %384, %351
  %.pn620.pn = phi { ptr, i32 } [ %.pn620, %384 ], [ %352, %351 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %1220

386:                                              ; preds = %.critedge709
  %387 = 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 %420

388:                                              ; preds = %402, %397
  %389 = landingpad { ptr, i32 }
          cleanup
  br label %419

390:                                              ; preds = %382, %373
  %391 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %374)
  br i1 %391, label %396, label %392

392:                                              ; preds = %390
  %393 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %374)
  %394 = fcmp oeq x86_fp80 %374, %375
  %or.cond710 = and i1 %394, %393
  %395 = fcmp olt x86_fp80 %380, 0xK3FD0B424DC35095CD800
  %or.cond790 = or i1 %395, %or.cond710
  br i1 %or.cond790, label %402, label %397

396:                                              ; preds = %390
  %.old789 = fcmp olt x86_fp80 %380, 0xK3FD0B424DC35095CD800
  br i1 %.old789, label %402, label %397

397:                                              ; preds = %392, %396
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %398 unwind label %388

398:                                              ; preds = %397
  %399 = 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 %399, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %374, x86_fp80 noundef %375, x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %.critedge712 unwind label %400

400:                                              ; preds = %398
  %401 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %419

402:                                              ; preds = %382, %392, %396
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %403 unwind label %388

403:                                              ; preds = %402
  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 %374, x86_fp80 noundef %380, x86_fp80 noundef 0xK3FFDFAE147AE147AE148, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %.critedge712 unwind label %404

404:                                              ; preds = %403
  %405 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %419

.critedge712:                                     ; preds = %403, %398
  %.sink839 = phi ptr [ %33, %398 ], [ %34, %403 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink839) #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
  %406 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %407 = add nsw i32 %406, 1
  store i32 %407, 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 %408 unwind label %421

408:                                              ; preds = %.critedge712
  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
  %409 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000) #7
  %410 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
  %411 = fsub x86_fp80 %409, %410
  %412 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %411)
  %413 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %410)
  %414 = fadd x86_fp80 %413, 0xK3FFF8000000000000000
  %415 = fdiv x86_fp80 %412, %414
  %416 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %409)
  br i1 %416, label %417, label %425

417:                                              ; preds = %408
  %418 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %410)
  br i1 %418, label %437, label %425

419:                                              ; preds = %404, %400, %388
  %.pn623 = phi { ptr, i32 } [ %405, %404 ], [ %389, %388 ], [ %401, %400 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %420

420:                                              ; preds = %419, %386
  %.pn623.pn = phi { ptr, i32 } [ %.pn623, %419 ], [ %387, %386 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %1220

421:                                              ; preds = %.critedge712
  %422 = 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 %455

423:                                              ; preds = %437, %432
  %424 = landingpad { ptr, i32 }
          cleanup
  br label %454

425:                                              ; preds = %417, %408
  %426 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %409)
  br i1 %426, label %431, label %427

427:                                              ; preds = %425
  %428 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %409)
  %429 = fcmp oeq x86_fp80 %409, %410
  %or.cond713 = and i1 %429, %428
  %430 = fcmp olt x86_fp80 %415, 0xK3FD0B424DC35095CD800
  %or.cond792 = or i1 %430, %or.cond713
  br i1 %or.cond792, label %437, label %432

431:                                              ; preds = %425
  %.old791 = fcmp olt x86_fp80 %415, 0xK3FD0B424DC35095CD800
  br i1 %.old791, label %437, label %432

432:                                              ; preds = %427, %431
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %433 unwind label %423

433:                                              ; preds = %432
  %434 = 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 %434, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %409, x86_fp80 noundef %410, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge715 unwind label %435

435:                                              ; preds = %433
  %436 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %454

437:                                              ; preds = %417, %427, %431
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %438 unwind label %423

438:                                              ; preds = %437
  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 %409, x86_fp80 noundef %415, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge715 unwind label %439

439:                                              ; preds = %438
  %440 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %454

.critedge715:                                     ; preds = %438, %433
  %.sink840 = phi ptr [ %37, %433 ], [ %38, %438 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink840) #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
  %441 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %442 = add nsw i32 %441, 1
  store i32 %442, 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 %443 unwind label %456

443:                                              ; preds = %.critedge715
  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
  %444 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000) #7
  %445 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
  %446 = fsub x86_fp80 %444, %445
  %447 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %446)
  %448 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %445)
  %449 = fadd x86_fp80 %448, 0xK3FFF8000000000000000
  %450 = fdiv x86_fp80 %447, %449
  %451 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %444)
  br i1 %451, label %452, label %460

452:                                              ; preds = %443
  %453 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %445)
  br i1 %453, label %472, label %460

454:                                              ; preds = %439, %435, %423
  %.pn626 = phi { ptr, i32 } [ %440, %439 ], [ %424, %423 ], [ %436, %435 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %455

455:                                              ; preds = %454, %421
  %.pn626.pn = phi { ptr, i32 } [ %.pn626, %454 ], [ %422, %421 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %1220

456:                                              ; preds = %.critedge715
  %457 = 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 %490

458:                                              ; preds = %472, %467
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %489

460:                                              ; preds = %452, %443
  %461 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %444)
  br i1 %461, label %466, label %462

462:                                              ; preds = %460
  %463 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %444)
  %464 = fcmp oeq x86_fp80 %444, %445
  %or.cond716 = and i1 %464, %463
  %465 = fcmp olt x86_fp80 %450, 0xK3FD0B424DC35095CD800
  %or.cond794 = or i1 %465, %or.cond716
  br i1 %or.cond794, label %472, label %467

466:                                              ; preds = %460
  %.old793 = fcmp olt x86_fp80 %450, 0xK3FD0B424DC35095CD800
  br i1 %.old793, label %472, label %467

467:                                              ; preds = %462, %466
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %468 unwind label %458

468:                                              ; preds = %467
  %469 = 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 %469, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %444, x86_fp80 noundef %445, x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge718 unwind label %470

470:                                              ; preds = %468
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %489

472:                                              ; preds = %452, %462, %466
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %473 unwind label %458

473:                                              ; preds = %472
  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 %444, x86_fp80 noundef %450, x86_fp80 noundef 0xK3FFE8000000000000000, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge718 unwind label %474

474:                                              ; preds = %473
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %489

.critedge718:                                     ; preds = %473, %468
  %.sink841 = phi ptr [ %41, %468 ], [ %42, %473 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink841) #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
  %476 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %477 = add nsw i32 %476, 1
  store i32 %477, 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 %478 unwind label %491

478:                                              ; preds = %.critedge718
  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
  %479 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000) #7
  %480 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
  %481 = fsub x86_fp80 %479, %480
  %482 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %481)
  %483 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %480)
  %484 = fadd x86_fp80 %483, 0xK3FFF8000000000000000
  %485 = fdiv x86_fp80 %482, %484
  %486 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %479)
  br i1 %486, label %487, label %495

487:                                              ; preds = %478
  %488 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %480)
  br i1 %488, label %507, label %495

489:                                              ; preds = %474, %470, %458
  %.pn629 = phi { ptr, i32 } [ %475, %474 ], [ %459, %458 ], [ %471, %470 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %490

490:                                              ; preds = %489, %456
  %.pn629.pn = phi { ptr, i32 } [ %.pn629, %489 ], [ %457, %456 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  br label %1220

491:                                              ; preds = %.critedge718
  %492 = 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 %525

493:                                              ; preds = %507, %502
  %494 = landingpad { ptr, i32 }
          cleanup
  br label %524

495:                                              ; preds = %487, %478
  %496 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %479)
  br i1 %496, label %501, label %497

497:                                              ; preds = %495
  %498 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %479)
  %499 = fcmp oeq x86_fp80 %479, %480
  %or.cond719 = and i1 %499, %498
  %500 = fcmp olt x86_fp80 %485, 0xK3FD0B424DC35095CD800
  %or.cond796 = or i1 %500, %or.cond719
  br i1 %or.cond796, label %507, label %502

501:                                              ; preds = %495
  %.old795 = fcmp olt x86_fp80 %485, 0xK3FD0B424DC35095CD800
  br i1 %.old795, label %507, label %502

502:                                              ; preds = %497, %501
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %503 unwind label %493

503:                                              ; preds = %502
  %504 = 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 %504, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %479, x86_fp80 noundef %480, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %.critedge721 unwind label %505

505:                                              ; preds = %503
  %506 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %524

507:                                              ; preds = %487, %497, %501
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %508 unwind label %493

508:                                              ; preds = %507
  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 %479, x86_fp80 noundef %485, x86_fp80 noundef 0xKBFFE8000000000000000, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %.critedge721 unwind label %509

509:                                              ; preds = %508
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %524

.critedge721:                                     ; preds = %508, %503
  %.sink842 = phi ptr [ %45, %503 ], [ %46, %508 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink842) #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
  %511 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %512 = add nsw i32 %511, 1
  store i32 %512, 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 %513 unwind label %526

513:                                              ; preds = %.critedge721
  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
  %514 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666) #7
  %515 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
  %516 = fsub x86_fp80 %514, %515
  %517 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %516)
  %518 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %515)
  %519 = fadd x86_fp80 %518, 0xK3FFF8000000000000000
  %520 = fdiv x86_fp80 %517, %519
  %521 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %514)
  br i1 %521, label %522, label %530

522:                                              ; preds = %513
  %523 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %515)
  br i1 %523, label %542, label %530

524:                                              ; preds = %509, %505, %493
  %.pn632 = phi { ptr, i32 } [ %510, %509 ], [ %494, %493 ], [ %506, %505 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %525

525:                                              ; preds = %524, %491
  %.pn632.pn = phi { ptr, i32 } [ %.pn632, %524 ], [ %492, %491 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %1220

526:                                              ; preds = %.critedge721
  %527 = 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 %560

528:                                              ; preds = %542, %537
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %559

530:                                              ; preds = %522, %513
  %531 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %514)
  br i1 %531, label %536, label %532

532:                                              ; preds = %530
  %533 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %514)
  %534 = fcmp oeq x86_fp80 %514, %515
  %or.cond722 = and i1 %534, %533
  %535 = fcmp olt x86_fp80 %520, 0xK3FD0B424DC35095CD800
  %or.cond798 = or i1 %535, %or.cond722
  br i1 %or.cond798, label %542, label %537

536:                                              ; preds = %530
  %.old797 = fcmp olt x86_fp80 %520, 0xK3FD0B424DC35095CD800
  br i1 %.old797, label %542, label %537

537:                                              ; preds = %532, %536
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %538 unwind label %528

538:                                              ; preds = %537
  %539 = 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 %539, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %514, x86_fp80 noundef %515, x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %.critedge724 unwind label %540

540:                                              ; preds = %538
  %541 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %559

542:                                              ; preds = %522, %532, %536
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %543 unwind label %528

543:                                              ; preds = %542
  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 %514, x86_fp80 noundef %520, x86_fp80 noundef 0xK4002999999999999999A, x86_fp80 noundef 0xK40028666666666666666)
          to label %.critedge724 unwind label %544

544:                                              ; preds = %543
  %545 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %559

.critedge724:                                     ; preds = %543, %538
  %.sink843 = phi ptr [ %49, %538 ], [ %50, %543 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink843) #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
  %546 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %547 = add nsw i32 %546, 1
  store i32 %547, 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 %548 unwind label %561

548:                                              ; preds = %.critedge724
  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
  %549 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  %550 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
  %551 = fsub x86_fp80 %549, %550
  %552 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %551)
  %553 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %550)
  %554 = fadd x86_fp80 %553, 0xK3FFF8000000000000000
  %555 = fdiv x86_fp80 %552, %554
  %556 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %549)
  br i1 %556, label %557, label %565

557:                                              ; preds = %548
  %558 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %550)
  br i1 %558, label %577, label %565

559:                                              ; preds = %544, %540, %528
  %.pn635 = phi { ptr, i32 } [ %545, %544 ], [ %529, %528 ], [ %541, %540 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %560

560:                                              ; preds = %559, %526
  %.pn635.pn = phi { ptr, i32 } [ %.pn635, %559 ], [ %527, %526 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  br label %1220

561:                                              ; preds = %.critedge724
  %562 = 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 %595

563:                                              ; preds = %577, %572
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %594

565:                                              ; preds = %557, %548
  %566 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %549)
  br i1 %566, label %571, label %567

567:                                              ; preds = %565
  %568 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %549)
  %569 = fcmp oeq x86_fp80 %549, %550
  %or.cond725 = and i1 %569, %568
  %570 = fcmp olt x86_fp80 %555, 0xK3FD0B424DC35095CD800
  %or.cond800 = or i1 %570, %or.cond725
  br i1 %or.cond800, label %577, label %572

571:                                              ; preds = %565
  %.old799 = fcmp olt x86_fp80 %555, 0xK3FD0B424DC35095CD800
  br i1 %.old799, label %577, label %572

572:                                              ; preds = %567, %571
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %573 unwind label %563

573:                                              ; preds = %572
  %574 = 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 %574, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %549, x86_fp80 noundef %550, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge727 unwind label %575

575:                                              ; preds = %573
  %576 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %594

577:                                              ; preds = %557, %567, %571
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %578 unwind label %563

578:                                              ; preds = %577
  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 %549, x86_fp80 noundef %555, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge727 unwind label %579

579:                                              ; preds = %578
  %580 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  br label %594

.critedge727:                                     ; preds = %578, %573
  %.sink844 = phi ptr [ %53, %573 ], [ %54, %578 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink844) #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
  %581 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %582 = add nsw i32 %581, 1
  store i32 %582, 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 %583 unwind label %596

583:                                              ; preds = %.critedge727
  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
  %584 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #7
  %585 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
  %586 = fsub x86_fp80 %584, %585
  %587 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %586)
  %588 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %585)
  %589 = fadd x86_fp80 %588, 0xK3FFF8000000000000000
  %590 = fdiv x86_fp80 %587, %589
  %591 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %584)
  br i1 %591, label %592, label %600

592:                                              ; preds = %583
  %593 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %585)
  br i1 %593, label %612, label %600

594:                                              ; preds = %579, %575, %563
  %.pn638 = phi { ptr, i32 } [ %580, %579 ], [ %564, %563 ], [ %576, %575 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %595

595:                                              ; preds = %594, %561
  %.pn638.pn = phi { ptr, i32 } [ %.pn638, %594 ], [ %562, %561 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  br label %1220

596:                                              ; preds = %.critedge727
  %597 = 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 %630

598:                                              ; preds = %612, %607
  %599 = landingpad { ptr, i32 }
          cleanup
  br label %629

600:                                              ; preds = %592, %583
  %601 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %584)
  br i1 %601, label %606, label %602

602:                                              ; preds = %600
  %603 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %584)
  %604 = fcmp oeq x86_fp80 %584, %585
  %or.cond728 = and i1 %604, %603
  %605 = fcmp olt x86_fp80 %590, 0xK3FD0B424DC35095CD800
  %or.cond802 = or i1 %605, %or.cond728
  br i1 %or.cond802, label %612, label %607

606:                                              ; preds = %600
  %.old801 = fcmp olt x86_fp80 %590, 0xK3FD0B424DC35095CD800
  br i1 %.old801, label %612, label %607

607:                                              ; preds = %602, %606
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %608 unwind label %598

608:                                              ; preds = %607
  %609 = 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 %609, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %584, x86_fp80 noundef %585, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge730 unwind label %610

610:                                              ; preds = %608
  %611 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %629

612:                                              ; preds = %592, %602, %606
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %613 unwind label %598

613:                                              ; preds = %612
  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 %584, x86_fp80 noundef %590, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge730 unwind label %614

614:                                              ; preds = %613
  %615 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %629

.critedge730:                                     ; preds = %613, %608
  %.sink845 = phi ptr [ %57, %608 ], [ %58, %613 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink845) #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
  %616 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %617 = add nsw i32 %616, 1
  store i32 %617, 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 %618 unwind label %631

618:                                              ; preds = %.critedge730
  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
  %619 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000) #7
  %620 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
  %621 = fsub x86_fp80 %619, %620
  %622 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %621)
  %623 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %620)
  %624 = fadd x86_fp80 %623, 0xK3FFF8000000000000000
  %625 = fdiv x86_fp80 %622, %624
  %626 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %619)
  br i1 %626, label %627, label %635

627:                                              ; preds = %618
  %628 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %620)
  br i1 %628, label %647, label %635

629:                                              ; preds = %614, %610, %598
  %.pn641 = phi { ptr, i32 } [ %615, %614 ], [ %599, %598 ], [ %611, %610 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %630

630:                                              ; preds = %629, %596
  %.pn641.pn = phi { ptr, i32 } [ %.pn641, %629 ], [ %597, %596 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %1220

631:                                              ; preds = %.critedge730
  %632 = 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 %665

633:                                              ; preds = %647, %642
  %634 = landingpad { ptr, i32 }
          cleanup
  br label %664

635:                                              ; preds = %627, %618
  %636 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %619)
  br i1 %636, label %641, label %637

637:                                              ; preds = %635
  %638 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %619)
  %639 = fcmp oeq x86_fp80 %619, %620
  %or.cond731 = and i1 %639, %638
  %640 = fcmp olt x86_fp80 %625, 0xK3FD0B424DC35095CD800
  %or.cond804 = or i1 %640, %or.cond731
  br i1 %or.cond804, label %647, label %642

641:                                              ; preds = %635
  %.old803 = fcmp olt x86_fp80 %625, 0xK3FD0B424DC35095CD800
  br i1 %.old803, label %647, label %642

642:                                              ; preds = %637, %641
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %643 unwind label %633

643:                                              ; preds = %642
  %644 = 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 %644, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %619, x86_fp80 noundef %620, x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge733 unwind label %645

645:                                              ; preds = %643
  %646 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %664

647:                                              ; preds = %627, %637, %641
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %648 unwind label %633

648:                                              ; preds = %647
  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 %619, x86_fp80 noundef %625, x86_fp80 noundef 0xKBFFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge733 unwind label %649

649:                                              ; preds = %648
  %650 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %664

.critedge733:                                     ; preds = %648, %643
  %.sink846 = phi ptr [ %61, %643 ], [ %62, %648 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink846) #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
  %651 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %652 = add nsw i32 %651, 1
  store i32 %652, 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 %653 unwind label %666

653:                                              ; preds = %.critedge733
  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
  %654 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000) #7
  %655 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
  %656 = fsub x86_fp80 %654, %655
  %657 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %656)
  %658 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %655)
  %659 = fadd x86_fp80 %658, 0xK3FFF8000000000000000
  %660 = fdiv x86_fp80 %657, %659
  %661 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %654)
  br i1 %661, label %662, label %670

662:                                              ; preds = %653
  %663 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %655)
  br i1 %663, label %682, label %670

664:                                              ; preds = %649, %645, %633
  %.pn644 = phi { ptr, i32 } [ %650, %649 ], [ %634, %633 ], [ %646, %645 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %665

665:                                              ; preds = %664, %631
  %.pn644.pn = phi { ptr, i32 } [ %.pn644, %664 ], [ %632, %631 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %1220

666:                                              ; preds = %.critedge733
  %667 = 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 %700

668:                                              ; preds = %682, %677
  %669 = landingpad { ptr, i32 }
          cleanup
  br label %699

670:                                              ; preds = %662, %653
  %671 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %654)
  br i1 %671, label %676, label %672

672:                                              ; preds = %670
  %673 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %654)
  %674 = fcmp oeq x86_fp80 %654, %655
  %or.cond734 = and i1 %674, %673
  %675 = fcmp olt x86_fp80 %660, 0xK3FD0B424DC35095CD800
  %or.cond806 = or i1 %675, %or.cond734
  br i1 %or.cond806, label %682, label %677

676:                                              ; preds = %670
  %.old805 = fcmp olt x86_fp80 %660, 0xK3FD0B424DC35095CD800
  br i1 %.old805, label %682, label %677

677:                                              ; preds = %672, %676
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %678 unwind label %668

678:                                              ; preds = %677
  %679 = 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 %679, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %654, x86_fp80 noundef %655, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %.critedge736 unwind label %680

680:                                              ; preds = %678
  %681 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %699

682:                                              ; preds = %662, %672, %676
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %683 unwind label %668

683:                                              ; preds = %682
  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 %654, x86_fp80 noundef %660, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %.critedge736 unwind label %684

684:                                              ; preds = %683
  %685 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  br label %699

.critedge736:                                     ; preds = %683, %678
  %.sink847 = phi ptr [ %65, %678 ], [ %66, %683 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink847) #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
  %686 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %687 = add nsw i32 %686, 1
  store i32 %687, 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 %688 unwind label %701

688:                                              ; preds = %.critedge736
  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
  %689 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000) #7
  %690 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
  %691 = fsub x86_fp80 %689, %690
  %692 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %691)
  %693 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %690)
  %694 = fadd x86_fp80 %693, 0xK3FFF8000000000000000
  %695 = fdiv x86_fp80 %692, %694
  %696 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %689)
  br i1 %696, label %697, label %705

697:                                              ; preds = %688
  %698 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %690)
  br i1 %698, label %717, label %705

699:                                              ; preds = %684, %680, %668
  %.pn647 = phi { ptr, i32 } [ %685, %684 ], [ %669, %668 ], [ %681, %680 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %700

700:                                              ; preds = %699, %666
  %.pn647.pn = phi { ptr, i32 } [ %.pn647, %699 ], [ %667, %666 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  br label %1220

701:                                              ; preds = %.critedge736
  %702 = 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 %735

703:                                              ; preds = %717, %712
  %704 = landingpad { ptr, i32 }
          cleanup
  br label %734

705:                                              ; preds = %697, %688
  %706 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %689)
  br i1 %706, label %711, label %707

707:                                              ; preds = %705
  %708 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %689)
  %709 = fcmp oeq x86_fp80 %689, %690
  %or.cond737 = and i1 %709, %708
  %710 = fcmp olt x86_fp80 %695, 0xK3FD0B424DC35095CD800
  %or.cond808 = or i1 %710, %or.cond737
  br i1 %or.cond808, label %717, label %712

711:                                              ; preds = %705
  %.old807 = fcmp olt x86_fp80 %695, 0xK3FD0B424DC35095CD800
  br i1 %.old807, label %717, label %712

712:                                              ; preds = %707, %711
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %713 unwind label %703

713:                                              ; preds = %712
  %714 = 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 %714, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %689, x86_fp80 noundef %690, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge739 unwind label %715

715:                                              ; preds = %713
  %716 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %734

717:                                              ; preds = %697, %707, %711
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %718 unwind label %703

718:                                              ; preds = %717
  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 %689, x86_fp80 noundef %695, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge739 unwind label %719

719:                                              ; preds = %718
  %720 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %734

.critedge739:                                     ; preds = %718, %713
  %.sink848 = phi ptr [ %69, %713 ], [ %70, %718 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink848) #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
  %721 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %722 = add nsw i32 %721, 1
  store i32 %722, 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 %723 unwind label %736

723:                                              ; preds = %.critedge739
  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
  %724 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000) #7
  %725 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
  %726 = fsub x86_fp80 %724, %725
  %727 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %726)
  %728 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %725)
  %729 = fadd x86_fp80 %728, 0xK3FFF8000000000000000
  %730 = fdiv x86_fp80 %727, %729
  %731 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %724)
  br i1 %731, label %732, label %740

732:                                              ; preds = %723
  %733 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %725)
  br i1 %733, label %752, label %740

734:                                              ; preds = %719, %715, %703
  %.pn650 = phi { ptr, i32 } [ %720, %719 ], [ %704, %703 ], [ %716, %715 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  br label %735

735:                                              ; preds = %734, %701
  %.pn650.pn = phi { ptr, i32 } [ %.pn650, %734 ], [ %702, %701 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  br label %1220

736:                                              ; preds = %.critedge739
  %737 = 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 %770

738:                                              ; preds = %752, %747
  %739 = landingpad { ptr, i32 }
          cleanup
  br label %769

740:                                              ; preds = %732, %723
  %741 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %724)
  br i1 %741, label %746, label %742

742:                                              ; preds = %740
  %743 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %724)
  %744 = fcmp oeq x86_fp80 %724, %725
  %or.cond740 = and i1 %744, %743
  %745 = fcmp olt x86_fp80 %730, 0xK3FD0B424DC35095CD800
  %or.cond810 = or i1 %745, %or.cond740
  br i1 %or.cond810, label %752, label %747

746:                                              ; preds = %740
  %.old809 = fcmp olt x86_fp80 %730, 0xK3FD0B424DC35095CD800
  br i1 %.old809, label %752, label %747

747:                                              ; preds = %742, %746
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %748 unwind label %738

748:                                              ; preds = %747
  %749 = 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 %749, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %724, x86_fp80 noundef %725, x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %.critedge742 unwind label %750

750:                                              ; preds = %748
  %751 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %769

752:                                              ; preds = %732, %742, %746
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %753 unwind label %738

753:                                              ; preds = %752
  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 %724, x86_fp80 noundef %730, x86_fp80 noundef 0xKC001A000000000000000, x86_fp80 noundef 0xK4000A000000000000000)
          to label %.critedge742 unwind label %754

754:                                              ; preds = %753
  %755 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br label %769

.critedge742:                                     ; preds = %753, %748
  %.sink849 = phi ptr [ %73, %748 ], [ %74, %753 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink849) #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
  %756 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %757 = add nsw i32 %756, 1
  store i32 %757, 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 %758 unwind label %771

758:                                              ; preds = %.critedge742
  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
  %759 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B) #7
  %760 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
  %761 = fsub x86_fp80 %759, %760
  %762 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %761)
  %763 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %760)
  %764 = fadd x86_fp80 %763, 0xK3FFF8000000000000000
  %765 = fdiv x86_fp80 %762, %764
  %766 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %759)
  br i1 %766, label %767, label %775

767:                                              ; preds = %758
  %768 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %760)
  br i1 %768, label %787, label %775

769:                                              ; preds = %754, %750, %738
  %.pn653 = phi { ptr, i32 } [ %755, %754 ], [ %739, %738 ], [ %751, %750 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %770

770:                                              ; preds = %769, %736
  %.pn653.pn = phi { ptr, i32 } [ %.pn653, %769 ], [ %737, %736 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  br label %1220

771:                                              ; preds = %.critedge742
  %772 = 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 %805

773:                                              ; preds = %787, %782
  %774 = landingpad { ptr, i32 }
          cleanup
  br label %804

775:                                              ; preds = %767, %758
  %776 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %759)
  br i1 %776, label %781, label %777

777:                                              ; preds = %775
  %778 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %759)
  %779 = fcmp oeq x86_fp80 %759, %760
  %or.cond743 = and i1 %779, %778
  %780 = fcmp olt x86_fp80 %765, 0xK3FD0B424DC35095CD800
  %or.cond812 = or i1 %780, %or.cond743
  br i1 %or.cond812, label %787, label %782

781:                                              ; preds = %775
  %.old811 = fcmp olt x86_fp80 %765, 0xK3FD0B424DC35095CD800
  br i1 %.old811, label %787, label %782

782:                                              ; preds = %777, %781
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %783 unwind label %773

783:                                              ; preds = %782
  %784 = 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 %784, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %759, x86_fp80 noundef %760, x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %.critedge745 unwind label %785

785:                                              ; preds = %783
  %786 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %804

787:                                              ; preds = %767, %777, %781
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %788 unwind label %773

788:                                              ; preds = %787
  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 %759, x86_fp80 noundef %765, x86_fp80 noundef 0xKC008FA00000000000000, x86_fp80 noundef 0xKBFF583126E978D4FDF3B)
          to label %.critedge745 unwind label %789

789:                                              ; preds = %788
  %790 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  br label %804

.critedge745:                                     ; preds = %788, %783
  %.sink850 = phi ptr [ %77, %783 ], [ %78, %788 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink850) #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
  %791 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %792 = add nsw i32 %791, 1
  store i32 %792, 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 %793 unwind label %806

793:                                              ; preds = %.critedge745
  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
  %794 = call noundef x86_fp80 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000) #7
  %795 = call noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
  %796 = fsub x86_fp80 %794, %795
  %797 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %796)
  %798 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %795)
  %799 = fadd x86_fp80 %798, 0xK3FFF8000000000000000
  %800 = fdiv x86_fp80 %797, %799
  %801 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %794)
  br i1 %801, label %802, label %810

802:                                              ; preds = %793
  %803 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %795)
  br i1 %803, label %822, label %810

804:                                              ; preds = %789, %785, %773
  %.pn656 = phi { ptr, i32 } [ %790, %789 ], [ %774, %773 ], [ %786, %785 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  br label %805

805:                                              ; preds = %804, %771
  %.pn656.pn = phi { ptr, i32 } [ %.pn656, %804 ], [ %772, %771 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #7
  br label %1220

806:                                              ; preds = %.critedge745
  %807 = 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 %842

808:                                              ; preds = %822, %817
  %809 = landingpad { ptr, i32 }
          cleanup
  br label %841

810:                                              ; preds = %802, %793
  %811 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %794)
  br i1 %811, label %816, label %812

812:                                              ; preds = %810
  %813 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %794)
  %814 = fcmp oeq x86_fp80 %794, %795
  %or.cond746 = and i1 %814, %813
  %815 = fcmp olt x86_fp80 %800, 0xK3FD0B424DC35095CD800
  %or.cond814 = or i1 %815, %or.cond746
  br i1 %or.cond814, label %822, label %817

816:                                              ; preds = %810
  %.old813 = fcmp olt x86_fp80 %800, 0xK3FD0B424DC35095CD800
  br i1 %.old813, label %822, label %817

817:                                              ; preds = %812, %816
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %818 unwind label %808

818:                                              ; preds = %817
  %819 = 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 %819, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %794, x86_fp80 noundef %795, x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %.critedge748 unwind label %820

820:                                              ; preds = %818
  %821 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %841

822:                                              ; preds = %802, %812, %816
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %823 unwind label %808

823:                                              ; preds = %822
  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 %794, x86_fp80 noundef %800, x86_fp80 noundef 0xK3FFC88E8A71DE69AD42C, x86_fp80 noundef 0xKC00FF120000000000000)
          to label %.critedge748 unwind label %824

824:                                              ; preds = %823
  %825 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  br label %841

.critedge748:                                     ; preds = %823, %818
  %.sink851 = phi ptr [ %81, %818 ], [ %82, %823 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink851) #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
  %826 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %827 = add nsw i32 %826, 1
  store i32 %827, 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 %828 unwind label %843

828:                                              ; preds = %.critedge748
  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
  %829 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %830 = call noundef x86_fp80 @_ZN4gcem5hypotIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %829, x86_fp80 noundef 0xK40008000000000000000) #7
  %831 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %832 = call noundef x86_fp80 @_ZSt5hypotIdeEN9__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 %831, x86_fp80 noundef 0xK40008000000000000000)
  %833 = fsub x86_fp80 %830, %832
  %834 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %833)
  %835 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %832)
  %836 = fadd x86_fp80 %835, 0xK3FFF8000000000000000
  %837 = fdiv x86_fp80 %834, %836
  %838 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %830)
  br i1 %838, label %839, label %847

839:                                              ; preds = %828
  %840 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %832)
  br i1 %840, label %860, label %847

841:                                              ; preds = %824, %820, %808
  %.pn659 = phi { ptr, i32 } [ %825, %824 ], [ %809, %808 ], [ %821, %820 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %842

842:                                              ; preds = %841, %806
  %.pn659.pn = phi { ptr, i32 } [ %.pn659, %841 ], [ %807, %806 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #7
  br label %1220

843:                                              ; preds = %.critedge748
  %844 = 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 %881

845:                                              ; preds = %860, %854
  %846 = landingpad { ptr, i32 }
          cleanup
  br label %880

847:                                              ; preds = %839, %828
  %848 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %830)
  br i1 %848, label %853, label %849

849:                                              ; preds = %847
  %850 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %830)
  %851 = fcmp oeq x86_fp80 %830, %832
  %or.cond749 = and i1 %851, %850
  %852 = fcmp olt x86_fp80 %837, 0xK3FD0B424DC35095CD800
  %or.cond816 = or i1 %852, %or.cond749
  br i1 %or.cond816, label %860, label %854

853:                                              ; preds = %847
  %.old815 = fcmp olt x86_fp80 %837, 0xK3FD0B424DC35095CD800
  br i1 %.old815, label %860, label %854

854:                                              ; preds = %849, %853
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %855 unwind label %845

855:                                              ; preds = %854
  %856 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %857 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %85, i32 noundef %856, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %830, x86_fp80 noundef %832, double noundef %857, x86_fp80 noundef 0xK40008000000000000000)
          to label %.critedge751 unwind label %858

858:                                              ; preds = %855
  %859 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %880

860:                                              ; preds = %839, %849, %853
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %861 unwind label %845

861:                                              ; preds = %860
  %862 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #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 %830, x86_fp80 noundef %837, double noundef %862, x86_fp80 noundef 0xK40008000000000000000)
          to label %.critedge751 unwind label %863

863:                                              ; preds = %861
  %864 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  br label %880

.critedge751:                                     ; preds = %861, %855
  %.sink852 = phi ptr [ %85, %855 ], [ %86, %861 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink852) #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
  %865 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %866 = add nsw i32 %865, 1
  store i32 %866, 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 %867 unwind label %882

867:                                              ; preds = %.critedge751
  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
  %868 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %869 = call noundef x86_fp80 @_ZN4gcem5hypotIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, double noundef %868) #7
  %870 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %871 = call noundef x86_fp80 @_ZSt5hypotIedEN9__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 0xK40008000000000000000, double noundef %870)
  %872 = fsub x86_fp80 %869, %871
  %873 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %872)
  %874 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %871)
  %875 = fadd x86_fp80 %874, 0xK3FFF8000000000000000
  %876 = fdiv x86_fp80 %873, %875
  %877 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %869)
  br i1 %877, label %878, label %886

878:                                              ; preds = %867
  %879 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %871)
  br i1 %879, label %899, label %886

880:                                              ; preds = %863, %858, %845
  %.pn662 = phi { ptr, i32 } [ %864, %863 ], [ %846, %845 ], [ %859, %858 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  br label %881

881:                                              ; preds = %880, %843
  %.pn662.pn = phi { ptr, i32 } [ %.pn662, %880 ], [ %844, %843 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  br label %1220

882:                                              ; preds = %.critedge751
  %883 = 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 %924

884:                                              ; preds = %899, %893
  %885 = landingpad { ptr, i32 }
          cleanup
  br label %923

886:                                              ; preds = %878, %867
  %887 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %869)
  br i1 %887, label %892, label %888

888:                                              ; preds = %886
  %889 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %869)
  %890 = fcmp oeq x86_fp80 %869, %871
  %or.cond752 = and i1 %890, %889
  %891 = fcmp olt x86_fp80 %876, 0xK3FD0B424DC35095CD800
  %or.cond818 = or i1 %891, %or.cond752
  br i1 %or.cond818, label %899, label %893

892:                                              ; preds = %886
  %.old817 = fcmp olt x86_fp80 %876, 0xK3FD0B424DC35095CD800
  br i1 %.old817, label %899, label %893

893:                                              ; preds = %888, %892
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %894 unwind label %884

894:                                              ; preds = %893
  %895 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %896 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %89, i32 noundef %895, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %869, x86_fp80 noundef %871, x86_fp80 noundef 0xK40008000000000000000, double noundef %896)
          to label %.critedge754 unwind label %897

897:                                              ; preds = %894
  %898 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  br label %923

899:                                              ; preds = %878, %888, %892
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %900 unwind label %884

900:                                              ; preds = %899
  %901 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #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 %869, x86_fp80 noundef %876, x86_fp80 noundef 0xK40008000000000000000, double noundef %901)
          to label %.critedge754 unwind label %902

902:                                              ; preds = %900
  %903 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  br label %923

.critedge754:                                     ; preds = %900, %894
  %.sink853 = phi ptr [ %89, %894 ], [ %90, %900 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink853) #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
  %904 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %905 = add nsw i32 %904, 1
  store i32 %905, 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 %906 unwind label %925

906:                                              ; preds = %.critedge754
  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
  %907 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %908 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %909 = call noundef double @_ZN4gcem5hypotIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %907, double noundef %908) #7
  %910 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %911 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %912 = call double @hypot(double noundef %910, double noundef %911) #7
  %913 = fsub double %909, %912
  %914 = call noundef double @_ZSt3absd(double noundef %913)
  %915 = call noundef double @_ZSt3absd(double noundef %912)
  %916 = fadd double %915, 1.000000e+00
  %917 = fdiv double %914, %916
  %918 = fpext double %909 to x86_fp80
  %919 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %918)
  br i1 %919, label %920, label %929

920:                                              ; preds = %906
  %921 = fpext double %912 to x86_fp80
  %922 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %921)
  br i1 %922, label %943, label %929

923:                                              ; preds = %902, %897, %884
  %.pn665 = phi { ptr, i32 } [ %903, %902 ], [ %885, %884 ], [ %898, %897 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  br label %924

924:                                              ; preds = %923, %882
  %.pn665.pn = phi { ptr, i32 } [ %.pn665, %923 ], [ %883, %882 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  br label %1220

925:                                              ; preds = %.critedge754
  %926 = 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 %967

927:                                              ; preds = %943, %936
  %928 = landingpad { ptr, i32 }
          cleanup
  br label %966

929:                                              ; preds = %920, %906
  %930 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %918)
  br i1 %930, label %935, label %931

931:                                              ; preds = %929
  %932 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %918)
  %933 = fcmp oeq double %909, %912
  %or.cond755 = and i1 %933, %932
  %934 = fcmp olt double %917, 0x3D06849B86A12B9B
  %or.cond820 = or i1 %934, %or.cond755
  br i1 %or.cond820, label %943, label %936

935:                                              ; preds = %929
  %.old819 = fcmp olt double %917, 0x3D06849B86A12B9B
  br i1 %.old819, label %943, label %936

936:                                              ; preds = %931, %935
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %937 unwind label %927

937:                                              ; preds = %936
  %938 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %939 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %940 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %93, i32 noundef %938, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %909, double noundef %912, double noundef %939, double noundef %940)
          to label %.critedge757 unwind label %941

941:                                              ; preds = %937
  %942 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %966

943:                                              ; preds = %920, %931, %935
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %944 unwind label %927

944:                                              ; preds = %943
  %945 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %946 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #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 %909, double noundef %917, double noundef %945, double noundef %946)
          to label %.critedge757 unwind label %947

947:                                              ; preds = %944
  %948 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  br label %966

.critedge757:                                     ; preds = %944, %937
  %.sink854 = phi ptr [ %93, %937 ], [ %94, %944 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink854) #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
  %949 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %950 = add nsw i32 %949, 1
  store i32 %950, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #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.1, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %951 unwind label %968

951:                                              ; preds = %.critedge757
  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
  %952 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %953 = fneg double %952
  %954 = call noundef x86_fp80 @_ZN4gcem5hypotIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %953, x86_fp80 noundef 0xK40008000000000000000) #7
  %955 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %956 = fneg double %955
  %957 = call noundef x86_fp80 @_ZSt5hypotIdeEN9__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 %956, x86_fp80 noundef 0xK40008000000000000000)
  %958 = fsub x86_fp80 %954, %957
  %959 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %958)
  %960 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %957)
  %961 = fadd x86_fp80 %960, 0xK3FFF8000000000000000
  %962 = fdiv x86_fp80 %959, %961
  %963 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %954)
  br i1 %963, label %964, label %972

964:                                              ; preds = %951
  %965 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %957)
  br i1 %965, label %986, label %972

966:                                              ; preds = %947, %941, %927
  %.pn668 = phi { ptr, i32 } [ %948, %947 ], [ %928, %927 ], [ %942, %941 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  br label %967

967:                                              ; preds = %966, %925
  %.pn668.pn = phi { ptr, i32 } [ %.pn668, %966 ], [ %926, %925 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #7
  br label %1220

968:                                              ; preds = %.critedge757
  %969 = landingpad { ptr, i32 }
          cleanup
  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 %1010

970:                                              ; preds = %986, %979
  %971 = landingpad { ptr, i32 }
          cleanup
  br label %1009

972:                                              ; preds = %964, %951
  %973 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %954)
  br i1 %973, label %978, label %974

974:                                              ; preds = %972
  %975 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %954)
  %976 = fcmp oeq x86_fp80 %954, %957
  %or.cond758 = and i1 %976, %975
  %977 = fcmp olt x86_fp80 %962, 0xK3FD0B424DC35095CD800
  %or.cond822 = or i1 %977, %or.cond758
  br i1 %or.cond822, label %986, label %979

978:                                              ; preds = %972
  %.old821 = fcmp olt x86_fp80 %962, 0xK3FD0B424DC35095CD800
  br i1 %.old821, label %986, label %979

979:                                              ; preds = %974, %978
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %980 unwind label %970

980:                                              ; preds = %979
  %981 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %982 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %983 = fneg double %982
  invoke void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %97, i32 noundef %981, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %954, x86_fp80 noundef %957, double noundef %983, x86_fp80 noundef 0xK40008000000000000000)
          to label %.critedge760 unwind label %984

984:                                              ; preds = %980
  %985 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #7
  br label %1009

986:                                              ; preds = %964, %974, %978
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %987 unwind label %970

987:                                              ; preds = %986
  %988 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %989 = fneg double %988
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %98, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %954, x86_fp80 noundef %962, double noundef %989, x86_fp80 noundef 0xK40008000000000000000)
          to label %.critedge760 unwind label %990

990:                                              ; preds = %987
  %991 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #7
  br label %1009

.critedge760:                                     ; preds = %987, %980
  %.sink855 = phi ptr [ %97, %980 ], [ %98, %987 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink855) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #7
  %992 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %993 = add nsw i32 %992, 1
  store i32 %993, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %100) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %994 unwind label %1011

994:                                              ; preds = %.critedge760
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #7
  %995 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %996 = fneg double %995
  %997 = call noundef x86_fp80 @_ZN4gcem5hypotIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, double noundef %996) #7
  %998 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %999 = fneg double %998
  %1000 = call noundef x86_fp80 @_ZSt5hypotIedEN9__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 0xK40008000000000000000, double noundef %999)
  %1001 = fsub x86_fp80 %997, %1000
  %1002 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1001)
  %1003 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1000)
  %1004 = fadd x86_fp80 %1003, 0xK3FFF8000000000000000
  %1005 = fdiv x86_fp80 %1002, %1004
  %1006 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %997)
  br i1 %1006, label %1007, label %1015

1007:                                             ; preds = %994
  %1008 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1000)
  br i1 %1008, label %1029, label %1015

1009:                                             ; preds = %990, %984, %970
  %.pn671 = phi { ptr, i32 } [ %991, %990 ], [ %971, %970 ], [ %985, %984 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  br label %1010

1010:                                             ; preds = %1009, %968
  %.pn671.pn = phi { ptr, i32 } [ %.pn671, %1009 ], [ %969, %968 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #7
  br label %1220

1011:                                             ; preds = %.critedge760
  %1012 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #7
  br label %1059

1013:                                             ; preds = %1029, %1022
  %1014 = landingpad { ptr, i32 }
          cleanup
  br label %1058

1015:                                             ; preds = %1007, %994
  %1016 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %997)
  br i1 %1016, label %1021, label %1017

1017:                                             ; preds = %1015
  %1018 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %997)
  %1019 = fcmp oeq x86_fp80 %997, %1000
  %or.cond761 = and i1 %1019, %1018
  %1020 = fcmp olt x86_fp80 %1005, 0xK3FD0B424DC35095CD800
  %or.cond824 = or i1 %1020, %or.cond761
  br i1 %or.cond824, label %1029, label %1022

1021:                                             ; preds = %1015
  %.old823 = fcmp olt x86_fp80 %1005, 0xK3FD0B424DC35095CD800
  br i1 %.old823, label %1029, label %1022

1022:                                             ; preds = %1017, %1021
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1023 unwind label %1013

1023:                                             ; preds = %1022
  %1024 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1025 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1026 = fneg double %1025
  invoke void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %101, i32 noundef %1024, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %997, x86_fp80 noundef %1000, x86_fp80 noundef 0xK40008000000000000000, double noundef %1026)
          to label %.critedge763 unwind label %1027

1027:                                             ; preds = %1023
  %1028 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1058

1029:                                             ; preds = %1007, %1017, %1021
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1030 unwind label %1013

1030:                                             ; preds = %1029
  %1031 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1032 = fneg double %1031
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %102, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %997, x86_fp80 noundef %1005, x86_fp80 noundef 0xK40008000000000000000, double noundef %1032)
          to label %.critedge763 unwind label %1033

1033:                                             ; preds = %1030
  %1034 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #7
  br label %1058

.critedge763:                                     ; preds = %1030, %1023
  %.sink856 = phi ptr [ %101, %1023 ], [ %102, %1030 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink856) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #7
  %1035 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1036 = add nsw i32 %1035, 1
  store i32 %1036, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %104) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %1037 unwind label %1060

1037:                                             ; preds = %.critedge763
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #7
  %1038 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1039 = fneg double %1038
  %1040 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1041 = fneg double %1040
  %1042 = call noundef double @_ZN4gcem5hypotIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1039, double noundef %1041) #7
  %1043 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1044 = fneg double %1043
  %1045 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1046 = fneg double %1045
  %1047 = call double @hypot(double noundef %1044, double noundef %1046) #7
  %1048 = fsub double %1042, %1047
  %1049 = call noundef double @_ZSt3absd(double noundef %1048)
  %1050 = call noundef double @_ZSt3absd(double noundef %1047)
  %1051 = fadd double %1050, 1.000000e+00
  %1052 = fdiv double %1049, %1051
  %1053 = fpext double %1042 to x86_fp80
  %1054 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1053)
  br i1 %1054, label %1055, label %1064

1055:                                             ; preds = %1037
  %1056 = fpext double %1047 to x86_fp80
  %1057 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1056)
  br i1 %1057, label %1080, label %1064

1058:                                             ; preds = %1033, %1027, %1013
  %.pn674 = phi { ptr, i32 } [ %1034, %1033 ], [ %1014, %1013 ], [ %1028, %1027 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  br label %1059

1059:                                             ; preds = %1058, %1011
  %.pn674.pn = phi { ptr, i32 } [ %.pn674, %1058 ], [ %1012, %1011 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #7
  br label %1220

1060:                                             ; preds = %.critedge763
  %1061 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #7
  br label %1104

1062:                                             ; preds = %1080, %1071
  %1063 = landingpad { ptr, i32 }
          cleanup
  br label %1103

1064:                                             ; preds = %1055, %1037
  %1065 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1053)
  br i1 %1065, label %1070, label %1066

1066:                                             ; preds = %1064
  %1067 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1053)
  %1068 = fcmp oeq double %1042, %1047
  %or.cond764 = and i1 %1068, %1067
  %1069 = fcmp olt double %1052, 0x3D06849B86A12B9B
  %or.cond826 = or i1 %1069, %or.cond764
  br i1 %or.cond826, label %1080, label %1071

1070:                                             ; preds = %1064
  %.old825 = fcmp olt double %1052, 0x3D06849B86A12B9B
  br i1 %.old825, label %1080, label %1071

1071:                                             ; preds = %1066, %1070
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %1072 unwind label %1062

1072:                                             ; preds = %1071
  %1073 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1074 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1075 = fneg double %1074
  %1076 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1077 = fneg double %1076
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %105, i32 noundef %1073, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %1042, double noundef %1047, double noundef %1075, double noundef %1077)
          to label %.critedge766 unwind label %1078

1078:                                             ; preds = %1072
  %1079 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #7
  br label %1103

1080:                                             ; preds = %1055, %1066, %1070
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %1081 unwind label %1062

1081:                                             ; preds = %1080
  %1082 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1083 = fneg double %1082
  %1084 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1085 = fneg double %1084
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %106, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %1042, double noundef %1052, double noundef %1083, double noundef %1085)
          to label %.critedge766 unwind label %1086

1086:                                             ; preds = %1081
  %1087 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #7
  br label %1103

.critedge766:                                     ; preds = %1081, %1072
  %.sink857 = phi ptr [ %105, %1072 ], [ %106, %1081 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink857) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #7
  %1088 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1089 = add nsw i32 %1088, 1
  store i32 %1089, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %108) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %1090 unwind label %1105

1090:                                             ; preds = %.critedge766
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #7
  %1091 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1092 = call noundef x86_fp80 @_ZN4gcem5hypotIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1091, x86_fp80 noundef 0xK3FFF8000000000000000) #7
  %1093 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1094 = call noundef x86_fp80 @_ZSt5hypotIdeEN9__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 %1093, x86_fp80 noundef 0xK3FFF8000000000000000)
  %1095 = fsub x86_fp80 %1092, %1094
  %1096 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1095)
  %1097 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1094)
  %1098 = fadd x86_fp80 %1097, 0xK3FFF8000000000000000
  %1099 = fdiv x86_fp80 %1096, %1098
  %1100 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1092)
  br i1 %1100, label %1101, label %1109

1101:                                             ; preds = %1090
  %1102 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1094)
  br i1 %1102, label %1122, label %1109

1103:                                             ; preds = %1086, %1078, %1062
  %.pn677 = phi { ptr, i32 } [ %1087, %1086 ], [ %1063, %1062 ], [ %1079, %1078 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  br label %1104

1104:                                             ; preds = %1103, %1060
  %.pn677.pn = phi { ptr, i32 } [ %.pn677, %1103 ], [ %1061, %1060 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #7
  br label %1220

1105:                                             ; preds = %.critedge766
  %1106 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #7
  br label %1143

1107:                                             ; preds = %1122, %1116
  %1108 = landingpad { ptr, i32 }
          cleanup
  br label %1142

1109:                                             ; preds = %1101, %1090
  %1110 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1092)
  br i1 %1110, label %1115, label %1111

1111:                                             ; preds = %1109
  %1112 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1092)
  %1113 = fcmp oeq x86_fp80 %1092, %1094
  %or.cond767 = and i1 %1113, %1112
  %1114 = fcmp olt x86_fp80 %1099, 0xK3FD0B424DC35095CD800
  %or.cond828 = or i1 %1114, %or.cond767
  br i1 %or.cond828, label %1122, label %1116

1115:                                             ; preds = %1109
  %.old827 = fcmp olt x86_fp80 %1099, 0xK3FD0B424DC35095CD800
  br i1 %.old827, label %1122, label %1116

1116:                                             ; preds = %1111, %1115
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %1117 unwind label %1107

1117:                                             ; preds = %1116
  %1118 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1119 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %109, i32 noundef %1118, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1092, x86_fp80 noundef %1094, double noundef %1119, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge769 unwind label %1120

1120:                                             ; preds = %1117
  %1121 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1142

1122:                                             ; preds = %1101, %1111, %1115
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %1123 unwind label %1107

1123:                                             ; preds = %1122
  %1124 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %110, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1092, x86_fp80 noundef %1099, double noundef %1124, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge769 unwind label %1125

1125:                                             ; preds = %1123
  %1126 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %1142

.critedge769:                                     ; preds = %1123, %1117
  %.sink858 = phi ptr [ %109, %1117 ], [ %110, %1123 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink858) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #7
  %1127 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1128 = add nsw i32 %1127, 1
  store i32 %1128, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %111) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %112) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %1129 unwind label %1144

1129:                                             ; preds = %.critedge769
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %112) #7
  %1130 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1131 = call noundef x86_fp80 @_ZN4gcem5hypotIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %1130) #7
  %1132 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1133 = call noundef x86_fp80 @_ZSt5hypotIedEN9__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 %1132)
  %1134 = fsub x86_fp80 %1131, %1133
  %1135 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1134)
  %1136 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1133)
  %1137 = fadd x86_fp80 %1136, 0xK3FFF8000000000000000
  %1138 = fdiv x86_fp80 %1135, %1137
  %1139 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1131)
  br i1 %1139, label %1140, label %1148

1140:                                             ; preds = %1129
  %1141 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1133)
  br i1 %1141, label %1161, label %1148

1142:                                             ; preds = %1125, %1120, %1107
  %.pn680 = phi { ptr, i32 } [ %1126, %1125 ], [ %1108, %1107 ], [ %1121, %1120 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  br label %1143

1143:                                             ; preds = %1142, %1105
  %.pn680.pn = phi { ptr, i32 } [ %.pn680, %1142 ], [ %1106, %1105 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #7
  br label %1220

1144:                                             ; preds = %.critedge769
  %1145 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %112) #7
  br label %1186

1146:                                             ; preds = %1161, %1155
  %1147 = landingpad { ptr, i32 }
          cleanup
  br label %1185

1148:                                             ; preds = %1140, %1129
  %1149 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1131)
  br i1 %1149, label %1154, label %1150

1150:                                             ; preds = %1148
  %1151 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1131)
  %1152 = fcmp oeq x86_fp80 %1131, %1133
  %or.cond770 = and i1 %1152, %1151
  %1153 = fcmp olt x86_fp80 %1138, 0xK3FD0B424DC35095CD800
  %or.cond830 = or i1 %1153, %or.cond770
  br i1 %or.cond830, label %1161, label %1155

1154:                                             ; preds = %1148
  %.old829 = fcmp olt x86_fp80 %1138, 0xK3FD0B424DC35095CD800
  br i1 %.old829, label %1161, label %1155

1155:                                             ; preds = %1150, %1154
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1156 unwind label %1146

1156:                                             ; preds = %1155
  %1157 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1158 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %113, i32 noundef %1157, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1131, x86_fp80 noundef %1133, x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %1158)
          to label %.critedge772 unwind label %1159

1159:                                             ; preds = %1156
  %1160 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #7
  br label %1185

1161:                                             ; preds = %1140, %1150, %1154
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1162 unwind label %1146

1162:                                             ; preds = %1161
  %1163 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %114, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1131, x86_fp80 noundef %1138, x86_fp80 noundef 0xK3FFF8000000000000000, double noundef %1163)
          to label %.critedge772 unwind label %1164

1164:                                             ; preds = %1162
  %1165 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  br label %1185

.critedge772:                                     ; preds = %1162, %1156
  %.sink859 = phi ptr [ %113, %1156 ], [ %114, %1162 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink859) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #7
  %1166 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1167 = add nsw i32 %1166, 1
  store i32 %1167, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %115) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %116) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %1168 unwind label %1187

1168:                                             ; preds = %.critedge772
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #7
  %1169 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1170 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1171 = call noundef double @_ZN4gcem5hypotIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1169, double noundef %1170) #7
  %1172 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1173 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1174 = call double @hypot(double noundef %1172, double noundef %1173) #7
  %1175 = fsub double %1171, %1174
  %1176 = call noundef double @_ZSt3absd(double noundef %1175)
  %1177 = call noundef double @_ZSt3absd(double noundef %1174)
  %1178 = fadd double %1177, 1.000000e+00
  %1179 = fdiv double %1176, %1178
  %1180 = fpext double %1171 to x86_fp80
  %1181 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1180)
  br i1 %1181, label %1182, label %1191

1182:                                             ; preds = %1168
  %1183 = fpext double %1174 to x86_fp80
  %1184 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1183)
  br i1 %1184, label %1205, label %1191

1185:                                             ; preds = %1164, %1159, %1146
  %.pn683 = phi { ptr, i32 } [ %1165, %1164 ], [ %1147, %1146 ], [ %1160, %1159 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #7
  br label %1186

1186:                                             ; preds = %1185, %1144
  %.pn683.pn = phi { ptr, i32 } [ %.pn683, %1185 ], [ %1145, %1144 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #7
  br label %1220

1187:                                             ; preds = %.critedge772
  %1188 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #7
  br label %1214

1189:                                             ; preds = %1205, %1198
  %1190 = landingpad { ptr, i32 }
          cleanup
  br label %1213

1191:                                             ; preds = %1182, %1168
  %1192 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1180)
  br i1 %1192, label %1197, label %1193

1193:                                             ; preds = %1191
  %1194 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1180)
  %1195 = fcmp oeq double %1171, %1174
  %or.cond773 = and i1 %1195, %1194
  %1196 = fcmp olt double %1179, 0x3D06849B86A12B9B
  %or.cond832 = or i1 %1196, %or.cond773
  br i1 %or.cond832, label %1205, label %1198

1197:                                             ; preds = %1191
  %.old831 = fcmp olt double %1179, 0x3D06849B86A12B9B
  br i1 %.old831, label %1205, label %1198

1198:                                             ; preds = %1193, %1197
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %1199 unwind label %1189

1199:                                             ; preds = %1198
  %1200 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1201 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1202 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %117, i32 noundef %1200, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %1171, double noundef %1174, double noundef %1201, double noundef %1202)
          to label %.critedge775 unwind label %1203

1203:                                             ; preds = %1199
  %1204 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1213

1205:                                             ; preds = %1182, %1193, %1197
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %1206 unwind label %1189

1206:                                             ; preds = %1205
  %1207 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1208 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %118, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %1171, double noundef %1179, double noundef %1207, double noundef %1208)
          to label %.critedge775 unwind label %1209

1209:                                             ; preds = %1206
  %1210 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  br label %1213

.critedge775:                                     ; preds = %1206, %1199
  %.sink860 = phi ptr [ %117, %1199 ], [ %118, %1206 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink860) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %120) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %120)
          to label %1211 unwind label %1215

1211:                                             ; preds = %.critedge775
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %119)
          to label %1212 unwind label %1217

1212:                                             ; preds = %1211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %120) #7
  ret i32 0

1213:                                             ; preds = %1209, %1203, %1189
  %.pn686 = phi { ptr, i32 } [ %1210, %1209 ], [ %1190, %1189 ], [ %1204, %1203 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  br label %1214

1214:                                             ; preds = %1213, %1187
  %.pn686.pn = phi { ptr, i32 } [ %.pn686, %1213 ], [ %1188, %1187 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #7
  br label %1220

1215:                                             ; preds = %.critedge775
  %1216 = landingpad { ptr, i32 }
          cleanup
  br label %1219

1217:                                             ; preds = %1211
  %1218 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #7
  br label %1219

1219:                                             ; preds = %1217, %1215
  %.pn689 = phi { ptr, i32 } [ %1218, %1217 ], [ %1216, %1215 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %120) #7
  br label %1220

1220:                                             ; preds = %1219, %1214, %1186, %1143, %1104, %1059, %1010, %967, %924, %881, %842, %805, %770, %735, %700, %665, %630, %595, %560, %525, %490, %455, %420, %385, %350, %315, %280, %245, %210, %175, %140
  %.pn689.pn = phi { ptr, i32 } [ %.pn689, %1219 ], [ %.pn686.pn, %1214 ], [ %.pn683.pn, %1186 ], [ %.pn680.pn, %1143 ], [ %.pn677.pn, %1104 ], [ %.pn674.pn, %1059 ], [ %.pn671.pn, %1010 ], [ %.pn668.pn, %967 ], [ %.pn665.pn, %924 ], [ %.pn662.pn, %881 ], [ %.pn659.pn, %842 ], [ %.pn656.pn, %805 ], [ %.pn653.pn, %770 ], [ %.pn650.pn, %735 ], [ %.pn647.pn, %700 ], [ %.pn644.pn, %665 ], [ %.pn641.pn, %630 ], [ %.pn638.pn, %595 ], [ %.pn635.pn, %560 ], [ %.pn632.pn, %525 ], [ %.pn629.pn, %490 ], [ %.pn626.pn, %455 ], [ %.pn623.pn, %420 ], [ %.pn620.pn, %385 ], [ %.pn617.pn, %350 ], [ %.pn614.pn, %315 ], [ %.pn611.pn, %280 ], [ %.pn608.pn, %245 ], [ %.pn605.pn, %210 ], [ %.pn602.pn, %175 ], [ %.pn, %140 ]
  resume { ptr, i32 } %.pn689.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 @_ZN4gcem5hypotIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5hypotee(x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #3

; 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 @_ZN4gcem5hypotIdeEENSt11conditionalIXsr3std11is_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_limitsIdE8infinityEv() local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5hypotIdeEN9__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 #3

; 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 @_ZN4gcem5hypotIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, double noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt5hypotIedEN9__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 #3

; 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 @_ZN4gcem5hypotIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, double noundef) local_unnamed_addr #3

; Function Attrs: nounwind
declare double @hypot(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: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() local_unnamed_addr #3 align 2

; 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 = { 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"}


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