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

; 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 [21 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [27 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 i8, align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca x86_fp80, align 16
  %16 = alloca x86_fp80, align 16
  %17 = alloca i8, align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca x86_fp80, align 16
  %23 = alloca x86_fp80, align 16
  %24 = alloca i8, 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 x86_fp80, align 16
  %30 = alloca x86_fp80, align 16
  %31 = alloca i8, align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator", align 1
  %36 = alloca x86_fp80, align 16
  %37 = alloca x86_fp80, align 16
  %38 = alloca i8, align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca x86_fp80, align 16
  %44 = alloca x86_fp80, align 16
  %45 = alloca i8, align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca x86_fp80, align 16
  %51 = alloca x86_fp80, align 16
  %52 = alloca i8, 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 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 i8, align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::allocator", align 1
  %71 = alloca x86_fp80, align 16
  %72 = alloca x86_fp80, align 16
  %73 = alloca i8, align 1
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::allocator", align 1
  %78 = alloca x86_fp80, align 16
  %79 = alloca x86_fp80, align 16
  %80 = alloca i8, 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 x86_fp80, align 16
  %86 = alloca x86_fp80, align 16
  %87 = alloca i8, align 1
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::allocator", align 1
  %92 = alloca x86_fp80, align 16
  %93 = alloca x86_fp80, align 16
  %94 = alloca i8, align 1
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::allocator", align 1
  %99 = alloca x86_fp80, align 16
  %100 = alloca x86_fp80, align 16
  %101 = alloca i8, align 1
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::allocator", align 1
  %106 = alloca x86_fp80, align 16
  %107 = alloca x86_fp80, align 16
  %108 = alloca i8, 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 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 i8, align 1
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::allocator", align 1
  %127 = alloca x86_fp80, align 16
  %128 = alloca x86_fp80, align 16
  %129 = alloca i8, align 1
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::allocator", align 1
  %134 = alloca x86_fp80, align 16
  %135 = alloca x86_fp80, align 16
  %136 = alloca i8, align 1
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::allocator", align 1
  %141 = alloca x86_fp80, align 16
  %142 = alloca x86_fp80, align 16
  %143 = alloca i8, align 1
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::allocator", align 1
  %148 = alloca x86_fp80, align 16
  %149 = alloca x86_fp80, align 16
  %150 = alloca i8, align 1
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::__cxx11::basic_string", align 8
  %153 = alloca %"class.std::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::allocator", align 1
  %155 = alloca x86_fp80, align 16
  %156 = alloca x86_fp80, align 16
  %157 = alloca i8, align 1
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::allocator", align 1
  %162 = alloca x86_fp80, align 16
  %163 = alloca x86_fp80, align 16
  %164 = alloca i8, align 1
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::allocator", align 1
  %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 double, align 8
  %177 = alloca double, align 8
  %178 = alloca i8, align 1
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %"class.std::__cxx11::basic_string", align 8
  %182 = alloca %"class.std::allocator", align 1
  %183 = alloca x86_fp80, align 16
  %184 = alloca x86_fp80, align 16
  %185 = alloca i8, align 1
  %186 = alloca %"class.std::__cxx11::basic_string", align 8
  %187 = alloca %"class.std::__cxx11::basic_string", align 8
  %188 = alloca %"class.std::__cxx11::basic_string", align 8
  %189 = alloca %"class.std::allocator", align 1
  %190 = alloca x86_fp80, align 16
  %191 = alloca x86_fp80, align 16
  %192 = alloca i8, align 1
  %193 = alloca %"class.std::__cxx11::basic_string", align 8
  %194 = alloca %"class.std::__cxx11::basic_string", align 8
  %195 = alloca %"class.std::__cxx11::basic_string", align 8
  %196 = alloca %"class.std::allocator", align 1
  store i32 0, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 1, ptr %3) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #6
  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 %197 unwind label %222

197:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2)
          to label %198 unwind label %226

198:                                              ; preds = %197
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #6
  %199 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %200 = add nsw i32 %199, 1
  store i32 %200, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %6) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #6
  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 %201 unwind label %231

201:                                              ; preds = %198
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #6
  %202 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFD874A9C9D310C7800) #6
  store x86_fp80 %202, ptr %8, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #6
  %203 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %204 = fsub x86_fp80 %203, 0xK3FFF8000000000000000
  %205 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %204)
          to label %206 unwind label %235

206:                                              ; preds = %201
  %207 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %208 unwind label %235

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

213:                                              ; preds = %208
  br i1 %212, label %243, label %214

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

217:                                              ; preds = %214
  br i1 %216, label %218, label %243

218:                                              ; preds = %217
  %219 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %220 = fcmp oeq x86_fp80 %219, 0xK3FFF8000000000000000
  br i1 %220, label %221, label %243

221:                                              ; preds = %218
  store i8 1, ptr %10, align 1, !tbaa !11
  br label %257

222:                                              ; preds = %0
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %4, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %5, align 4
  br label %230

226:                                              ; preds = %197
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %4, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #6
  br label %230

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

231:                                              ; preds = %198
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %4, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #6
  br label %295

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

239:                                              ; preds = %260, %247, %214, %208
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %4, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %5, align 4
  br label %293

243:                                              ; preds = %218, %217, %213
  %244 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %245 = fcmp olt x86_fp80 %244, 0xK3FD78CBCCC096F508800
  br i1 %245, label %246, label %247

246:                                              ; preds = %243
  store i8 1, ptr %10, align 1, !tbaa !11
  br label %256

247:                                              ; preds = %243
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %248 unwind label %239

248:                                              ; preds = %247
  %249 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %250 = load x86_fp80, ptr %8, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %11, i32 noundef %249, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %250, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFD874A9C9D310C7800)
          to label %251 unwind label %252

251:                                              ; preds = %248
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %256

252:                                              ; preds = %248
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %4, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %293

256:                                              ; preds = %251, %246
  br label %257

257:                                              ; preds = %256, %221
  %258 = load i8, ptr %10, align 1, !tbaa !11, !range !13, !noundef !14
  %259 = trunc i8 %258 to i1
  br i1 %259, label %260, label %269

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

261:                                              ; preds = %260
  %262 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %263 = load x86_fp80, ptr %9, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %12, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %262, x86_fp80 noundef %263, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFD874A9C9D310C7800)
          to label %264 unwind label %265

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

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

269:                                              ; preds = %264, %257
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #6
  %270 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %271 = add nsw i32 %270, 1
  store i32 %271, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %272 unwind label %296

272:                                              ; preds = %269
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #6
  %273 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFDDAED822892A82800) #6
  store x86_fp80 %273, ptr %15, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #6
  %274 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %275 = fsub x86_fp80 %274, 0xK3FFF8000000000000000
  %276 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %275)
          to label %277 unwind label %300

277:                                              ; preds = %272
  %278 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %279 unwind label %300

279:                                              ; preds = %277
  %280 = fadd x86_fp80 0xK3FFF8000000000000000, %278
  %281 = fdiv x86_fp80 %276, %280
  store x86_fp80 %281, ptr %16, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #6
  store i8 0, ptr %17, align 1, !tbaa !11
  %282 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %283 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %282)
          to label %284 unwind label %304

284:                                              ; preds = %279
  br i1 %283, label %308, label %285

285:                                              ; preds = %284
  %286 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %287 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %286)
          to label %288 unwind label %304

288:                                              ; preds = %285
  br i1 %287, label %289, label %308

289:                                              ; preds = %288
  %290 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %291 = fcmp oeq x86_fp80 %290, 0xK3FFF8000000000000000
  br i1 %291, label %292, label %308

292:                                              ; preds = %289
  store i8 1, ptr %17, align 1, !tbaa !11
  br label %322

293:                                              ; preds = %265, %252, %239
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  br label %294

294:                                              ; preds = %293, %235
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  br label %295

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

296:                                              ; preds = %269
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %4, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #6
  br label %360

300:                                              ; preds = %277, %272
  %301 = landingpad { ptr, i32 }
          cleanup
  %302 = extractvalue { ptr, i32 } %301, 0
  store ptr %302, ptr %4, align 8
  %303 = extractvalue { ptr, i32 } %301, 1
  store i32 %303, ptr %5, align 4
  br label %359

304:                                              ; preds = %325, %312, %285, %279
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %4, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %5, align 4
  br label %358

308:                                              ; preds = %289, %288, %284
  %309 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %310 = fcmp olt x86_fp80 %309, 0xK3FD78CBCCC096F508800
  br i1 %310, label %311, label %312

311:                                              ; preds = %308
  store i8 1, ptr %17, align 1, !tbaa !11
  br label %321

312:                                              ; preds = %308
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %313 unwind label %304

313:                                              ; preds = %312
  %314 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %315 = load x86_fp80, ptr %15, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %18, i32 noundef %314, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %315, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFDDAED822892A82800)
          to label %316 unwind label %317

316:                                              ; preds = %313
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %321

317:                                              ; preds = %313
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %4, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %358

321:                                              ; preds = %316, %311
  br label %322

322:                                              ; preds = %321, %292
  %323 = load i8, ptr %17, align 1, !tbaa !11, !range !13, !noundef !14
  %324 = trunc i8 %323 to i1
  br i1 %324, label %325, label %334

325:                                              ; preds = %322
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %326 unwind label %304

326:                                              ; preds = %325
  %327 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %328 = load x86_fp80, ptr %16, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %19, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %327, x86_fp80 noundef %328, x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFDDAED822892A82800)
          to label %329 unwind label %330

329:                                              ; preds = %326
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %334

330:                                              ; preds = %326
  %331 = landingpad { ptr, i32 }
          cleanup
  %332 = extractvalue { ptr, i32 } %331, 0
  store ptr %332, ptr %4, align 8
  %333 = extractvalue { ptr, i32 } %331, 1
  store i32 %333, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %358

334:                                              ; preds = %329, %322
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  %335 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %336 = add nsw i32 %335, 1
  store i32 %336, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %337 unwind label %361

337:                                              ; preds = %334
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #6
  %338 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFECD049E66629EA000) #6
  store x86_fp80 %338, ptr %22, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #6
  %339 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %340 = fsub x86_fp80 %339, 0xK4000C000000000000000
  %341 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %340)
          to label %342 unwind label %365

342:                                              ; preds = %337
  %343 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4000C000000000000000)
          to label %344 unwind label %365

344:                                              ; preds = %342
  %345 = fadd x86_fp80 0xK3FFF8000000000000000, %343
  %346 = fdiv x86_fp80 %341, %345
  store x86_fp80 %346, ptr %23, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #6
  store i8 0, ptr %24, align 1, !tbaa !11
  %347 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %348 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %347)
          to label %349 unwind label %369

349:                                              ; preds = %344
  br i1 %348, label %373, label %350

350:                                              ; preds = %349
  %351 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %352 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %351)
          to label %353 unwind label %369

353:                                              ; preds = %350
  br i1 %352, label %354, label %373

354:                                              ; preds = %353
  %355 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %356 = fcmp oeq x86_fp80 %355, 0xK4000C000000000000000
  br i1 %356, label %357, label %373

357:                                              ; preds = %354
  store i8 1, ptr %24, align 1, !tbaa !11
  br label %387

358:                                              ; preds = %330, %317, %304
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #6
  br label %359

359:                                              ; preds = %358, %300
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %360

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

361:                                              ; preds = %334
  %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) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  br label %425

365:                                              ; preds = %342, %337
  %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 %424

369:                                              ; preds = %390, %377, %350, %344
  %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 %423

373:                                              ; preds = %354, %353, %349
  %374 = load x86_fp80, ptr %23, align 16, !tbaa !9
  %375 = fcmp olt x86_fp80 %374, 0xK3FD78CBCCC096F508800
  br i1 %375, label %376, label %377

376:                                              ; preds = %373
  store i8 1, ptr %24, align 1, !tbaa !11
  br label %386

377:                                              ; preds = %373
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %378 unwind label %369

378:                                              ; preds = %377
  %379 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %380 = load x86_fp80, ptr %22, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %25, i32 noundef %379, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %380, x86_fp80 noundef 0xK4000C000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFECD049E66629EA000)
          to label %381 unwind label %382

381:                                              ; preds = %378
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %386

382:                                              ; preds = %378
  %383 = landingpad { ptr, i32 }
          cleanup
  %384 = extractvalue { ptr, i32 } %383, 0
  store ptr %384, ptr %4, align 8
  %385 = extractvalue { ptr, i32 } %383, 1
  store i32 %385, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %423

386:                                              ; preds = %381, %376
  br label %387

387:                                              ; preds = %386, %357
  %388 = load i8, ptr %24, align 1, !tbaa !11, !range !13, !noundef !14
  %389 = trunc i8 %388 to i1
  br i1 %389, label %390, label %399

390:                                              ; preds = %387
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %391 unwind label %369

391:                                              ; preds = %390
  %392 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %393 = load x86_fp80, ptr %23, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %26, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %392, x86_fp80 noundef %393, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFECD049E66629EA000)
          to label %394 unwind label %395

394:                                              ; preds = %391
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %399

395:                                              ; preds = %391
  %396 = landingpad { ptr, i32 }
          cleanup
  %397 = extractvalue { ptr, i32 } %396, 0
  store ptr %397, ptr %4, align 8
  %398 = extractvalue { ptr, i32 } %396, 1
  store i32 %398, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %423

399:                                              ; preds = %394, %387
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  %400 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %401 = add nsw i32 %400, 1
  store i32 %401, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %402 unwind label %426

402:                                              ; preds = %399
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #6
  %403 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEF5A6880BFB00B000) #6
  store x86_fp80 %403, ptr %29, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #6
  %404 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %405 = fsub x86_fp80 %404, 0xK4001A000000000000000
  %406 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %405)
          to label %407 unwind label %430

407:                                              ; preds = %402
  %408 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4001A000000000000000)
          to label %409 unwind label %430

409:                                              ; preds = %407
  %410 = fadd x86_fp80 0xK3FFF8000000000000000, %408
  %411 = fdiv x86_fp80 %406, %410
  store x86_fp80 %411, ptr %30, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #6
  store i8 0, ptr %31, align 1, !tbaa !11
  %412 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %413 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %412)
          to label %414 unwind label %434

414:                                              ; preds = %409
  br i1 %413, label %438, label %415

415:                                              ; preds = %414
  %416 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %417 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %416)
          to label %418 unwind label %434

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

419:                                              ; preds = %418
  %420 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %421 = fcmp oeq x86_fp80 %420, 0xK4001A000000000000000
  br i1 %421, label %422, label %438

422:                                              ; preds = %419
  store i8 1, ptr %31, align 1, !tbaa !11
  br label %452

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

424:                                              ; preds = %423, %365
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %425

425:                                              ; preds = %424, %361
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  br label %2032

426:                                              ; preds = %399
  %427 = landingpad { ptr, i32 }
          cleanup
  %428 = extractvalue { ptr, i32 } %427, 0
  store ptr %428, ptr %4, align 8
  %429 = extractvalue { ptr, i32 } %427, 1
  store i32 %429, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  br label %490

430:                                              ; preds = %407, %402
  %431 = landingpad { ptr, i32 }
          cleanup
  %432 = extractvalue { ptr, i32 } %431, 0
  store ptr %432, ptr %4, align 8
  %433 = extractvalue { ptr, i32 } %431, 1
  store i32 %433, ptr %5, align 4
  br label %489

434:                                              ; preds = %455, %442, %415, %409
  %435 = landingpad { ptr, i32 }
          cleanup
  %436 = extractvalue { ptr, i32 } %435, 0
  store ptr %436, ptr %4, align 8
  %437 = extractvalue { ptr, i32 } %435, 1
  store i32 %437, ptr %5, align 4
  br label %488

438:                                              ; preds = %419, %418, %414
  %439 = load x86_fp80, ptr %30, align 16, !tbaa !9
  %440 = fcmp olt x86_fp80 %439, 0xK3FD78CBCCC096F508800
  br i1 %440, label %441, label %442

441:                                              ; preds = %438
  store i8 1, ptr %31, align 1, !tbaa !11
  br label %451

442:                                              ; preds = %438
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %443 unwind label %434

443:                                              ; preds = %442
  %444 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %445 = load x86_fp80, ptr %29, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %32, i32 noundef %444, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %445, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEF5A6880BFB00B000)
          to label %446 unwind label %447

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

447:                                              ; preds = %443
  %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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %488

451:                                              ; preds = %446, %441
  br label %452

452:                                              ; preds = %451, %422
  %453 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %454 = trunc i8 %453 to i1
  br i1 %454, label %455, label %464

455:                                              ; preds = %452
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %456 unwind label %434

456:                                              ; preds = %455
  %457 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %458 = load x86_fp80, ptr %30, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %33, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %457, x86_fp80 noundef %458, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEF5A6880BFB00B000)
          to label %459 unwind label %460

459:                                              ; preds = %456
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %464

460:                                              ; preds = %456
  %461 = landingpad { ptr, i32 }
          cleanup
  %462 = extractvalue { ptr, i32 } %461, 0
  store ptr %462, ptr %4, align 8
  %463 = extractvalue { ptr, i32 } %461, 1
  store i32 %463, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %488

464:                                              ; preds = %459, %452
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  %465 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %466 = add nsw i32 %465, 1
  store i32 %466, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %467 unwind label %491

467:                                              ; preds = %464
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #6
  %468 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEFFAF1F4546405800) #6
  store x86_fp80 %468, ptr %36, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #6
  %469 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %470 = fsub x86_fp80 %469, 0xK40029000000000000000
  %471 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %470)
          to label %472 unwind label %495

472:                                              ; preds = %467
  %473 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40029000000000000000)
          to label %474 unwind label %495

474:                                              ; preds = %472
  %475 = fadd x86_fp80 0xK3FFF8000000000000000, %473
  %476 = fdiv x86_fp80 %471, %475
  store x86_fp80 %476, ptr %37, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #6
  store i8 0, ptr %38, align 1, !tbaa !11
  %477 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %478 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %477)
          to label %479 unwind label %499

479:                                              ; preds = %474
  br i1 %478, label %503, label %480

480:                                              ; preds = %479
  %481 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %482 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %481)
          to label %483 unwind label %499

483:                                              ; preds = %480
  br i1 %482, label %484, label %503

484:                                              ; preds = %483
  %485 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %486 = fcmp oeq x86_fp80 %485, 0xK40029000000000000000
  br i1 %486, label %487, label %503

487:                                              ; preds = %484
  store i8 1, ptr %38, align 1, !tbaa !11
  br label %517

488:                                              ; preds = %460, %447, %434
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  br label %489

489:                                              ; preds = %488, %430
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %490

490:                                              ; preds = %489, %426
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  br label %2032

491:                                              ; preds = %464
  %492 = landingpad { ptr, i32 }
          cleanup
  %493 = extractvalue { ptr, i32 } %492, 0
  store ptr %493, ptr %4, align 8
  %494 = extractvalue { ptr, i32 } %492, 1
  store i32 %494, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #6
  br label %561

495:                                              ; preds = %472, %467
  %496 = landingpad { ptr, i32 }
          cleanup
  %497 = extractvalue { ptr, i32 } %496, 0
  store ptr %497, ptr %4, align 8
  %498 = extractvalue { ptr, i32 } %496, 1
  store i32 %498, ptr %5, align 4
  br label %560

499:                                              ; preds = %520, %507, %480, %474
  %500 = landingpad { ptr, i32 }
          cleanup
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %4, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %5, align 4
  br label %559

503:                                              ; preds = %484, %483, %479
  %504 = load x86_fp80, ptr %37, align 16, !tbaa !9
  %505 = fcmp olt x86_fp80 %504, 0xK3FD78CBCCC096F508800
  br i1 %505, label %506, label %507

506:                                              ; preds = %503
  store i8 1, ptr %38, align 1, !tbaa !11
  br label %516

507:                                              ; preds = %503
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %508 unwind label %499

508:                                              ; preds = %507
  %509 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %510 = load x86_fp80, ptr %36, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %39, i32 noundef %509, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %510, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEFFAF1F4546405800)
          to label %511 unwind label %512

511:                                              ; preds = %508
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %516

512:                                              ; preds = %508
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %4, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %559

516:                                              ; preds = %511, %506
  br label %517

517:                                              ; preds = %516, %487
  %518 = load i8, ptr %38, align 1, !tbaa !11, !range !13, !noundef !14
  %519 = trunc i8 %518 to i1
  br i1 %519, label %520, label %529

520:                                              ; preds = %517
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %521 unwind label %499

521:                                              ; preds = %520
  %522 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %523 = load x86_fp80, ptr %37, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %40, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %522, x86_fp80 noundef %523, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEFFAF1F4546405800)
          to label %524 unwind label %525

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

525:                                              ; preds = %521
  %526 = landingpad { ptr, i32 }
          cleanup
  %527 = extractvalue { ptr, i32 } %526, 0
  store ptr %527, ptr %4, align 8
  %528 = extractvalue { ptr, i32 } %526, 1
  store i32 %528, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %559

529:                                              ; preds = %524, %517
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  %530 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %531 = add nsw i32 %530, 1
  store i32 %531, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %532 unwind label %562

532:                                              ; preds = %529
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #6
  %533 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #6
  store x86_fp80 %533, ptr %43, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #6
  %534 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %535 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #6
  %536 = fpext double %535 to x86_fp80
  %537 = fsub x86_fp80 %534, %536
  %538 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %537)
          to label %539 unwind label %566

539:                                              ; preds = %532
  %540 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #6
  %541 = invoke noundef double @_ZSt3absd(double noundef %540)
          to label %542 unwind label %566

542:                                              ; preds = %539
  %543 = fadd double 1.000000e+00, %541
  %544 = fpext double %543 to x86_fp80
  %545 = fdiv x86_fp80 %538, %544
  store x86_fp80 %545, ptr %44, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #6
  store i8 0, ptr %45, align 1, !tbaa !11
  %546 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %547 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %546)
          to label %548 unwind label %570

548:                                              ; preds = %542
  br i1 %547, label %574, label %549

549:                                              ; preds = %548
  %550 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %551 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %550)
          to label %552 unwind label %570

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

553:                                              ; preds = %552
  %554 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %555 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #6
  %556 = fpext double %555 to x86_fp80
  %557 = fcmp oeq x86_fp80 %554, %556
  br i1 %557, label %558, label %574

558:                                              ; preds = %553
  store i8 1, ptr %45, align 1, !tbaa !11
  br label %589

559:                                              ; preds = %525, %512, %499
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #6
  br label %560

560:                                              ; preds = %559, %495
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %561

561:                                              ; preds = %560, %491
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  br label %2032

562:                                              ; preds = %529
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %4, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #6
  br label %627

566:                                              ; preds = %539, %532
  %567 = landingpad { ptr, i32 }
          cleanup
  %568 = extractvalue { ptr, i32 } %567, 0
  store ptr %568, ptr %4, align 8
  %569 = extractvalue { ptr, i32 } %567, 1
  store i32 %569, ptr %5, align 4
  br label %626

570:                                              ; preds = %592, %578, %549, %542
  %571 = landingpad { ptr, i32 }
          cleanup
  %572 = extractvalue { ptr, i32 } %571, 0
  store ptr %572, ptr %4, align 8
  %573 = extractvalue { ptr, i32 } %571, 1
  store i32 %573, ptr %5, align 4
  br label %625

574:                                              ; preds = %553, %552, %548
  %575 = load x86_fp80, ptr %44, align 16, !tbaa !9
  %576 = fcmp olt x86_fp80 %575, 0xK3FD78CBCCC096F508800
  br i1 %576, label %577, label %578

577:                                              ; preds = %574
  store i8 1, ptr %45, align 1, !tbaa !11
  br label %588

578:                                              ; preds = %574
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %579 unwind label %570

579:                                              ; preds = %578
  %580 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %581 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %582 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #6
  invoke void @_Z15print_test_failIedeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %46, i32 noundef %580, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %581, double noundef %582, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %583 unwind label %584

583:                                              ; preds = %579
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %588

584:                                              ; preds = %579
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %4, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %625

588:                                              ; preds = %583, %577
  br label %589

589:                                              ; preds = %588, %558
  %590 = load i8, ptr %45, align 1, !tbaa !11, !range !13, !noundef !14
  %591 = trunc i8 %590 to i1
  br i1 %591, label %592, label %601

592:                                              ; preds = %589
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %593 unwind label %570

593:                                              ; preds = %592
  %594 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %595 = load x86_fp80, ptr %44, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %47, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %594, x86_fp80 noundef %595, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %596 unwind label %597

596:                                              ; preds = %593
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %601

597:                                              ; preds = %593
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %4, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %625

601:                                              ; preds = %596, %589
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  %602 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %603 = add nsw i32 %602, 1
  store i32 %603, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %604 unwind label %628

604:                                              ; preds = %601
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #6
  %605 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000) #6
  store x86_fp80 %605, ptr %50, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #6
  %606 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %607 = fsub x86_fp80 %606, 0xK00000000000000000000
  %608 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %607)
          to label %609 unwind label %632

609:                                              ; preds = %604
  %610 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK00000000000000000000)
          to label %611 unwind label %632

611:                                              ; preds = %609
  %612 = fadd x86_fp80 0xK3FFF8000000000000000, %610
  %613 = fdiv x86_fp80 %608, %612
  store x86_fp80 %613, ptr %51, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #6
  store i8 0, ptr %52, align 1, !tbaa !11
  %614 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %615 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %614)
          to label %616 unwind label %636

616:                                              ; preds = %611
  br i1 %615, label %640, label %617

617:                                              ; preds = %616
  %618 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %619 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %618)
          to label %620 unwind label %636

620:                                              ; preds = %617
  br i1 %619, label %621, label %640

621:                                              ; preds = %620
  %622 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %623 = fcmp oeq x86_fp80 %622, 0xK00000000000000000000
  br i1 %623, label %624, label %640

624:                                              ; preds = %621
  store i8 1, ptr %52, align 1, !tbaa !11
  br label %654

625:                                              ; preds = %597, %584, %570
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #6
  br label %626

626:                                              ; preds = %625, %566
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %627

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

628:                                              ; preds = %601
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %4, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #6
  br label %692

632:                                              ; preds = %609, %604
  %633 = landingpad { ptr, i32 }
          cleanup
  %634 = extractvalue { ptr, i32 } %633, 0
  store ptr %634, ptr %4, align 8
  %635 = extractvalue { ptr, i32 } %633, 1
  store i32 %635, ptr %5, align 4
  br label %691

636:                                              ; preds = %657, %644, %617, %611
  %637 = landingpad { ptr, i32 }
          cleanup
  %638 = extractvalue { ptr, i32 } %637, 0
  store ptr %638, ptr %4, align 8
  %639 = extractvalue { ptr, i32 } %637, 1
  store i32 %639, ptr %5, align 4
  br label %690

640:                                              ; preds = %621, %620, %616
  %641 = load x86_fp80, ptr %51, align 16, !tbaa !9
  %642 = fcmp olt x86_fp80 %641, 0xK3FD78CBCCC096F508800
  br i1 %642, label %643, label %644

643:                                              ; preds = %640
  store i8 1, ptr %52, align 1, !tbaa !11
  br label %653

644:                                              ; preds = %640
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %645 unwind label %636

645:                                              ; preds = %644
  %646 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %647 = load x86_fp80, ptr %50, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %53, i32 noundef %646, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %647, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %648 unwind label %649

648:                                              ; preds = %645
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %653

649:                                              ; preds = %645
  %650 = landingpad { ptr, i32 }
          cleanup
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %4, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %690

653:                                              ; preds = %648, %643
  br label %654

654:                                              ; preds = %653, %624
  %655 = load i8, ptr %52, align 1, !tbaa !11, !range !13, !noundef !14
  %656 = trunc i8 %655 to i1
  br i1 %656, label %657, label %666

657:                                              ; preds = %654
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %658 unwind label %636

658:                                              ; preds = %657
  %659 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %660 = load x86_fp80, ptr %51, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %54, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %659, x86_fp80 noundef %660, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %661 unwind label %662

661:                                              ; preds = %658
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %666

662:                                              ; preds = %658
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %4, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %690

666:                                              ; preds = %661, %654
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  %667 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %668 = add nsw i32 %667, 1
  store i32 %668, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %669 unwind label %693

669:                                              ; preds = %666
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #6
  %670 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #6
  store x86_fp80 %670, ptr %57, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #6
  %671 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %672 = fsub x86_fp80 %671, 0xK00000000000000000000
  %673 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %672)
          to label %674 unwind label %697

674:                                              ; preds = %669
  %675 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK00000000000000000000)
          to label %676 unwind label %697

676:                                              ; preds = %674
  %677 = fadd x86_fp80 0xK3FFF8000000000000000, %675
  %678 = fdiv x86_fp80 %673, %677
  store x86_fp80 %678, ptr %58, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #6
  store i8 0, ptr %59, align 1, !tbaa !11
  %679 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %680 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %679)
          to label %681 unwind label %701

681:                                              ; preds = %676
  br i1 %680, label %705, label %682

682:                                              ; preds = %681
  %683 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %684 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %683)
          to label %685 unwind label %701

685:                                              ; preds = %682
  br i1 %684, label %686, label %705

686:                                              ; preds = %685
  %687 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %688 = fcmp oeq x86_fp80 %687, 0xK00000000000000000000
  br i1 %688, label %689, label %705

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

690:                                              ; preds = %662, %649, %636
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #6
  br label %691

691:                                              ; preds = %690, %632
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %692

692:                                              ; preds = %691, %628
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  br label %2032

693:                                              ; preds = %666
  %694 = landingpad { ptr, i32 }
          cleanup
  %695 = extractvalue { ptr, i32 } %694, 0
  store ptr %695, ptr %4, align 8
  %696 = extractvalue { ptr, i32 } %694, 1
  store i32 %696, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #6
  br label %757

697:                                              ; preds = %674, %669
  %698 = landingpad { ptr, i32 }
          cleanup
  %699 = extractvalue { ptr, i32 } %698, 0
  store ptr %699, ptr %4, align 8
  %700 = extractvalue { ptr, i32 } %698, 1
  store i32 %700, ptr %5, align 4
  br label %756

701:                                              ; preds = %722, %709, %682, %676
  %702 = landingpad { ptr, i32 }
          cleanup
  %703 = extractvalue { ptr, i32 } %702, 0
  store ptr %703, ptr %4, align 8
  %704 = extractvalue { ptr, i32 } %702, 1
  store i32 %704, ptr %5, align 4
  br label %755

705:                                              ; preds = %686, %685, %681
  %706 = load x86_fp80, ptr %58, align 16, !tbaa !9
  %707 = fcmp olt x86_fp80 %706, 0xK3FD78CBCCC096F508800
  br i1 %707, label %708, label %709

708:                                              ; preds = %705
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %718

709:                                              ; preds = %705
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %710 unwind label %701

710:                                              ; preds = %709
  %711 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %712 = 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 %711, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %712, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %713 unwind label %714

713:                                              ; preds = %710
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %718

714:                                              ; preds = %710
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %4, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %755

718:                                              ; preds = %713, %708
  br label %719

719:                                              ; preds = %718, %689
  %720 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %721 = trunc i8 %720 to i1
  br i1 %721, label %722, label %731

722:                                              ; preds = %719
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %723 unwind label %701

723:                                              ; preds = %722
  %724 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %725 = 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 3, i32 noundef 18, x86_fp80 noundef %724, x86_fp80 noundef %725, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %726 unwind label %727

726:                                              ; preds = %723
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %731

727:                                              ; preds = %723
  %728 = landingpad { ptr, i32 }
          cleanup
  %729 = extractvalue { ptr, i32 } %728, 0
  store ptr %729, ptr %4, align 8
  %730 = extractvalue { ptr, i32 } %728, 1
  store i32 %730, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %755

731:                                              ; preds = %726, %719
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  %732 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %733 = add nsw i32 %732, 1
  store i32 %733, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  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 %734 unwind label %758

734:                                              ; preds = %731
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #6
  %735 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK3FFDF5A18F02FC517000) #6
  store x86_fp80 %735, ptr %64, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #6
  %736 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %737 = fsub x86_fp80 %736, 0xK4002B000000000000000
  %738 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %737)
          to label %739 unwind label %762

739:                                              ; preds = %734
  %740 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4002B000000000000000)
          to label %741 unwind label %762

741:                                              ; preds = %739
  %742 = fadd x86_fp80 0xK3FFF8000000000000000, %740
  %743 = fdiv x86_fp80 %738, %742
  store x86_fp80 %743, ptr %65, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #6
  store i8 0, ptr %66, align 1, !tbaa !11
  %744 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %745 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %744)
          to label %746 unwind label %766

746:                                              ; preds = %741
  br i1 %745, label %770, label %747

747:                                              ; preds = %746
  %748 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %749 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %748)
          to label %750 unwind label %766

750:                                              ; preds = %747
  br i1 %749, label %751, label %770

751:                                              ; preds = %750
  %752 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %753 = fcmp oeq x86_fp80 %752, 0xK4002B000000000000000
  br i1 %753, label %754, label %770

754:                                              ; preds = %751
  store i8 1, ptr %66, align 1, !tbaa !11
  br label %784

755:                                              ; preds = %727, %714, %701
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #6
  br label %756

756:                                              ; preds = %755, %697
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %757

757:                                              ; preds = %756, %693
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  br label %2032

758:                                              ; preds = %731
  %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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #6
  br label %822

762:                                              ; preds = %739, %734
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %4, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %5, align 4
  br label %821

766:                                              ; preds = %787, %774, %747, %741
  %767 = landingpad { ptr, i32 }
          cleanup
  %768 = extractvalue { ptr, i32 } %767, 0
  store ptr %768, ptr %4, align 8
  %769 = extractvalue { ptr, i32 } %767, 1
  store i32 %769, ptr %5, align 4
  br label %820

770:                                              ; preds = %751, %750, %746
  %771 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %772 = fcmp olt x86_fp80 %771, 0xK3FD78CBCCC096F508800
  br i1 %772, label %773, label %774

773:                                              ; preds = %770
  store i8 1, ptr %66, align 1, !tbaa !11
  br label %783

774:                                              ; preds = %770
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %775 unwind label %766

775:                                              ; preds = %774
  %776 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %777 = load x86_fp80, ptr %64, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %67, i32 noundef %776, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %777, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK3FFDF5A18F02FC517000)
          to label %778 unwind label %779

778:                                              ; preds = %775
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %783

779:                                              ; preds = %775
  %780 = landingpad { ptr, i32 }
          cleanup
  %781 = extractvalue { ptr, i32 } %780, 0
  store ptr %781, ptr %4, align 8
  %782 = extractvalue { ptr, i32 } %780, 1
  store i32 %782, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %820

783:                                              ; preds = %778, %773
  br label %784

784:                                              ; preds = %783, %754
  %785 = load i8, ptr %66, align 1, !tbaa !11, !range !13, !noundef !14
  %786 = trunc i8 %785 to i1
  br i1 %786, label %787, label %796

787:                                              ; preds = %784
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %788 unwind label %766

788:                                              ; preds = %787
  %789 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %790 = load x86_fp80, ptr %65, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %68, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %789, x86_fp80 noundef %790, x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK3FFDF5A18F02FC517000)
          to label %791 unwind label %792

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

792:                                              ; preds = %788
  %793 = landingpad { ptr, i32 }
          cleanup
  %794 = extractvalue { ptr, i32 } %793, 0
  store ptr %794, ptr %4, align 8
  %795 = extractvalue { ptr, i32 } %793, 1
  store i32 %795, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %820

796:                                              ; preds = %791, %784
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  %797 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %798 = add nsw i32 %797, 1
  store i32 %798, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %799 unwind label %823

799:                                              ; preds = %796
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #6
  %800 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK3FFEC10D1BD011526000) #6
  store x86_fp80 %800, ptr %71, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #6
  %801 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %802 = fsub x86_fp80 %801, 0xK40039000000000000000
  %803 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %802)
          to label %804 unwind label %827

804:                                              ; preds = %799
  %805 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40039000000000000000)
          to label %806 unwind label %827

806:                                              ; preds = %804
  %807 = fadd x86_fp80 0xK3FFF8000000000000000, %805
  %808 = fdiv x86_fp80 %803, %807
  store x86_fp80 %808, ptr %72, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %73) #6
  store i8 0, ptr %73, align 1, !tbaa !11
  %809 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %810 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %809)
          to label %811 unwind label %831

811:                                              ; preds = %806
  br i1 %810, label %835, label %812

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

815:                                              ; preds = %812
  br i1 %814, label %816, label %835

816:                                              ; preds = %815
  %817 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %818 = fcmp oeq x86_fp80 %817, 0xK40039000000000000000
  br i1 %818, label %819, label %835

819:                                              ; preds = %816
  store i8 1, ptr %73, align 1, !tbaa !11
  br label %849

820:                                              ; preds = %792, %779, %766
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  br label %821

821:                                              ; preds = %820, %762
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %822

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

823:                                              ; preds = %796
  %824 = landingpad { ptr, i32 }
          cleanup
  %825 = extractvalue { ptr, i32 } %824, 0
  store ptr %825, ptr %4, align 8
  %826 = extractvalue { ptr, i32 } %824, 1
  store i32 %826, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  br label %887

827:                                              ; preds = %804, %799
  %828 = landingpad { ptr, i32 }
          cleanup
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %4, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %5, align 4
  br label %886

831:                                              ; preds = %852, %839, %812, %806
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %4, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %5, align 4
  br label %885

835:                                              ; preds = %816, %815, %811
  %836 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %837 = fcmp olt x86_fp80 %836, 0xK3FD78CBCCC096F508800
  br i1 %837, label %838, label %839

838:                                              ; preds = %835
  store i8 1, ptr %73, align 1, !tbaa !11
  br label %848

839:                                              ; preds = %835
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %840 unwind label %831

840:                                              ; preds = %839
  %841 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %842 = load x86_fp80, ptr %71, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %74, i32 noundef %841, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %842, x86_fp80 noundef 0xK40039000000000000000, x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK3FFEC10D1BD011526000)
          to label %843 unwind label %844

843:                                              ; preds = %840
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  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) %74) #6
  br label %885

848:                                              ; preds = %843, %838
  br label %849

849:                                              ; preds = %848, %819
  %850 = load i8, ptr %73, align 1, !tbaa !11, !range !13, !noundef !14
  %851 = trunc i8 %850 to i1
  br i1 %851, label %852, label %861

852:                                              ; preds = %849
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %853 unwind label %831

853:                                              ; preds = %852
  %854 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %855 = load x86_fp80, ptr %72, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %75, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %854, x86_fp80 noundef %855, x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK3FFEC10D1BD011526000)
          to label %856 unwind label %857

856:                                              ; preds = %853
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %861

857:                                              ; preds = %853
  %858 = landingpad { ptr, i32 }
          cleanup
  %859 = extractvalue { ptr, i32 } %858, 0
  store ptr %859, ptr %4, align 8
  %860 = extractvalue { ptr, i32 } %858, 1
  store i32 %860, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %885

861:                                              ; preds = %856, %849
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  %862 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %863 = add nsw i32 %862, 1
  store i32 %863, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %77) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %77)
          to label %864 unwind label %888

864:                                              ; preds = %861
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #6
  %865 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK3FFDE0216CD933A6F800) #6
  store x86_fp80 %865, ptr %78, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %79) #6
  %866 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %867 = fsub x86_fp80 %866, 0xK40039000000000000000
  %868 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %867)
          to label %869 unwind label %892

869:                                              ; preds = %864
  %870 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40039000000000000000)
          to label %871 unwind label %892

871:                                              ; preds = %869
  %872 = fadd x86_fp80 0xK3FFF8000000000000000, %870
  %873 = fdiv x86_fp80 %868, %872
  store x86_fp80 %873, ptr %79, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #6
  store i8 0, ptr %80, align 1, !tbaa !11
  %874 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %875 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %874)
          to label %876 unwind label %896

876:                                              ; preds = %871
  br i1 %875, label %900, label %877

877:                                              ; preds = %876
  %878 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %879 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %878)
          to label %880 unwind label %896

880:                                              ; preds = %877
  br i1 %879, label %881, label %900

881:                                              ; preds = %880
  %882 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %883 = fcmp oeq x86_fp80 %882, 0xK40039000000000000000
  br i1 %883, label %884, label %900

884:                                              ; preds = %881
  store i8 1, ptr %80, align 1, !tbaa !11
  br label %914

885:                                              ; preds = %857, %844, %831
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #6
  br label %886

886:                                              ; preds = %885, %827
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %887

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

888:                                              ; preds = %861
  %889 = landingpad { ptr, i32 }
          cleanup
  %890 = extractvalue { ptr, i32 } %889, 0
  store ptr %890, ptr %4, align 8
  %891 = extractvalue { ptr, i32 } %889, 1
  store i32 %891, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #6
  br label %952

892:                                              ; preds = %869, %864
  %893 = landingpad { ptr, i32 }
          cleanup
  %894 = extractvalue { ptr, i32 } %893, 0
  store ptr %894, ptr %4, align 8
  %895 = extractvalue { ptr, i32 } %893, 1
  store i32 %895, ptr %5, align 4
  br label %951

896:                                              ; preds = %917, %904, %877, %871
  %897 = landingpad { ptr, i32 }
          cleanup
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %4, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %5, align 4
  br label %950

900:                                              ; preds = %881, %880, %876
  %901 = load x86_fp80, ptr %79, align 16, !tbaa !9
  %902 = fcmp olt x86_fp80 %901, 0xK3FD78CBCCC096F508800
  br i1 %902, label %903, label %904

903:                                              ; preds = %900
  store i8 1, ptr %80, align 1, !tbaa !11
  br label %913

904:                                              ; preds = %900
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %905 unwind label %896

905:                                              ; preds = %904
  %906 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %907 = load x86_fp80, ptr %78, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %81, i32 noundef %906, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %907, x86_fp80 noundef 0xK40039000000000000000, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK3FFDE0216CD933A6F800)
          to label %908 unwind label %909

908:                                              ; preds = %905
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %913

909:                                              ; preds = %905
  %910 = landingpad { ptr, i32 }
          cleanup
  %911 = extractvalue { ptr, i32 } %910, 0
  store ptr %911, ptr %4, align 8
  %912 = extractvalue { ptr, i32 } %910, 1
  store i32 %912, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %950

913:                                              ; preds = %908, %903
  br label %914

914:                                              ; preds = %913, %884
  %915 = load i8, ptr %80, align 1, !tbaa !11, !range !13, !noundef !14
  %916 = trunc i8 %915 to i1
  br i1 %916, label %917, label %926

917:                                              ; preds = %914
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %918 unwind label %896

918:                                              ; preds = %917
  %919 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %920 = load x86_fp80, ptr %79, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %82, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %919, x86_fp80 noundef %920, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK3FFDE0216CD933A6F800)
          to label %921 unwind label %922

921:                                              ; preds = %918
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %926

922:                                              ; preds = %918
  %923 = landingpad { ptr, i32 }
          cleanup
  %924 = extractvalue { ptr, i32 } %923, 0
  store ptr %924, ptr %4, align 8
  %925 = extractvalue { ptr, i32 } %923, 1
  store i32 %925, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %950

926:                                              ; preds = %921, %914
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #6
  %927 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %928 = add nsw i32 %927, 1
  store i32 %928, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %84) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %929 unwind label %953

929:                                              ; preds = %926
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %85) #6
  %930 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK3FFDE0F8117955C6E000) #6
  store x86_fp80 %930, ptr %85, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %86) #6
  %931 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %932 = fsub x86_fp80 %931, 0xK40039800000000000000
  %933 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %932)
          to label %934 unwind label %957

934:                                              ; preds = %929
  %935 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40039800000000000000)
          to label %936 unwind label %957

936:                                              ; preds = %934
  %937 = fadd x86_fp80 0xK3FFF8000000000000000, %935
  %938 = fdiv x86_fp80 %933, %937
  store x86_fp80 %938, ptr %86, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #6
  store i8 0, ptr %87, align 1, !tbaa !11
  %939 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %940 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %939)
          to label %941 unwind label %961

941:                                              ; preds = %936
  br i1 %940, label %965, label %942

942:                                              ; preds = %941
  %943 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %944 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %943)
          to label %945 unwind label %961

945:                                              ; preds = %942
  br i1 %944, label %946, label %965

946:                                              ; preds = %945
  %947 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %948 = fcmp oeq x86_fp80 %947, 0xK40039800000000000000
  br i1 %948, label %949, label %965

949:                                              ; preds = %946
  store i8 1, ptr %87, align 1, !tbaa !11
  br label %979

950:                                              ; preds = %922, %909, %896
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #6
  br label %951

951:                                              ; preds = %950, %892
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br label %952

952:                                              ; preds = %951, %888
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #6
  br label %2032

953:                                              ; preds = %926
  %954 = landingpad { ptr, i32 }
          cleanup
  %955 = extractvalue { ptr, i32 } %954, 0
  store ptr %955, ptr %4, align 8
  %956 = extractvalue { ptr, i32 } %954, 1
  store i32 %956, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #6
  br label %1017

957:                                              ; preds = %934, %929
  %958 = landingpad { ptr, i32 }
          cleanup
  %959 = extractvalue { ptr, i32 } %958, 0
  store ptr %959, ptr %4, align 8
  %960 = extractvalue { ptr, i32 } %958, 1
  store i32 %960, ptr %5, align 4
  br label %1016

961:                                              ; preds = %982, %969, %942, %936
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %4, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %5, align 4
  br label %1015

965:                                              ; preds = %946, %945, %941
  %966 = load x86_fp80, ptr %86, align 16, !tbaa !9
  %967 = fcmp olt x86_fp80 %966, 0xK3FD78CBCCC096F508800
  br i1 %967, label %968, label %969

968:                                              ; preds = %965
  store i8 1, ptr %87, align 1, !tbaa !11
  br label %978

969:                                              ; preds = %965
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %970 unwind label %961

970:                                              ; preds = %969
  %971 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %972 = load x86_fp80, ptr %85, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %88, i32 noundef %971, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %972, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK3FFDE0F8117955C6E000)
          to label %973 unwind label %974

973:                                              ; preds = %970
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %978

974:                                              ; preds = %970
  %975 = landingpad { ptr, i32 }
          cleanup
  %976 = extractvalue { ptr, i32 } %975, 0
  store ptr %976, ptr %4, align 8
  %977 = extractvalue { ptr, i32 } %975, 1
  store i32 %977, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %1015

978:                                              ; preds = %973, %968
  br label %979

979:                                              ; preds = %978, %949
  %980 = load i8, ptr %87, align 1, !tbaa !11, !range !13, !noundef !14
  %981 = trunc i8 %980 to i1
  br i1 %981, label %982, label %991

982:                                              ; preds = %979
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %983 unwind label %961

983:                                              ; preds = %982
  %984 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %985 = load x86_fp80, ptr %86, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %89, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %984, x86_fp80 noundef %985, x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK3FFDE0F8117955C6E000)
          to label %986 unwind label %987

986:                                              ; preds = %983
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %991

987:                                              ; preds = %983
  %988 = landingpad { ptr, i32 }
          cleanup
  %989 = extractvalue { ptr, i32 } %988, 0
  store ptr %989, ptr %4, align 8
  %990 = extractvalue { ptr, i32 } %988, 1
  store i32 %990, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %1015

991:                                              ; preds = %986, %979
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %85) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  %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 %90) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %994 unwind label %1018

994:                                              ; preds = %991
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %92) #6
  %995 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK3FFE95C5561570411000) #6
  store x86_fp80 %995, ptr %92, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %93) #6
  %996 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %997 = fsub x86_fp80 %996, 0xK40049C00000000000000
  %998 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %997)
          to label %999 unwind label %1022

999:                                              ; preds = %994
  %1000 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40049C00000000000000)
          to label %1001 unwind label %1022

1001:                                             ; preds = %999
  %1002 = fadd x86_fp80 0xK3FFF8000000000000000, %1000
  %1003 = fdiv x86_fp80 %998, %1002
  store x86_fp80 %1003, ptr %93, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %94) #6
  store i8 0, ptr %94, align 1, !tbaa !11
  %1004 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1005 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1004)
          to label %1006 unwind label %1026

1006:                                             ; preds = %1001
  br i1 %1005, label %1030, label %1007

1007:                                             ; preds = %1006
  %1008 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1009 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1008)
          to label %1010 unwind label %1026

1010:                                             ; preds = %1007
  br i1 %1009, label %1011, label %1030

1011:                                             ; preds = %1010
  %1012 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1013 = fcmp oeq x86_fp80 %1012, 0xK40049C00000000000000
  br i1 %1013, label %1014, label %1030

1014:                                             ; preds = %1011
  store i8 1, ptr %94, align 1, !tbaa !11
  br label %1044

1015:                                             ; preds = %987, %974, %961
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #6
  br label %1016

1016:                                             ; preds = %1015, %957
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %85) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %1017

1017:                                             ; preds = %1016, %953
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  br label %2032

1018:                                             ; preds = %991
  %1019 = landingpad { ptr, i32 }
          cleanup
  %1020 = extractvalue { ptr, i32 } %1019, 0
  store ptr %1020, ptr %4, align 8
  %1021 = extractvalue { ptr, i32 } %1019, 1
  store i32 %1021, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #6
  br label %1082

1022:                                             ; preds = %999, %994
  %1023 = landingpad { ptr, i32 }
          cleanup
  %1024 = extractvalue { ptr, i32 } %1023, 0
  store ptr %1024, ptr %4, align 8
  %1025 = extractvalue { ptr, i32 } %1023, 1
  store i32 %1025, ptr %5, align 4
  br label %1081

1026:                                             ; preds = %1047, %1034, %1007, %1001
  %1027 = landingpad { ptr, i32 }
          cleanup
  %1028 = extractvalue { ptr, i32 } %1027, 0
  store ptr %1028, ptr %4, align 8
  %1029 = extractvalue { ptr, i32 } %1027, 1
  store i32 %1029, ptr %5, align 4
  br label %1080

1030:                                             ; preds = %1011, %1010, %1006
  %1031 = load x86_fp80, ptr %93, align 16, !tbaa !9
  %1032 = fcmp olt x86_fp80 %1031, 0xK3FD78CBCCC096F508800
  br i1 %1032, label %1033, label %1034

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

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

1035:                                             ; preds = %1034
  %1036 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1037 = load x86_fp80, ptr %92, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %95, i32 noundef %1036, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1037, x86_fp80 noundef 0xK40049C00000000000000, x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK3FFE95C5561570411000)
          to label %1038 unwind label %1039

1038:                                             ; preds = %1035
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %1043

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

1043:                                             ; preds = %1038, %1033
  br label %1044

1044:                                             ; preds = %1043, %1014
  %1045 = load i8, ptr %94, align 1, !tbaa !11, !range !13, !noundef !14
  %1046 = trunc i8 %1045 to i1
  br i1 %1046, label %1047, label %1056

1047:                                             ; preds = %1044
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %1048 unwind label %1026

1048:                                             ; preds = %1047
  %1049 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1050 = load x86_fp80, ptr %93, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %96, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1049, x86_fp80 noundef %1050, x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK3FFE95C5561570411000)
          to label %1051 unwind label %1052

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

1052:                                             ; preds = %1048
  %1053 = landingpad { ptr, i32 }
          cleanup
  %1054 = extractvalue { ptr, i32 } %1053, 0
  store ptr %1054, ptr %4, align 8
  %1055 = extractvalue { ptr, i32 } %1053, 1
  store i32 %1055, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %1080

1056:                                             ; preds = %1051, %1044
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #6
  %1057 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1058 = add nsw i32 %1057, 1
  store i32 %1058, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %98) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %1059 unwind label %1083

1059:                                             ; preds = %1056
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %99) #6
  %1060 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800) #6
  store x86_fp80 %1060, ptr %99, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %100) #6
  %1061 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1062 = fsub x86_fp80 %1061, 0xK4004DC00000000000000
  %1063 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1062)
          to label %1064 unwind label %1087

1064:                                             ; preds = %1059
  %1065 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4004DC00000000000000)
          to label %1066 unwind label %1087

1066:                                             ; preds = %1064
  %1067 = fadd x86_fp80 0xK3FFF8000000000000000, %1065
  %1068 = fdiv x86_fp80 %1063, %1067
  store x86_fp80 %1068, ptr %100, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %101) #6
  store i8 0, ptr %101, align 1, !tbaa !11
  %1069 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1070 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1069)
          to label %1071 unwind label %1091

1071:                                             ; preds = %1066
  br i1 %1070, label %1095, label %1072

1072:                                             ; preds = %1071
  %1073 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1074 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1073)
          to label %1075 unwind label %1091

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

1076:                                             ; preds = %1075
  %1077 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1078 = fcmp oeq x86_fp80 %1077, 0xK4004DC00000000000000
  br i1 %1078, label %1079, label %1095

1079:                                             ; preds = %1076
  store i8 1, ptr %101, align 1, !tbaa !11
  br label %1109

1080:                                             ; preds = %1052, %1039, %1026
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #6
  br label %1081

1081:                                             ; preds = %1080, %1022
  call void @llvm.lifetime.end.p0(i64 16, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  br label %1082

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

1083:                                             ; preds = %1056
  %1084 = landingpad { ptr, i32 }
          cleanup
  %1085 = extractvalue { ptr, i32 } %1084, 0
  store ptr %1085, ptr %4, align 8
  %1086 = extractvalue { ptr, i32 } %1084, 1
  store i32 %1086, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #6
  br label %1147

1087:                                             ; preds = %1064, %1059
  %1088 = landingpad { ptr, i32 }
          cleanup
  %1089 = extractvalue { ptr, i32 } %1088, 0
  store ptr %1089, ptr %4, align 8
  %1090 = extractvalue { ptr, i32 } %1088, 1
  store i32 %1090, ptr %5, align 4
  br label %1146

1091:                                             ; preds = %1112, %1099, %1072, %1066
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %4, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %5, align 4
  br label %1145

1095:                                             ; preds = %1076, %1075, %1071
  %1096 = load x86_fp80, ptr %100, align 16, !tbaa !9
  %1097 = fcmp olt x86_fp80 %1096, 0xK3FD78CBCCC096F508800
  br i1 %1097, label %1098, label %1099

1098:                                             ; preds = %1095
  store i8 1, ptr %101, align 1, !tbaa !11
  br label %1108

1099:                                             ; preds = %1095
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %1100 unwind label %1091

1100:                                             ; preds = %1099
  %1101 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1102 = load x86_fp80, ptr %99, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %102, i32 noundef %1101, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1102, x86_fp80 noundef 0xK4004DC00000000000000, x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800)
          to label %1103 unwind label %1104

1103:                                             ; preds = %1100
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %1108

1104:                                             ; preds = %1100
  %1105 = landingpad { ptr, i32 }
          cleanup
  %1106 = extractvalue { ptr, i32 } %1105, 0
  store ptr %1106, ptr %4, align 8
  %1107 = extractvalue { ptr, i32 } %1105, 1
  store i32 %1107, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %1145

1108:                                             ; preds = %1103, %1098
  br label %1109

1109:                                             ; preds = %1108, %1079
  %1110 = load i8, ptr %101, align 1, !tbaa !11, !range !13, !noundef !14
  %1111 = trunc i8 %1110 to i1
  br i1 %1111, label %1112, label %1121

1112:                                             ; preds = %1109
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %1113 unwind label %1091

1113:                                             ; preds = %1112
  %1114 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1115 = load x86_fp80, ptr %100, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %103, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1114, x86_fp80 noundef %1115, x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800)
          to label %1116 unwind label %1117

1116:                                             ; preds = %1113
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %1121

1117:                                             ; preds = %1113
  %1118 = landingpad { ptr, i32 }
          cleanup
  %1119 = extractvalue { ptr, i32 } %1118, 0
  store ptr %1119, ptr %4, align 8
  %1120 = extractvalue { ptr, i32 } %1118, 1
  store i32 %1120, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %1145

1121:                                             ; preds = %1116, %1109
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %99) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  %1122 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1123 = add nsw i32 %1122, 1
  store i32 %1123, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %1124 unwind label %1148

1124:                                             ; preds = %1121
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #6
  %1125 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK3FFE8DAD68EBAB941000) #6
  store x86_fp80 %1125, ptr %106, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %107) #6
  %1126 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1127 = fsub x86_fp80 %1126, 0xK4005C600000000000000
  %1128 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1127)
          to label %1129 unwind label %1152

1129:                                             ; preds = %1124
  %1130 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4005C600000000000000)
          to label %1131 unwind label %1152

1131:                                             ; preds = %1129
  %1132 = fadd x86_fp80 0xK3FFF8000000000000000, %1130
  %1133 = fdiv x86_fp80 %1128, %1132
  store x86_fp80 %1133, ptr %107, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %108) #6
  store i8 0, ptr %108, align 1, !tbaa !11
  %1134 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1135 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1134)
          to label %1136 unwind label %1156

1136:                                             ; preds = %1131
  br i1 %1135, label %1160, label %1137

1137:                                             ; preds = %1136
  %1138 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1139 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1138)
          to label %1140 unwind label %1156

1140:                                             ; preds = %1137
  br i1 %1139, label %1141, label %1160

1141:                                             ; preds = %1140
  %1142 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1143 = fcmp oeq x86_fp80 %1142, 0xK4005C600000000000000
  br i1 %1143, label %1144, label %1160

1144:                                             ; preds = %1141
  store i8 1, ptr %108, align 1, !tbaa !11
  br label %1174

1145:                                             ; preds = %1117, %1104, %1091
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #6
  br label %1146

1146:                                             ; preds = %1145, %1087
  call void @llvm.lifetime.end.p0(i64 16, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %99) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %1147

1147:                                             ; preds = %1146, %1083
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  br label %2032

1148:                                             ; preds = %1121
  %1149 = landingpad { ptr, i32 }
          cleanup
  %1150 = extractvalue { ptr, i32 } %1149, 0
  store ptr %1150, ptr %4, align 8
  %1151 = extractvalue { ptr, i32 } %1149, 1
  store i32 %1151, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #6
  br label %1212

1152:                                             ; preds = %1129, %1124
  %1153 = landingpad { ptr, i32 }
          cleanup
  %1154 = extractvalue { ptr, i32 } %1153, 0
  store ptr %1154, ptr %4, align 8
  %1155 = extractvalue { ptr, i32 } %1153, 1
  store i32 %1155, ptr %5, align 4
  br label %1211

1156:                                             ; preds = %1177, %1164, %1137, %1131
  %1157 = landingpad { ptr, i32 }
          cleanup
  %1158 = extractvalue { ptr, i32 } %1157, 0
  store ptr %1158, ptr %4, align 8
  %1159 = extractvalue { ptr, i32 } %1157, 1
  store i32 %1159, ptr %5, align 4
  br label %1210

1160:                                             ; preds = %1141, %1140, %1136
  %1161 = load x86_fp80, ptr %107, align 16, !tbaa !9
  %1162 = fcmp olt x86_fp80 %1161, 0xK3FD78CBCCC096F508800
  br i1 %1162, label %1163, label %1164

1163:                                             ; preds = %1160
  store i8 1, ptr %108, align 1, !tbaa !11
  br label %1173

1164:                                             ; preds = %1160
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %1165 unwind label %1156

1165:                                             ; preds = %1164
  %1166 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1167 = load x86_fp80, ptr %106, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %109, i32 noundef %1166, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1167, x86_fp80 noundef 0xK4005C600000000000000, x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK3FFE8DAD68EBAB941000)
          to label %1168 unwind label %1169

1168:                                             ; preds = %1165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %1173

1169:                                             ; preds = %1165
  %1170 = landingpad { ptr, i32 }
          cleanup
  %1171 = extractvalue { ptr, i32 } %1170, 0
  store ptr %1171, ptr %4, align 8
  %1172 = extractvalue { ptr, i32 } %1170, 1
  store i32 %1172, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %1210

1173:                                             ; preds = %1168, %1163
  br label %1174

1174:                                             ; preds = %1173, %1144
  %1175 = load i8, ptr %108, align 1, !tbaa !11, !range !13, !noundef !14
  %1176 = trunc i8 %1175 to i1
  br i1 %1176, label %1177, label %1186

1177:                                             ; preds = %1174
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %1178 unwind label %1156

1178:                                             ; preds = %1177
  %1179 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1180 = load x86_fp80, ptr %107, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %110, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1179, x86_fp80 noundef %1180, x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK3FFE8DAD68EBAB941000)
          to label %1181 unwind label %1182

1181:                                             ; preds = %1178
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %1186

1182:                                             ; preds = %1178
  %1183 = landingpad { ptr, i32 }
          cleanup
  %1184 = extractvalue { ptr, i32 } %1183, 0
  store ptr %1184, ptr %4, align 8
  %1185 = extractvalue { ptr, i32 } %1183, 1
  store i32 %1185, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %1210

1186:                                             ; preds = %1181, %1174
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  %1187 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1188 = add nsw i32 %1187, 1
  store i32 %1188, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %111) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %1189 unwind label %1213

1189:                                             ; preds = %1186
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #6
  %1190 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK3FFDF277AC8D5687B800) #6
  store x86_fp80 %1190, ptr %113, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #6
  %1191 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1192 = fsub x86_fp80 %1191, 0xK4005CA00000000000000
  %1193 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1192)
          to label %1194 unwind label %1217

1194:                                             ; preds = %1189
  %1195 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4005CA00000000000000)
          to label %1196 unwind label %1217

1196:                                             ; preds = %1194
  %1197 = fadd x86_fp80 0xK3FFF8000000000000000, %1195
  %1198 = fdiv x86_fp80 %1193, %1197
  store x86_fp80 %1198, ptr %114, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #6
  store i8 0, ptr %115, align 1, !tbaa !11
  %1199 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1200 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1199)
          to label %1201 unwind label %1221

1201:                                             ; preds = %1196
  br i1 %1200, label %1225, label %1202

1202:                                             ; preds = %1201
  %1203 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1204 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1203)
          to label %1205 unwind label %1221

1205:                                             ; preds = %1202
  br i1 %1204, label %1206, label %1225

1206:                                             ; preds = %1205
  %1207 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1208 = fcmp oeq x86_fp80 %1207, 0xK4005CA00000000000000
  br i1 %1208, label %1209, label %1225

1209:                                             ; preds = %1206
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1239

1210:                                             ; preds = %1182, %1169, %1156
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #6
  br label %1211

1211:                                             ; preds = %1210, %1152
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %1212

1212:                                             ; preds = %1211, %1148
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  br label %2032

1213:                                             ; preds = %1186
  %1214 = landingpad { ptr, i32 }
          cleanup
  %1215 = extractvalue { ptr, i32 } %1214, 0
  store ptr %1215, ptr %4, align 8
  %1216 = extractvalue { ptr, i32 } %1214, 1
  store i32 %1216, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #6
  br label %1277

1217:                                             ; preds = %1194, %1189
  %1218 = landingpad { ptr, i32 }
          cleanup
  %1219 = extractvalue { ptr, i32 } %1218, 0
  store ptr %1219, ptr %4, align 8
  %1220 = extractvalue { ptr, i32 } %1218, 1
  store i32 %1220, ptr %5, align 4
  br label %1276

1221:                                             ; preds = %1242, %1229, %1202, %1196
  %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
  br label %1275

1225:                                             ; preds = %1206, %1205, %1201
  %1226 = load x86_fp80, ptr %114, align 16, !tbaa !9
  %1227 = fcmp olt x86_fp80 %1226, 0xK3FD78CBCCC096F508800
  br i1 %1227, label %1228, label %1229

1228:                                             ; preds = %1225
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1238

1229:                                             ; preds = %1225
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1230 unwind label %1221

1230:                                             ; preds = %1229
  %1231 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1232 = 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 %1231, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1232, x86_fp80 noundef 0xK4005CA00000000000000, x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK3FFDF277AC8D5687B800)
          to label %1233 unwind label %1234

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

1234:                                             ; preds = %1230
  %1235 = landingpad { ptr, i32 }
          cleanup
  %1236 = extractvalue { ptr, i32 } %1235, 0
  store ptr %1236, ptr %4, align 8
  %1237 = extractvalue { ptr, i32 } %1235, 1
  store i32 %1237, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %1275

1238:                                             ; preds = %1233, %1228
  br label %1239

1239:                                             ; preds = %1238, %1209
  %1240 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %1241 = trunc i8 %1240 to i1
  br i1 %1241, label %1242, label %1251

1242:                                             ; preds = %1239
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1243 unwind label %1221

1243:                                             ; preds = %1242
  %1244 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1245 = 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 3, i32 noundef 18, x86_fp80 noundef %1244, x86_fp80 noundef %1245, x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK3FFDF277AC8D5687B800)
          to label %1246 unwind label %1247

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

1247:                                             ; preds = %1243
  %1248 = landingpad { ptr, i32 }
          cleanup
  %1249 = extractvalue { ptr, i32 } %1248, 0
  store ptr %1249, ptr %4, align 8
  %1250 = extractvalue { ptr, i32 } %1248, 1
  store i32 %1250, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %1275

1251:                                             ; preds = %1246, %1239
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #6
  %1252 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1253 = add nsw i32 %1252, 1
  store i32 %1253, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1254 unwind label %1278

1254:                                             ; preds = %1251
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #6
  %1255 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK3FFDF81A14D32F2BC000) #6
  store x86_fp80 %1255, ptr %120, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #6
  %1256 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1257 = fsub x86_fp80 %1256, 0xK40079480000000000000
  %1258 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1257)
          to label %1259 unwind label %1282

1259:                                             ; preds = %1254
  %1260 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40079480000000000000)
          to label %1261 unwind label %1282

1261:                                             ; preds = %1259
  %1262 = fadd x86_fp80 0xK3FFF8000000000000000, %1260
  %1263 = fdiv x86_fp80 %1258, %1262
  store x86_fp80 %1263, ptr %121, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %122) #6
  store i8 0, ptr %122, align 1, !tbaa !11
  %1264 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1265 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1264)
          to label %1266 unwind label %1286

1266:                                             ; preds = %1261
  br i1 %1265, label %1290, label %1267

1267:                                             ; preds = %1266
  %1268 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1269 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1268)
          to label %1270 unwind label %1286

1270:                                             ; preds = %1267
  br i1 %1269, label %1271, label %1290

1271:                                             ; preds = %1270
  %1272 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1273 = fcmp oeq x86_fp80 %1272, 0xK40079480000000000000
  br i1 %1273, label %1274, label %1290

1274:                                             ; preds = %1271
  store i8 1, ptr %122, align 1, !tbaa !11
  br label %1304

1275:                                             ; preds = %1247, %1234, %1221
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #6
  br label %1276

1276:                                             ; preds = %1275, %1217
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %1277

1277:                                             ; preds = %1276, %1213
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #6
  br label %2032

1278:                                             ; preds = %1251
  %1279 = landingpad { ptr, i32 }
          cleanup
  %1280 = extractvalue { ptr, i32 } %1279, 0
  store ptr %1280, ptr %4, align 8
  %1281 = extractvalue { ptr, i32 } %1279, 1
  store i32 %1281, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #6
  br label %1342

1282:                                             ; preds = %1259, %1254
  %1283 = landingpad { ptr, i32 }
          cleanup
  %1284 = extractvalue { ptr, i32 } %1283, 0
  store ptr %1284, ptr %4, align 8
  %1285 = extractvalue { ptr, i32 } %1283, 1
  store i32 %1285, ptr %5, align 4
  br label %1341

1286:                                             ; preds = %1307, %1294, %1267, %1261
  %1287 = landingpad { ptr, i32 }
          cleanup
  %1288 = extractvalue { ptr, i32 } %1287, 0
  store ptr %1288, ptr %4, align 8
  %1289 = extractvalue { ptr, i32 } %1287, 1
  store i32 %1289, ptr %5, align 4
  br label %1340

1290:                                             ; preds = %1271, %1270, %1266
  %1291 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1292 = fcmp olt x86_fp80 %1291, 0xK3FD78CBCCC096F508800
  br i1 %1292, label %1293, label %1294

1293:                                             ; preds = %1290
  store i8 1, ptr %122, align 1, !tbaa !11
  br label %1303

1294:                                             ; preds = %1290
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1295 unwind label %1286

1295:                                             ; preds = %1294
  %1296 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1297 = load x86_fp80, ptr %120, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %123, i32 noundef %1296, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1297, x86_fp80 noundef 0xK40079480000000000000, x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK3FFDF81A14D32F2BC000)
          to label %1298 unwind label %1299

1298:                                             ; preds = %1295
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1303

1299:                                             ; preds = %1295
  %1300 = landingpad { ptr, i32 }
          cleanup
  %1301 = extractvalue { ptr, i32 } %1300, 0
  store ptr %1301, ptr %4, align 8
  %1302 = extractvalue { ptr, i32 } %1300, 1
  store i32 %1302, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1340

1303:                                             ; preds = %1298, %1293
  br label %1304

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

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

1308:                                             ; preds = %1307
  %1309 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1310 = load x86_fp80, ptr %121, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %124, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1309, x86_fp80 noundef %1310, x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK3FFDF81A14D32F2BC000)
          to label %1311 unwind label %1312

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

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

1316:                                             ; preds = %1311, %1304
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #6
  %1317 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1318 = add nsw i32 %1317, 1
  store i32 %1318, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %126) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %126)
          to label %1319 unwind label %1343

1319:                                             ; preds = %1316
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %126) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %127) #6
  %1320 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK3FFDF8278CAA5B211800) #6
  store x86_fp80 %1320, ptr %127, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %128) #6
  %1321 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1322 = fsub x86_fp80 %1321, 0xK40079680000000000000
  %1323 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1322)
          to label %1324 unwind label %1347

1324:                                             ; preds = %1319
  %1325 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40079680000000000000)
          to label %1326 unwind label %1347

1326:                                             ; preds = %1324
  %1327 = fadd x86_fp80 0xK3FFF8000000000000000, %1325
  %1328 = fdiv x86_fp80 %1323, %1327
  store x86_fp80 %1328, ptr %128, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #6
  store i8 0, ptr %129, align 1, !tbaa !11
  %1329 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1330 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1329)
          to label %1331 unwind label %1351

1331:                                             ; preds = %1326
  br i1 %1330, label %1355, label %1332

1332:                                             ; preds = %1331
  %1333 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1334 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1333)
          to label %1335 unwind label %1351

1335:                                             ; preds = %1332
  br i1 %1334, label %1336, label %1355

1336:                                             ; preds = %1335
  %1337 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1338 = fcmp oeq x86_fp80 %1337, 0xK40079680000000000000
  br i1 %1338, label %1339, label %1355

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

1340:                                             ; preds = %1312, %1299, %1286
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #6
  br label %1341

1341:                                             ; preds = %1340, %1282
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %1342

1342:                                             ; preds = %1341, %1278
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #6
  br label %2032

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

1347:                                             ; preds = %1324, %1319
  %1348 = landingpad { ptr, i32 }
          cleanup
  %1349 = extractvalue { ptr, i32 } %1348, 0
  store ptr %1349, ptr %4, align 8
  %1350 = extractvalue { ptr, i32 } %1348, 1
  store i32 %1350, ptr %5, align 4
  br label %1406

1351:                                             ; preds = %1372, %1359, %1332, %1326
  %1352 = landingpad { ptr, i32 }
          cleanup
  %1353 = extractvalue { ptr, i32 } %1352, 0
  store ptr %1353, ptr %4, align 8
  %1354 = extractvalue { ptr, i32 } %1352, 1
  store i32 %1354, ptr %5, align 4
  br label %1405

1355:                                             ; preds = %1336, %1335, %1331
  %1356 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1357 = fcmp olt x86_fp80 %1356, 0xK3FD78CBCCC096F508800
  br i1 %1357, label %1358, label %1359

1358:                                             ; preds = %1355
  store i8 1, ptr %129, align 1, !tbaa !11
  br label %1368

1359:                                             ; preds = %1355
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1360 unwind label %1351

1360:                                             ; preds = %1359
  %1361 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1362 = load x86_fp80, ptr %127, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %130, i32 noundef %1361, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1362, x86_fp80 noundef 0xK40079680000000000000, x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK3FFDF8278CAA5B211800)
          to label %1363 unwind label %1364

1363:                                             ; preds = %1360
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1368

1364:                                             ; preds = %1360
  %1365 = landingpad { ptr, i32 }
          cleanup
  %1366 = extractvalue { ptr, i32 } %1365, 0
  store ptr %1366, ptr %4, align 8
  %1367 = extractvalue { ptr, i32 } %1365, 1
  store i32 %1367, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1405

1368:                                             ; preds = %1363, %1358
  br label %1369

1369:                                             ; preds = %1368, %1339
  %1370 = load i8, ptr %129, align 1, !tbaa !11, !range !13, !noundef !14
  %1371 = trunc i8 %1370 to i1
  br i1 %1371, label %1372, label %1381

1372:                                             ; preds = %1369
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1373 unwind label %1351

1373:                                             ; preds = %1372
  %1374 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1375 = load x86_fp80, ptr %128, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %131, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1374, x86_fp80 noundef %1375, x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK3FFDF8278CAA5B211800)
          to label %1376 unwind label %1377

1376:                                             ; preds = %1373
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1381

1377:                                             ; preds = %1373
  %1378 = landingpad { ptr, i32 }
          cleanup
  %1379 = extractvalue { ptr, i32 } %1378, 0
  store ptr %1379, ptr %4, align 8
  %1380 = extractvalue { ptr, i32 } %1378, 1
  store i32 %1380, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1405

1381:                                             ; preds = %1376, %1369
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %127) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  %1382 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1383 = add nsw i32 %1382, 1
  store i32 %1383, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %133) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %1384 unwind label %1408

1384:                                             ; preds = %1381
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %134) #6
  %1385 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000) #6
  store x86_fp80 %1385, ptr %134, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %135) #6
  %1386 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1387 = fsub x86_fp80 %1386, 0xK4007F880000000000000
  %1388 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1387)
          to label %1389 unwind label %1412

1389:                                             ; preds = %1384
  %1390 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4007F880000000000000)
          to label %1391 unwind label %1412

1391:                                             ; preds = %1389
  %1392 = fadd x86_fp80 0xK3FFF8000000000000000, %1390
  %1393 = fdiv x86_fp80 %1388, %1392
  store x86_fp80 %1393, ptr %135, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %136) #6
  store i8 0, ptr %136, align 1, !tbaa !11
  %1394 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1395 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1394)
          to label %1396 unwind label %1416

1396:                                             ; preds = %1391
  br i1 %1395, label %1420, label %1397

1397:                                             ; preds = %1396
  %1398 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1399 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1398)
          to label %1400 unwind label %1416

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

1401:                                             ; preds = %1400
  %1402 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1403 = fcmp oeq x86_fp80 %1402, 0xK4007F880000000000000
  br i1 %1403, label %1404, label %1420

1404:                                             ; preds = %1401
  store i8 1, ptr %136, align 1, !tbaa !11
  br label %1434

1405:                                             ; preds = %1377, %1364, %1351
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #6
  br label %1406

1406:                                             ; preds = %1405, %1347
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %127) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1407

1407:                                             ; preds = %1406, %1343
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  br label %2032

1408:                                             ; preds = %1381
  %1409 = landingpad { ptr, i32 }
          cleanup
  %1410 = extractvalue { ptr, i32 } %1409, 0
  store ptr %1410, ptr %4, align 8
  %1411 = extractvalue { ptr, i32 } %1409, 1
  store i32 %1411, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #6
  br label %1472

1412:                                             ; preds = %1389, %1384
  %1413 = landingpad { ptr, i32 }
          cleanup
  %1414 = extractvalue { ptr, i32 } %1413, 0
  store ptr %1414, ptr %4, align 8
  %1415 = extractvalue { ptr, i32 } %1413, 1
  store i32 %1415, ptr %5, align 4
  br label %1471

1416:                                             ; preds = %1437, %1424, %1397, %1391
  %1417 = landingpad { ptr, i32 }
          cleanup
  %1418 = extractvalue { ptr, i32 } %1417, 0
  store ptr %1418, ptr %4, align 8
  %1419 = extractvalue { ptr, i32 } %1417, 1
  store i32 %1419, ptr %5, align 4
  br label %1470

1420:                                             ; preds = %1401, %1400, %1396
  %1421 = load x86_fp80, ptr %135, align 16, !tbaa !9
  %1422 = fcmp olt x86_fp80 %1421, 0xK3FD78CBCCC096F508800
  br i1 %1422, label %1423, label %1424

1423:                                             ; preds = %1420
  store i8 1, ptr %136, align 1, !tbaa !11
  br label %1433

1424:                                             ; preds = %1420
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %1425 unwind label %1416

1425:                                             ; preds = %1424
  %1426 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1427 = load x86_fp80, ptr %134, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %137, i32 noundef %1426, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1427, x86_fp80 noundef 0xK4007F880000000000000, x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000)
          to label %1428 unwind label %1429

1428:                                             ; preds = %1425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1433

1429:                                             ; preds = %1425
  %1430 = landingpad { ptr, i32 }
          cleanup
  %1431 = extractvalue { ptr, i32 } %1430, 0
  store ptr %1431, ptr %4, align 8
  %1432 = extractvalue { ptr, i32 } %1430, 1
  store i32 %1432, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1470

1433:                                             ; preds = %1428, %1423
  br label %1434

1434:                                             ; preds = %1433, %1404
  %1435 = load i8, ptr %136, align 1, !tbaa !11, !range !13, !noundef !14
  %1436 = trunc i8 %1435 to i1
  br i1 %1436, label %1437, label %1446

1437:                                             ; preds = %1434
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %1438 unwind label %1416

1438:                                             ; preds = %1437
  %1439 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1440 = load x86_fp80, ptr %135, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %138, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1439, x86_fp80 noundef %1440, x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000)
          to label %1441 unwind label %1442

1441:                                             ; preds = %1438
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1446

1442:                                             ; preds = %1438
  %1443 = landingpad { ptr, i32 }
          cleanup
  %1444 = extractvalue { ptr, i32 } %1443, 0
  store ptr %1444, ptr %4, align 8
  %1445 = extractvalue { ptr, i32 } %1443, 1
  store i32 %1445, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1470

1446:                                             ; preds = %1441, %1434
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %135) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %134) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  %1447 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1448 = add nsw i32 %1447, 1
  store i32 %1448, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %139) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %140) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %140)
          to label %1449 unwind label %1473

1449:                                             ; preds = %1446
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %140) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %141) #6
  %1450 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK3FFDF9EAF65D555B4800) #6
  store x86_fp80 %1450, ptr %141, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %142) #6
  %1451 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1452 = fsub x86_fp80 %1451, 0xK4007FA80000000000000
  %1453 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1452)
          to label %1454 unwind label %1477

1454:                                             ; preds = %1449
  %1455 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4007FA80000000000000)
          to label %1456 unwind label %1477

1456:                                             ; preds = %1454
  %1457 = fadd x86_fp80 0xK3FFF8000000000000000, %1455
  %1458 = fdiv x86_fp80 %1453, %1457
  store x86_fp80 %1458, ptr %142, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %143) #6
  store i8 0, ptr %143, align 1, !tbaa !11
  %1459 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1460 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1459)
          to label %1461 unwind label %1481

1461:                                             ; preds = %1456
  br i1 %1460, label %1485, label %1462

1462:                                             ; preds = %1461
  %1463 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1464 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1463)
          to label %1465 unwind label %1481

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

1466:                                             ; preds = %1465
  %1467 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1468 = fcmp oeq x86_fp80 %1467, 0xK4007FA80000000000000
  br i1 %1468, label %1469, label %1485

1469:                                             ; preds = %1466
  store i8 1, ptr %143, align 1, !tbaa !11
  br label %1499

1470:                                             ; preds = %1442, %1429, %1416
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #6
  br label %1471

1471:                                             ; preds = %1470, %1412
  call void @llvm.lifetime.end.p0(i64 16, ptr %135) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %134) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %1472

1472:                                             ; preds = %1471, %1408
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  br label %2032

1473:                                             ; preds = %1446
  %1474 = landingpad { ptr, i32 }
          cleanup
  %1475 = extractvalue { ptr, i32 } %1474, 0
  store ptr %1475, ptr %4, align 8
  %1476 = extractvalue { ptr, i32 } %1474, 1
  store i32 %1476, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %140) #6
  br label %1537

1477:                                             ; preds = %1454, %1449
  %1478 = landingpad { ptr, i32 }
          cleanup
  %1479 = extractvalue { ptr, i32 } %1478, 0
  store ptr %1479, ptr %4, align 8
  %1480 = extractvalue { ptr, i32 } %1478, 1
  store i32 %1480, ptr %5, align 4
  br label %1536

1481:                                             ; preds = %1502, %1489, %1462, %1456
  %1482 = landingpad { ptr, i32 }
          cleanup
  %1483 = extractvalue { ptr, i32 } %1482, 0
  store ptr %1483, ptr %4, align 8
  %1484 = extractvalue { ptr, i32 } %1482, 1
  store i32 %1484, ptr %5, align 4
  br label %1535

1485:                                             ; preds = %1466, %1465, %1461
  %1486 = load x86_fp80, ptr %142, align 16, !tbaa !9
  %1487 = fcmp olt x86_fp80 %1486, 0xK3FD78CBCCC096F508800
  br i1 %1487, label %1488, label %1489

1488:                                             ; preds = %1485
  store i8 1, ptr %143, align 1, !tbaa !11
  br label %1498

1489:                                             ; preds = %1485
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1490 unwind label %1481

1490:                                             ; preds = %1489
  %1491 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1492 = load x86_fp80, ptr %141, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %144, i32 noundef %1491, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1492, x86_fp80 noundef 0xK4007FA80000000000000, x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK3FFDF9EAF65D555B4800)
          to label %1493 unwind label %1494

1493:                                             ; preds = %1490
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %1498

1494:                                             ; preds = %1490
  %1495 = landingpad { ptr, i32 }
          cleanup
  %1496 = extractvalue { ptr, i32 } %1495, 0
  store ptr %1496, ptr %4, align 8
  %1497 = extractvalue { ptr, i32 } %1495, 1
  store i32 %1497, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %1535

1498:                                             ; preds = %1493, %1488
  br label %1499

1499:                                             ; preds = %1498, %1469
  %1500 = load i8, ptr %143, align 1, !tbaa !11, !range !13, !noundef !14
  %1501 = trunc i8 %1500 to i1
  br i1 %1501, label %1502, label %1511

1502:                                             ; preds = %1499
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1503 unwind label %1481

1503:                                             ; preds = %1502
  %1504 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1505 = load x86_fp80, ptr %142, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %145, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1504, x86_fp80 noundef %1505, x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK3FFDF9EAF65D555B4800)
          to label %1506 unwind label %1507

1506:                                             ; preds = %1503
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  br label %1511

1507:                                             ; preds = %1503
  %1508 = landingpad { ptr, i32 }
          cleanup
  %1509 = extractvalue { ptr, i32 } %1508, 0
  store ptr %1509, ptr %4, align 8
  %1510 = extractvalue { ptr, i32 } %1508, 1
  store i32 %1510, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  br label %1535

1511:                                             ; preds = %1506, %1499
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #6
  %1512 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1513 = add nsw i32 %1512, 1
  store i32 %1513, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %146) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %147)
          to label %1514 unwind label %1538

1514:                                             ; preds = %1511
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %148) #6
  %1515 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK3FFE84D12AEB6F94E800) #6
  store x86_fp80 %1515, ptr %148, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %149) #6
  %1516 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1517 = fsub x86_fp80 %1516, 0xK4008C7C0000000000000
  %1518 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1517)
          to label %1519 unwind label %1542

1519:                                             ; preds = %1514
  %1520 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4008C7C0000000000000)
          to label %1521 unwind label %1542

1521:                                             ; preds = %1519
  %1522 = fadd x86_fp80 0xK3FFF8000000000000000, %1520
  %1523 = fdiv x86_fp80 %1518, %1522
  store x86_fp80 %1523, ptr %149, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %150) #6
  store i8 0, ptr %150, align 1, !tbaa !11
  %1524 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1525 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1524)
          to label %1526 unwind label %1546

1526:                                             ; preds = %1521
  br i1 %1525, label %1550, label %1527

1527:                                             ; preds = %1526
  %1528 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1529 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1528)
          to label %1530 unwind label %1546

1530:                                             ; preds = %1527
  br i1 %1529, label %1531, label %1550

1531:                                             ; preds = %1530
  %1532 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1533 = fcmp oeq x86_fp80 %1532, 0xK4008C7C0000000000000
  br i1 %1533, label %1534, label %1550

1534:                                             ; preds = %1531
  store i8 1, ptr %150, align 1, !tbaa !11
  br label %1564

1535:                                             ; preds = %1507, %1494, %1481
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #6
  br label %1536

1536:                                             ; preds = %1535, %1477
  call void @llvm.lifetime.end.p0(i64 16, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %1537

1537:                                             ; preds = %1536, %1473
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #6
  br label %2032

1538:                                             ; preds = %1511
  %1539 = landingpad { ptr, i32 }
          cleanup
  %1540 = extractvalue { ptr, i32 } %1539, 0
  store ptr %1540, ptr %4, align 8
  %1541 = extractvalue { ptr, i32 } %1539, 1
  store i32 %1541, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #6
  br label %1602

1542:                                             ; preds = %1519, %1514
  %1543 = landingpad { ptr, i32 }
          cleanup
  %1544 = extractvalue { ptr, i32 } %1543, 0
  store ptr %1544, ptr %4, align 8
  %1545 = extractvalue { ptr, i32 } %1543, 1
  store i32 %1545, ptr %5, align 4
  br label %1601

1546:                                             ; preds = %1567, %1554, %1527, %1521
  %1547 = landingpad { ptr, i32 }
          cleanup
  %1548 = extractvalue { ptr, i32 } %1547, 0
  store ptr %1548, ptr %4, align 8
  %1549 = extractvalue { ptr, i32 } %1547, 1
  store i32 %1549, ptr %5, align 4
  br label %1600

1550:                                             ; preds = %1531, %1530, %1526
  %1551 = load x86_fp80, ptr %149, align 16, !tbaa !9
  %1552 = fcmp olt x86_fp80 %1551, 0xK3FD78CBCCC096F508800
  br i1 %1552, label %1553, label %1554

1553:                                             ; preds = %1550
  store i8 1, ptr %150, align 1, !tbaa !11
  br label %1563

1554:                                             ; preds = %1550
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1555 unwind label %1546

1555:                                             ; preds = %1554
  %1556 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1557 = load x86_fp80, ptr %148, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %151, i32 noundef %1556, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1557, x86_fp80 noundef 0xK4008C7C0000000000000, x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK3FFE84D12AEB6F94E800)
          to label %1558 unwind label %1559

1558:                                             ; preds = %1555
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1563

1559:                                             ; preds = %1555
  %1560 = landingpad { ptr, i32 }
          cleanup
  %1561 = extractvalue { ptr, i32 } %1560, 0
  store ptr %1561, ptr %4, align 8
  %1562 = extractvalue { ptr, i32 } %1560, 1
  store i32 %1562, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1600

1563:                                             ; preds = %1558, %1553
  br label %1564

1564:                                             ; preds = %1563, %1534
  %1565 = load i8, ptr %150, align 1, !tbaa !11, !range !13, !noundef !14
  %1566 = trunc i8 %1565 to i1
  br i1 %1566, label %1567, label %1576

1567:                                             ; preds = %1564
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %152, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1568 unwind label %1546

1568:                                             ; preds = %1567
  %1569 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1570 = load x86_fp80, ptr %149, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %152, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1569, x86_fp80 noundef %1570, x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK3FFE84D12AEB6F94E800)
          to label %1571 unwind label %1572

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

1572:                                             ; preds = %1568
  %1573 = landingpad { ptr, i32 }
          cleanup
  %1574 = extractvalue { ptr, i32 } %1573, 0
  store ptr %1574, ptr %4, align 8
  %1575 = extractvalue { ptr, i32 } %1573, 1
  store i32 %1575, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1600

1576:                                             ; preds = %1571, %1564
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %149) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %148) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  %1577 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1578 = add nsw i32 %1577, 1
  store i32 %1578, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %153) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %154) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %154) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %153, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %154)
          to label %1579 unwind label %1603

1579:                                             ; preds = %1576
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %154) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %154) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %155) #6
  %1580 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000) #6
  store x86_fp80 %1580, ptr %155, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %156) #6
  %1581 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1582 = fsub x86_fp80 %1581, 0xK4008C800000000000000
  %1583 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1582)
          to label %1584 unwind label %1607

1584:                                             ; preds = %1579
  %1585 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4008C800000000000000)
          to label %1586 unwind label %1607

1586:                                             ; preds = %1584
  %1587 = fadd x86_fp80 0xK3FFF8000000000000000, %1585
  %1588 = fdiv x86_fp80 %1583, %1587
  store x86_fp80 %1588, ptr %156, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %157) #6
  store i8 0, ptr %157, align 1, !tbaa !11
  %1589 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1590 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1589)
          to label %1591 unwind label %1611

1591:                                             ; preds = %1586
  br i1 %1590, label %1615, label %1592

1592:                                             ; preds = %1591
  %1593 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1594 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1593)
          to label %1595 unwind label %1611

1595:                                             ; preds = %1592
  br i1 %1594, label %1596, label %1615

1596:                                             ; preds = %1595
  %1597 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1598 = fcmp oeq x86_fp80 %1597, 0xK4008C800000000000000
  br i1 %1598, label %1599, label %1615

1599:                                             ; preds = %1596
  store i8 1, ptr %157, align 1, !tbaa !11
  br label %1629

1600:                                             ; preds = %1572, %1559, %1546
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #6
  br label %1601

1601:                                             ; preds = %1600, %1542
  call void @llvm.lifetime.end.p0(i64 16, ptr %149) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %148) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %1602

1602:                                             ; preds = %1601, %1538
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  br label %2032

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

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

1611:                                             ; preds = %1632, %1619, %1592, %1586
  %1612 = landingpad { ptr, i32 }
          cleanup
  %1613 = extractvalue { ptr, i32 } %1612, 0
  store ptr %1613, ptr %4, align 8
  %1614 = extractvalue { ptr, i32 } %1612, 1
  store i32 %1614, ptr %5, align 4
  br label %1665

1615:                                             ; preds = %1596, %1595, %1591
  %1616 = load x86_fp80, ptr %156, align 16, !tbaa !9
  %1617 = fcmp olt x86_fp80 %1616, 0xK3FD78CBCCC096F508800
  br i1 %1617, label %1618, label %1619

1618:                                             ; preds = %1615
  store i8 1, ptr %157, align 1, !tbaa !11
  br label %1628

1619:                                             ; preds = %1615
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %1620 unwind label %1611

1620:                                             ; preds = %1619
  %1621 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1622 = load x86_fp80, ptr %155, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %158, i32 noundef %1621, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1622, x86_fp80 noundef 0xK4008C800000000000000, x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000)
          to label %1623 unwind label %1624

1623:                                             ; preds = %1620
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1628

1624:                                             ; preds = %1620
  %1625 = landingpad { ptr, i32 }
          cleanup
  %1626 = extractvalue { ptr, i32 } %1625, 0
  store ptr %1626, ptr %4, align 8
  %1627 = extractvalue { ptr, i32 } %1625, 1
  store i32 %1627, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1665

1628:                                             ; preds = %1623, %1618
  br label %1629

1629:                                             ; preds = %1628, %1599
  %1630 = load i8, ptr %157, align 1, !tbaa !11, !range !13, !noundef !14
  %1631 = trunc i8 %1630 to i1
  br i1 %1631, label %1632, label %1641

1632:                                             ; preds = %1629
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %1633 unwind label %1611

1633:                                             ; preds = %1632
  %1634 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1635 = load x86_fp80, ptr %156, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %159, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1634, x86_fp80 noundef %1635, x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000)
          to label %1636 unwind label %1637

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

1637:                                             ; preds = %1633
  %1638 = landingpad { ptr, i32 }
          cleanup
  %1639 = extractvalue { ptr, i32 } %1638, 0
  store ptr %1639, ptr %4, align 8
  %1640 = extractvalue { ptr, i32 } %1638, 1
  store i32 %1640, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1665

1641:                                             ; preds = %1636, %1629
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %156) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %155) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #6
  %1642 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1643 = add nsw i32 %1642, 1
  store i32 %1643, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %160) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %161) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %161)
          to label %1644 unwind label %1668

1644:                                             ; preds = %1641
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %162) #6
  %1645 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK3FFE8789278472004800) #6
  store x86_fp80 %1645, ptr %162, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %163) #6
  %1646 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1647 = fsub x86_fp80 %1646, 0xK4008F9C0000000000000
  %1648 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1647)
          to label %1649 unwind label %1672

1649:                                             ; preds = %1644
  %1650 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4008F9C0000000000000)
          to label %1651 unwind label %1672

1651:                                             ; preds = %1649
  %1652 = fadd x86_fp80 0xK3FFF8000000000000000, %1650
  %1653 = fdiv x86_fp80 %1648, %1652
  store x86_fp80 %1653, ptr %163, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %164) #6
  store i8 0, ptr %164, align 1, !tbaa !11
  %1654 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1655 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1654)
          to label %1656 unwind label %1676

1656:                                             ; preds = %1651
  br i1 %1655, label %1680, label %1657

1657:                                             ; preds = %1656
  %1658 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1659 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1658)
          to label %1660 unwind label %1676

1660:                                             ; preds = %1657
  br i1 %1659, label %1661, label %1680

1661:                                             ; preds = %1660
  %1662 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1663 = fcmp oeq x86_fp80 %1662, 0xK4008F9C0000000000000
  br i1 %1663, label %1664, label %1680

1664:                                             ; preds = %1661
  store i8 1, ptr %164, align 1, !tbaa !11
  br label %1694

1665:                                             ; preds = %1637, %1624, %1611
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #6
  br label %1666

1666:                                             ; preds = %1665, %1607
  call void @llvm.lifetime.end.p0(i64 16, ptr %156) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %155) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br label %1667

1667:                                             ; preds = %1666, %1603
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #6
  br label %2032

1668:                                             ; preds = %1641
  %1669 = landingpad { ptr, i32 }
          cleanup
  %1670 = extractvalue { ptr, i32 } %1669, 0
  store ptr %1670, ptr %4, align 8
  %1671 = extractvalue { ptr, i32 } %1669, 1
  store i32 %1671, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #6
  br label %1732

1672:                                             ; preds = %1649, %1644
  %1673 = landingpad { ptr, i32 }
          cleanup
  %1674 = extractvalue { ptr, i32 } %1673, 0
  store ptr %1674, ptr %4, align 8
  %1675 = extractvalue { ptr, i32 } %1673, 1
  store i32 %1675, ptr %5, align 4
  br label %1731

1676:                                             ; preds = %1697, %1684, %1657, %1651
  %1677 = landingpad { ptr, i32 }
          cleanup
  %1678 = extractvalue { ptr, i32 } %1677, 0
  store ptr %1678, ptr %4, align 8
  %1679 = extractvalue { ptr, i32 } %1677, 1
  store i32 %1679, ptr %5, align 4
  br label %1730

1680:                                             ; preds = %1661, %1660, %1656
  %1681 = load x86_fp80, ptr %163, align 16, !tbaa !9
  %1682 = fcmp olt x86_fp80 %1681, 0xK3FD78CBCCC096F508800
  br i1 %1682, label %1683, label %1684

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

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

1685:                                             ; preds = %1684
  %1686 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1687 = load x86_fp80, ptr %162, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %165, i32 noundef %1686, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1687, x86_fp80 noundef 0xK4008F9C0000000000000, x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK3FFE8789278472004800)
          to label %1688 unwind label %1689

1688:                                             ; preds = %1685
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1693

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

1693:                                             ; preds = %1688, %1683
  br label %1694

1694:                                             ; preds = %1693, %1664
  %1695 = load i8, ptr %164, align 1, !tbaa !11, !range !13, !noundef !14
  %1696 = trunc i8 %1695 to i1
  br i1 %1696, label %1697, label %1706

1697:                                             ; preds = %1694
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef nonnull align 8 dereferenceable(32) %160)
          to label %1698 unwind label %1676

1698:                                             ; preds = %1697
  %1699 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1700 = load x86_fp80, ptr %163, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %166, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1699, x86_fp80 noundef %1700, x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK3FFE8789278472004800)
          to label %1701 unwind label %1702

1701:                                             ; preds = %1698
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  br label %1706

1702:                                             ; preds = %1698
  %1703 = landingpad { ptr, i32 }
          cleanup
  %1704 = extractvalue { ptr, i32 } %1703, 0
  store ptr %1704, ptr %4, align 8
  %1705 = extractvalue { ptr, i32 } %1703, 1
  store i32 %1705, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  br label %1730

1706:                                             ; preds = %1701, %1694
  call void @llvm.lifetime.end.p0(i64 1, ptr %164) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %163) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  %1707 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1708 = add nsw i32 %1707, 1
  store i32 %1708, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %167) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %168) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %168)
          to label %1709 unwind label %1733

1709:                                             ; preds = %1706
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %169) #6
  %1710 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK3FFDE864FBE9D964C800) #6
  store x86_fp80 %1710, ptr %169, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %170) #6
  %1711 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1712 = fsub x86_fp80 %1711, 0xK4008FA40000000000000
  %1713 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1712)
          to label %1714 unwind label %1737

1714:                                             ; preds = %1709
  %1715 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4008FA40000000000000)
          to label %1716 unwind label %1737

1716:                                             ; preds = %1714
  %1717 = fadd x86_fp80 0xK3FFF8000000000000000, %1715
  %1718 = fdiv x86_fp80 %1713, %1717
  store x86_fp80 %1718, ptr %170, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %171) #6
  store i8 0, ptr %171, align 1, !tbaa !11
  %1719 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1720 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1719)
          to label %1721 unwind label %1741

1721:                                             ; preds = %1716
  br i1 %1720, label %1745, label %1722

1722:                                             ; preds = %1721
  %1723 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1724 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1723)
          to label %1725 unwind label %1741

1725:                                             ; preds = %1722
  br i1 %1724, label %1726, label %1745

1726:                                             ; preds = %1725
  %1727 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1728 = fcmp oeq x86_fp80 %1727, 0xK4008FA40000000000000
  br i1 %1728, label %1729, label %1745

1729:                                             ; preds = %1726
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1759

1730:                                             ; preds = %1702, %1689, %1676
  call void @llvm.lifetime.end.p0(i64 1, ptr %164) #6
  br label %1731

1731:                                             ; preds = %1730, %1672
  call void @llvm.lifetime.end.p0(i64 16, ptr %163) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  br label %1732

1732:                                             ; preds = %1731, %1668
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  br label %2032

1733:                                             ; preds = %1706
  %1734 = landingpad { ptr, i32 }
          cleanup
  %1735 = extractvalue { ptr, i32 } %1734, 0
  store ptr %1735, ptr %4, align 8
  %1736 = extractvalue { ptr, i32 } %1734, 1
  store i32 %1736, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #6
  br label %1795

1737:                                             ; preds = %1714, %1709
  %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
  br label %1794

1741:                                             ; preds = %1762, %1749, %1722, %1716
  %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 %1793

1745:                                             ; preds = %1726, %1725, %1721
  %1746 = load x86_fp80, ptr %170, align 16, !tbaa !9
  %1747 = fcmp olt x86_fp80 %1746, 0xK3FD78CBCCC096F508800
  br i1 %1747, label %1748, label %1749

1748:                                             ; preds = %1745
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1758

1749:                                             ; preds = %1745
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1750 unwind label %1741

1750:                                             ; preds = %1749
  %1751 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1752 = load x86_fp80, ptr %169, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %172, i32 noundef %1751, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1752, x86_fp80 noundef 0xK4008FA40000000000000, x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK3FFDE864FBE9D964C800)
          to label %1753 unwind label %1754

1753:                                             ; preds = %1750
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1758

1754:                                             ; preds = %1750
  %1755 = landingpad { ptr, i32 }
          cleanup
  %1756 = extractvalue { ptr, i32 } %1755, 0
  store ptr %1756, ptr %4, align 8
  %1757 = extractvalue { ptr, i32 } %1755, 1
  store i32 %1757, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1793

1758:                                             ; preds = %1753, %1748
  br label %1759

1759:                                             ; preds = %1758, %1729
  %1760 = load i8, ptr %171, align 1, !tbaa !11, !range !13, !noundef !14
  %1761 = trunc i8 %1760 to i1
  br i1 %1761, label %1762, label %1771

1762:                                             ; preds = %1759
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1763 unwind label %1741

1763:                                             ; preds = %1762
  %1764 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1765 = load x86_fp80, ptr %170, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %173, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1764, x86_fp80 noundef %1765, x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK3FFDE864FBE9D964C800)
          to label %1766 unwind label %1767

1766:                                             ; preds = %1763
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1771

1767:                                             ; preds = %1763
  %1768 = landingpad { ptr, i32 }
          cleanup
  %1769 = extractvalue { ptr, i32 } %1768, 0
  store ptr %1769, ptr %4, align 8
  %1770 = extractvalue { ptr, i32 } %1768, 1
  store i32 %1770, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1793

1771:                                             ; preds = %1766, %1759
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %169) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %167) #6
  %1772 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1773 = add nsw i32 %1772, 1
  store i32 %1773, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %175) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #6
  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 %1774 unwind label %1796

1774:                                             ; preds = %1771
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #6
  %1775 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1776 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1777 = call noundef double @_ZN4gcem20incomplete_gamma_invIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1775, double noundef %1776) #6
  store double %1777, ptr %176, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %177) #6
  %1778 = load double, ptr %176, align 8, !tbaa !15
  %1779 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1780 = fsub double %1778, %1779
  %1781 = invoke noundef double @_ZSt3absd(double noundef %1780)
          to label %1782 unwind label %1800

1782:                                             ; preds = %1774
  %1783 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1784 = invoke noundef double @_ZSt3absd(double noundef %1783)
          to label %1785 unwind label %1800

1785:                                             ; preds = %1782
  %1786 = fadd double 1.000000e+00, %1784
  %1787 = fdiv double %1781, %1786
  store double %1787, ptr %177, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %178) #6
  store i8 0, ptr %178, align 1, !tbaa !11
  %1788 = load double, ptr %176, align 8, !tbaa !15
  %1789 = fpext double %1788 to x86_fp80
  %1790 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1789)
          to label %1791 unwind label %1804

1791:                                             ; preds = %1785
  br i1 %1790, label %1792, label %1808

1792:                                             ; preds = %1791
  store i8 1, ptr %178, align 1, !tbaa !11
  br label %1841

1793:                                             ; preds = %1767, %1754, %1741
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #6
  br label %1794

1794:                                             ; preds = %1793, %1737
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %169) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  br label %1795

1795:                                             ; preds = %1794, %1733
  call void @llvm.lifetime.end.p0(i64 32, ptr %167) #6
  br label %2032

1796:                                             ; preds = %1771
  %1797 = landingpad { ptr, i32 }
          cleanup
  %1798 = extractvalue { ptr, i32 } %1797, 0
  store ptr %1798, ptr %4, align 8
  %1799 = extractvalue { ptr, i32 } %1797, 1
  store i32 %1799, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #6
  br label %1879

1800:                                             ; preds = %1782, %1774
  %1801 = landingpad { ptr, i32 }
          cleanup
  %1802 = extractvalue { ptr, i32 } %1801, 0
  store ptr %1802, ptr %4, align 8
  %1803 = extractvalue { ptr, i32 } %1801, 1
  store i32 %1803, ptr %5, align 4
  br label %1878

1804:                                             ; preds = %1844, %1827, %1813, %1808, %1785
  %1805 = landingpad { ptr, i32 }
          cleanup
  %1806 = extractvalue { ptr, i32 } %1805, 0
  store ptr %1806, ptr %4, align 8
  %1807 = extractvalue { ptr, i32 } %1805, 1
  store i32 %1807, ptr %5, align 4
  br label %1877

1808:                                             ; preds = %1791
  %1809 = load double, ptr %176, align 8, !tbaa !15
  %1810 = fpext double %1809 to x86_fp80
  %1811 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1810)
          to label %1812 unwind label %1804

1812:                                             ; preds = %1808
  br i1 %1811, label %1823, label %1813

1813:                                             ; preds = %1812
  %1814 = load double, ptr %176, align 8, !tbaa !15
  %1815 = fpext double %1814 to x86_fp80
  %1816 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1815)
          to label %1817 unwind label %1804

1817:                                             ; preds = %1813
  br i1 %1816, label %1818, label %1823

1818:                                             ; preds = %1817
  %1819 = load double, ptr %176, align 8, !tbaa !15
  %1820 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1821 = fcmp oeq double %1819, %1820
  br i1 %1821, label %1822, label %1823

1822:                                             ; preds = %1818
  store i8 1, ptr %178, align 1, !tbaa !11
  br label %1840

1823:                                             ; preds = %1818, %1817, %1812
  %1824 = load double, ptr %177, align 8, !tbaa !15
  %1825 = fcmp olt double %1824, 0x3D719799812DEA11
  br i1 %1825, label %1826, label %1827

1826:                                             ; preds = %1823
  store i8 1, ptr %178, align 1, !tbaa !11
  br label %1839

1827:                                             ; preds = %1823
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %179, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1828 unwind label %1804

1828:                                             ; preds = %1827
  %1829 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1830 = load double, ptr %176, align 8, !tbaa !15
  %1831 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1832 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1833 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %179, i32 noundef %1829, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %1830, double noundef %1831, double noundef %1832, double noundef %1833)
          to label %1834 unwind label %1835

1834:                                             ; preds = %1828
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  br label %1839

1835:                                             ; preds = %1828
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  br label %1877

1839:                                             ; preds = %1834, %1826
  br label %1840

1840:                                             ; preds = %1839, %1822
  br label %1841

1841:                                             ; preds = %1840, %1792
  %1842 = load i8, ptr %178, align 1, !tbaa !11, !range !13, !noundef !14
  %1843 = trunc i8 %1842 to i1
  br i1 %1843, label %1844, label %1855

1844:                                             ; preds = %1841
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1845 unwind label %1804

1845:                                             ; preds = %1844
  %1846 = load double, ptr %176, align 8, !tbaa !15
  %1847 = load double, ptr %177, align 8, !tbaa !15
  %1848 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1849 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %180, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %1846, double noundef %1847, double noundef %1848, double noundef %1849)
          to label %1850 unwind label %1851

1850:                                             ; preds = %1845
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %1855

1851:                                             ; preds = %1845
  %1852 = landingpad { ptr, i32 }
          cleanup
  %1853 = extractvalue { ptr, i32 } %1852, 0
  store ptr %1853, ptr %4, align 8
  %1854 = extractvalue { ptr, i32 } %1852, 1
  store i32 %1854, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %1877

1855:                                             ; preds = %1850, %1841
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  %1856 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1857 = add nsw i32 %1856, 1
  store i32 %1857, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %181) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %182) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %182)
          to label %1858 unwind label %1880

1858:                                             ; preds = %1855
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %183) #6
  %1859 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1860 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1859, x86_fp80 noundef 0xK3FFE8000000000000000) #6
  store x86_fp80 %1860, ptr %183, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %184) #6
  %1861 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1862 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1863 = fpext double %1862 to x86_fp80
  %1864 = fsub x86_fp80 %1861, %1863
  %1865 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1864)
          to label %1866 unwind label %1884

1866:                                             ; preds = %1858
  %1867 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1868 = invoke noundef double @_ZSt3absd(double noundef %1867)
          to label %1869 unwind label %1884

1869:                                             ; preds = %1866
  %1870 = fadd double 1.000000e+00, %1868
  %1871 = fpext double %1870 to x86_fp80
  %1872 = fdiv x86_fp80 %1865, %1871
  store x86_fp80 %1872, ptr %184, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %185) #6
  store i8 0, ptr %185, align 1, !tbaa !11
  %1873 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1874 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1873)
          to label %1875 unwind label %1888

1875:                                             ; preds = %1869
  br i1 %1874, label %1876, label %1892

1876:                                             ; preds = %1875
  store i8 1, ptr %185, align 1, !tbaa !11
  br label %1923

1877:                                             ; preds = %1851, %1835, %1804
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #6
  br label %1878

1878:                                             ; preds = %1877, %1800
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  br label %1879

1879:                                             ; preds = %1878, %1796
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  br label %2032

1880:                                             ; preds = %1855
  %1881 = landingpad { ptr, i32 }
          cleanup
  %1882 = extractvalue { ptr, i32 } %1881, 0
  store ptr %1882, ptr %4, align 8
  %1883 = extractvalue { ptr, i32 } %1881, 1
  store i32 %1883, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #6
  br label %1960

1884:                                             ; preds = %1866, %1858
  %1885 = landingpad { ptr, i32 }
          cleanup
  %1886 = extractvalue { ptr, i32 } %1885, 0
  store ptr %1886, ptr %4, align 8
  %1887 = extractvalue { ptr, i32 } %1885, 1
  store i32 %1887, ptr %5, align 4
  br label %1959

1888:                                             ; preds = %1926, %1910, %1896, %1892, %1869
  %1889 = landingpad { ptr, i32 }
          cleanup
  %1890 = extractvalue { ptr, i32 } %1889, 0
  store ptr %1890, ptr %4, align 8
  %1891 = extractvalue { ptr, i32 } %1889, 1
  store i32 %1891, ptr %5, align 4
  br label %1958

1892:                                             ; preds = %1875
  %1893 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1894 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1893)
          to label %1895 unwind label %1888

1895:                                             ; preds = %1892
  br i1 %1894, label %1906, label %1896

1896:                                             ; preds = %1895
  %1897 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1898 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1897)
          to label %1899 unwind label %1888

1899:                                             ; preds = %1896
  br i1 %1898, label %1900, label %1906

1900:                                             ; preds = %1899
  %1901 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1902 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1903 = fpext double %1902 to x86_fp80
  %1904 = fcmp oeq x86_fp80 %1901, %1903
  br i1 %1904, label %1905, label %1906

1905:                                             ; preds = %1900
  store i8 1, ptr %185, align 1, !tbaa !11
  br label %1922

1906:                                             ; preds = %1900, %1899, %1895
  %1907 = load x86_fp80, ptr %184, align 16, !tbaa !9
  %1908 = fcmp olt x86_fp80 %1907, 0xK3FD78CBCCC096F508800
  br i1 %1908, label %1909, label %1910

1909:                                             ; preds = %1906
  store i8 1, ptr %185, align 1, !tbaa !11
  br label %1921

1910:                                             ; preds = %1906
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %186, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %1911 unwind label %1888

1911:                                             ; preds = %1910
  %1912 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1913 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1914 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1915 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIeddeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %186, i32 noundef %1912, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1913, double noundef %1914, double noundef %1915, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %1916 unwind label %1917

1916:                                             ; preds = %1911
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #6
  br label %1921

1917:                                             ; preds = %1911
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #6
  br label %1958

1921:                                             ; preds = %1916, %1909
  br label %1922

1922:                                             ; preds = %1921, %1905
  br label %1923

1923:                                             ; preds = %1922, %1876
  %1924 = load i8, ptr %185, align 1, !tbaa !11, !range !13, !noundef !14
  %1925 = trunc i8 %1924 to i1
  br i1 %1925, label %1926, label %1936

1926:                                             ; preds = %1923
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %1927 unwind label %1888

1927:                                             ; preds = %1926
  %1928 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1929 = load x86_fp80, ptr %184, align 16, !tbaa !9
  %1930 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %187, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1928, x86_fp80 noundef %1929, double noundef %1930, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %1931 unwind label %1932

1931:                                             ; preds = %1927
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %1936

1932:                                             ; preds = %1927
  %1933 = landingpad { ptr, i32 }
          cleanup
  %1934 = extractvalue { ptr, i32 } %1933, 0
  store ptr %1934, ptr %4, align 8
  %1935 = extractvalue { ptr, i32 } %1933, 1
  store i32 %1935, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %1958

1936:                                             ; preds = %1931, %1923
  call void @llvm.lifetime.end.p0(i64 1, ptr %185) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %184) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %183) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #6
  %1937 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1938 = add nsw i32 %1937, 1
  store i32 %1938, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %188) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %189) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %189)
          to label %1939 unwind label %1961

1939:                                             ; preds = %1936
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %189) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %190) #6
  %1940 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1941 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, double noundef %1940) #6
  store x86_fp80 %1941, ptr %190, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %191) #6
  %1942 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %1943 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1944 = fpext double %1943 to x86_fp80
  %1945 = fsub x86_fp80 %1942, %1944
  %1946 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1945)
          to label %1947 unwind label %1965

1947:                                             ; preds = %1939
  %1948 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1949 = invoke noundef double @_ZSt3absd(double noundef %1948)
          to label %1950 unwind label %1965

1950:                                             ; preds = %1947
  %1951 = fadd double 1.000000e+00, %1949
  %1952 = fpext double %1951 to x86_fp80
  %1953 = fdiv x86_fp80 %1946, %1952
  store x86_fp80 %1953, ptr %191, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %192) #6
  store i8 0, ptr %192, align 1, !tbaa !11
  %1954 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %1955 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1954)
          to label %1956 unwind label %1969

1956:                                             ; preds = %1950
  br i1 %1955, label %1957, label %1973

1957:                                             ; preds = %1956
  store i8 1, ptr %192, align 1, !tbaa !11
  br label %2004

1958:                                             ; preds = %1932, %1917, %1888
  call void @llvm.lifetime.end.p0(i64 1, ptr %185) #6
  br label %1959

1959:                                             ; preds = %1958, %1884
  call void @llvm.lifetime.end.p0(i64 16, ptr %184) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %183) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  br label %1960

1960:                                             ; preds = %1959, %1880
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #6
  br label %2032

1961:                                             ; preds = %1936
  %1962 = landingpad { ptr, i32 }
          cleanup
  %1963 = extractvalue { ptr, i32 } %1962, 0
  store ptr %1963, ptr %4, align 8
  %1964 = extractvalue { ptr, i32 } %1962, 1
  store i32 %1964, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %189) #6
  br label %2022

1965:                                             ; preds = %1947, %1939
  %1966 = landingpad { ptr, i32 }
          cleanup
  %1967 = extractvalue { ptr, i32 } %1966, 0
  store ptr %1967, ptr %4, align 8
  %1968 = extractvalue { ptr, i32 } %1966, 1
  store i32 %1968, ptr %5, align 4
  br label %2021

1969:                                             ; preds = %2007, %1991, %1977, %1973, %1950
  %1970 = landingpad { ptr, i32 }
          cleanup
  %1971 = extractvalue { ptr, i32 } %1970, 0
  store ptr %1971, ptr %4, align 8
  %1972 = extractvalue { ptr, i32 } %1970, 1
  store i32 %1972, ptr %5, align 4
  br label %2020

1973:                                             ; preds = %1956
  %1974 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %1975 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1974)
          to label %1976 unwind label %1969

1976:                                             ; preds = %1973
  br i1 %1975, label %1987, label %1977

1977:                                             ; preds = %1976
  %1978 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %1979 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1978)
          to label %1980 unwind label %1969

1980:                                             ; preds = %1977
  br i1 %1979, label %1981, label %1987

1981:                                             ; preds = %1980
  %1982 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %1983 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1984 = fpext double %1983 to x86_fp80
  %1985 = fcmp oeq x86_fp80 %1982, %1984
  br i1 %1985, label %1986, label %1987

1986:                                             ; preds = %1981
  store i8 1, ptr %192, align 1, !tbaa !11
  br label %2003

1987:                                             ; preds = %1981, %1980, %1976
  %1988 = load x86_fp80, ptr %191, align 16, !tbaa !9
  %1989 = fcmp olt x86_fp80 %1988, 0xK3FD78CBCCC096F508800
  br i1 %1989, label %1990, label %1991

1990:                                             ; preds = %1987
  store i8 1, ptr %192, align 1, !tbaa !11
  br label %2002

1991:                                             ; preds = %1987
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %1992 unwind label %1969

1992:                                             ; preds = %1991
  %1993 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1994 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %1995 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1996 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIededEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %193, i32 noundef %1993, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1994, double noundef %1995, x86_fp80 noundef 0xK40008000000000000000, double noundef %1996)
          to label %1997 unwind label %1998

1997:                                             ; preds = %1992
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %2002

1998:                                             ; preds = %1992
  %1999 = landingpad { ptr, i32 }
          cleanup
  %2000 = extractvalue { ptr, i32 } %1999, 0
  store ptr %2000, ptr %4, align 8
  %2001 = extractvalue { ptr, i32 } %1999, 1
  store i32 %2001, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %2020

2002:                                             ; preds = %1997, %1990
  br label %2003

2003:                                             ; preds = %2002, %1986
  br label %2004

2004:                                             ; preds = %2003, %1957
  %2005 = load i8, ptr %192, align 1, !tbaa !11, !range !13, !noundef !14
  %2006 = trunc i8 %2005 to i1
  br i1 %2006, label %2007, label %2017

2007:                                             ; preds = %2004
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %194, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %2008 unwind label %1969

2008:                                             ; preds = %2007
  %2009 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %2010 = load x86_fp80, ptr %191, align 16, !tbaa !9
  %2011 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %194, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2009, x86_fp80 noundef %2010, x86_fp80 noundef 0xK40008000000000000000, double noundef %2011)
          to label %2012 unwind label %2013

2012:                                             ; preds = %2008
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  br label %2017

2013:                                             ; preds = %2008
  %2014 = landingpad { ptr, i32 }
          cleanup
  %2015 = extractvalue { ptr, i32 } %2014, 0
  store ptr %2015, ptr %4, align 8
  %2016 = extractvalue { ptr, i32 } %2014, 1
  store i32 %2016, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  br label %2020

2017:                                             ; preds = %2012, %2004
  call void @llvm.lifetime.end.p0(i64 1, ptr %192) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %191) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %190) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %196) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %195, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %196)
          to label %2018 unwind label %2023

2018:                                             ; preds = %2017
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %195)
          to label %2019 unwind label %2027

2019:                                             ; preds = %2018
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #6
  ret i32 0

2020:                                             ; preds = %2013, %1998, %1969
  call void @llvm.lifetime.end.p0(i64 1, ptr %192) #6
  br label %2021

2021:                                             ; preds = %2020, %1965
  call void @llvm.lifetime.end.p0(i64 16, ptr %191) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %190) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  br label %2022

2022:                                             ; preds = %2021, %1961
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #6
  br label %2032

2023:                                             ; preds = %2017
  %2024 = landingpad { ptr, i32 }
          cleanup
  %2025 = extractvalue { ptr, i32 } %2024, 0
  store ptr %2025, ptr %4, align 8
  %2026 = extractvalue { ptr, i32 } %2024, 1
  store i32 %2026, ptr %5, align 4
  br label %2031

2027:                                             ; preds = %2018
  %2028 = landingpad { ptr, i32 }
          cleanup
  %2029 = extractvalue { ptr, i32 } %2028, 0
  store ptr %2029, ptr %4, align 8
  %2030 = extractvalue { ptr, i32 } %2028, 1
  store i32 %2030, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  br label %2031

2031:                                             ; preds = %2027, %2023
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #6
  br label %2032

2032:                                             ; preds = %2031, %2022, %1960, %1879, %1795, %1732, %1667, %1602, %1537, %1472, %1407, %1342, %1277, %1212, %1147, %1082, %1017, %952, %887, %822, %757, %692, %627, %561, %490, %425, %360, %295, %230
  %2033 = load ptr, ptr %4, align 8
  %2034 = load i32, ptr %5, align 4
  %2035 = insertvalue { ptr, i32 } poison, ptr %2033, 0
  %2036 = insertvalue { ptr, i32 } %2035, i32 %2034, 1
  resume { ptr, i32 } %2036
}

; 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 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, x86_fp80 noundef) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_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 double @_ZNSt14numeric_limitsIdE8infinityEv() #3 align 2

; 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_failIedeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, double noundef, x86_fp80 noundef, x86_fp80 noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZN4gcem20incomplete_gamma_invIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, double noundef) #3

; 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 @_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 x86_fp80 @_ZN4gcem20incomplete_gamma_invIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, x86_fp80 noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeddeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, double 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 @_ZN4gcem20incomplete_gamma_invIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, double noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIededEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, double 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: 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 }

!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 [21 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [27 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
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %2) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  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 %113 unwind label %129

113:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %1)
          to label %114 unwind label %131

114:                                              ; preds = %113
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #6
  %115 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %116 = add nsw i32 %115, 1
  store i32 %116, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #6
  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 %117 unwind label %134

117:                                              ; preds = %114
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #6
  %118 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFD874A9C9D310C7800) #6
  %119 = fadd x86_fp80 %118, 0xKBFFF8000000000000000
  %120 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %119)
  %121 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
  %122 = fadd x86_fp80 %121, 0xK3FFF8000000000000000
  %123 = fdiv x86_fp80 %120, %122
  %124 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %118)
  br i1 %124, label %138, label %125

125:                                              ; preds = %117
  %126 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %118)
  %127 = fcmp oeq x86_fp80 %118, 0xK3FFF8000000000000000
  %or.cond = and i1 %127, %126
  %128 = fcmp olt x86_fp80 %123, 0xK3FD78CBCCC096F508800
  %or.cond562 = or i1 %128, %or.cond
  br i1 %or.cond562, label %144, label %139

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

131:                                              ; preds = %113
  %132 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  br label %133

133:                                              ; preds = %131, %129
  %.pn = phi { ptr, i32 } [ %132, %131 ], [ %130, %129 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #6
  br label %983

134:                                              ; preds = %114
  %135 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #6
  br label %163

136:                                              ; preds = %144, %139
  %137 = landingpad { ptr, i32 }
          cleanup
  br label %162

138:                                              ; preds = %117
  %.old = fcmp olt x86_fp80 %123, 0xK3FD78CBCCC096F508800
  br i1 %.old, label %144, label %139

139:                                              ; preds = %125, %138
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %140 unwind label %136

140:                                              ; preds = %139
  %141 = 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 %141, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %118, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFD874A9C9D310C7800)
          to label %.critedge unwind label %142

142:                                              ; preds = %140
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  br label %162

144:                                              ; preds = %125, %138
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %145 unwind label %136

145:                                              ; preds = %144
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %6, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %118, x86_fp80 noundef %123, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFD874A9C9D310C7800)
          to label %.critedge unwind label %146

146:                                              ; preds = %145
  %147 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  br label %162

.critedge:                                        ; preds = %145, %140
  %.sink = phi ptr [ %5, %140 ], [ %6, %145 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #6
  %148 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %149 = add nsw i32 %148, 1
  store i32 %149, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #6
  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 %150 unwind label %164

150:                                              ; preds = %.critedge
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #6
  %151 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFDDAED822892A82800) #6
  %152 = fadd x86_fp80 %151, 0xKBFFF8000000000000000
  %153 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %152)
  %154 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
  %155 = fadd x86_fp80 %154, 0xK3FFF8000000000000000
  %156 = fdiv x86_fp80 %153, %155
  %157 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %151)
  br i1 %157, label %168, label %158

158:                                              ; preds = %150
  %159 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %151)
  %160 = fcmp oeq x86_fp80 %151, 0xK3FFF8000000000000000
  %or.cond3 = and i1 %160, %159
  %161 = fcmp olt x86_fp80 %156, 0xK3FD78CBCCC096F508800
  %or.cond564 = or i1 %161, %or.cond3
  br i1 %or.cond564, label %174, label %169

162:                                              ; preds = %146, %142, %136
  %.pn426 = phi { ptr, i32 } [ %147, %146 ], [ %137, %136 ], [ %143, %142 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #6
  br label %163

163:                                              ; preds = %162, %134
  %.pn426.pn = phi { ptr, i32 } [ %.pn426, %162 ], [ %135, %134 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #6
  br label %983

164:                                              ; preds = %.critedge
  %165 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #6
  br label %193

166:                                              ; preds = %174, %169
  %167 = landingpad { ptr, i32 }
          cleanup
  br label %192

168:                                              ; preds = %150
  %.old563 = fcmp olt x86_fp80 %156, 0xK3FD78CBCCC096F508800
  br i1 %.old563, label %174, label %169

169:                                              ; preds = %158, %168
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %170 unwind label %166

170:                                              ; preds = %169
  %171 = 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 %171, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %151, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFDDAED822892A82800)
          to label %.critedge511 unwind label %172

172:                                              ; preds = %170
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %192

174:                                              ; preds = %158, %168
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %175 unwind label %166

175:                                              ; preds = %174
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %10, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %151, x86_fp80 noundef %156, x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFDDAED822892A82800)
          to label %.critedge511 unwind label %176

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

.critedge511:                                     ; preds = %175, %170
  %.sink615 = phi ptr [ %9, %170 ], [ %10, %175 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink615) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  %178 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %179 = add nsw i32 %178, 1
  store i32 %179, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  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 %180 unwind label %194

180:                                              ; preds = %.critedge511
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #6
  %181 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFECD049E66629EA000) #6
  %182 = fadd x86_fp80 %181, 0xKC000C000000000000000
  %183 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %182)
  %184 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4000C000000000000000)
  %185 = fadd x86_fp80 %184, 0xK3FFF8000000000000000
  %186 = fdiv x86_fp80 %183, %185
  %187 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %181)
  br i1 %187, label %198, label %188

188:                                              ; preds = %180
  %189 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %181)
  %190 = fcmp oeq x86_fp80 %181, 0xK4000C000000000000000
  %or.cond5 = and i1 %190, %189
  %191 = fcmp olt x86_fp80 %186, 0xK3FD78CBCCC096F508800
  %or.cond566 = or i1 %191, %or.cond5
  br i1 %or.cond566, label %204, label %199

192:                                              ; preds = %176, %172, %166
  %.pn429 = phi { ptr, i32 } [ %177, %176 ], [ %167, %166 ], [ %173, %172 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %193

193:                                              ; preds = %192, %164
  %.pn429.pn = phi { ptr, i32 } [ %.pn429, %192 ], [ %165, %164 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  br label %983

194:                                              ; preds = %.critedge511
  %195 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #6
  br label %223

196:                                              ; preds = %204, %199
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %222

198:                                              ; preds = %180
  %.old565 = fcmp olt x86_fp80 %186, 0xK3FD78CBCCC096F508800
  br i1 %.old565, label %204, label %199

199:                                              ; preds = %188, %198
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %200 unwind label %196

200:                                              ; preds = %199
  %201 = 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 %201, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %181, x86_fp80 noundef 0xK4000C000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFECD049E66629EA000)
          to label %.critedge513 unwind label %202

202:                                              ; preds = %200
  %203 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %222

204:                                              ; preds = %188, %198
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %205 unwind label %196

205:                                              ; preds = %204
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %14, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %181, x86_fp80 noundef %186, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFECD049E66629EA000)
          to label %.critedge513 unwind label %206

206:                                              ; preds = %205
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %222

.critedge513:                                     ; preds = %205, %200
  %.sink616 = phi ptr [ %13, %200 ], [ %14, %205 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink616) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  %208 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %209 = add nsw i32 %208, 1
  store i32 %209, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  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 %210 unwind label %224

210:                                              ; preds = %.critedge513
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  %211 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEF5A6880BFB00B000) #6
  %212 = fadd x86_fp80 %211, 0xKC001A000000000000000
  %213 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %212)
  %214 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4001A000000000000000)
  %215 = fadd x86_fp80 %214, 0xK3FFF8000000000000000
  %216 = fdiv x86_fp80 %213, %215
  %217 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %211)
  br i1 %217, label %228, label %218

218:                                              ; preds = %210
  %219 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %211)
  %220 = fcmp oeq x86_fp80 %211, 0xK4001A000000000000000
  %or.cond7 = and i1 %220, %219
  %221 = fcmp olt x86_fp80 %216, 0xK3FD78CBCCC096F508800
  %or.cond568 = or i1 %221, %or.cond7
  br i1 %or.cond568, label %234, label %229

222:                                              ; preds = %206, %202, %196
  %.pn432 = phi { ptr, i32 } [ %207, %206 ], [ %197, %196 ], [ %203, %202 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %223

223:                                              ; preds = %222, %194
  %.pn432.pn = phi { ptr, i32 } [ %.pn432, %222 ], [ %195, %194 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %983

224:                                              ; preds = %.critedge513
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  br label %253

226:                                              ; preds = %234, %229
  %227 = landingpad { ptr, i32 }
          cleanup
  br label %252

228:                                              ; preds = %210
  %.old567 = fcmp olt x86_fp80 %216, 0xK3FD78CBCCC096F508800
  br i1 %.old567, label %234, label %229

229:                                              ; preds = %218, %228
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %230 unwind label %226

230:                                              ; preds = %229
  %231 = 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 %231, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %211, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEF5A6880BFB00B000)
          to label %.critedge515 unwind label %232

232:                                              ; preds = %230
  %233 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %252

234:                                              ; preds = %218, %228
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %235 unwind label %226

235:                                              ; preds = %234
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %18, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %211, x86_fp80 noundef %216, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEF5A6880BFB00B000)
          to label %.critedge515 unwind label %236

236:                                              ; preds = %235
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %252

.critedge515:                                     ; preds = %235, %230
  %.sink617 = phi ptr [ %17, %230 ], [ %18, %235 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink617) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  %238 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %239 = add nsw i32 %238, 1
  store i32 %239, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %240 unwind label %254

240:                                              ; preds = %.critedge515
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #6
  %241 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEFFAF1F4546405800) #6
  %242 = fadd x86_fp80 %241, 0xKC0029000000000000000
  %243 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %242)
  %244 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40029000000000000000)
  %245 = fadd x86_fp80 %244, 0xK3FFF8000000000000000
  %246 = fdiv x86_fp80 %243, %245
  %247 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %241)
  br i1 %247, label %258, label %248

248:                                              ; preds = %240
  %249 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %241)
  %250 = fcmp oeq x86_fp80 %241, 0xK40029000000000000000
  %or.cond9 = and i1 %250, %249
  %251 = fcmp olt x86_fp80 %246, 0xK3FD78CBCCC096F508800
  %or.cond570 = or i1 %251, %or.cond9
  br i1 %or.cond570, label %264, label %259

252:                                              ; preds = %236, %232, %226
  %.pn435 = phi { ptr, i32 } [ %237, %236 ], [ %227, %226 ], [ %233, %232 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %253

253:                                              ; preds = %252, %224
  %.pn435.pn = phi { ptr, i32 } [ %.pn435, %252 ], [ %225, %224 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %983

254:                                              ; preds = %.critedge515
  %255 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #6
  br label %290

256:                                              ; preds = %264, %259
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %289

258:                                              ; preds = %240
  %.old569 = fcmp olt x86_fp80 %246, 0xK3FD78CBCCC096F508800
  br i1 %.old569, label %264, label %259

259:                                              ; preds = %248, %258
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %260 unwind label %256

260:                                              ; preds = %259
  %261 = 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 %261, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %241, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEFFAF1F4546405800)
          to label %.critedge517 unwind label %262

262:                                              ; preds = %260
  %263 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %289

264:                                              ; preds = %248, %258
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %265 unwind label %256

265:                                              ; preds = %264
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %22, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %241, x86_fp80 noundef %246, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFEFFAF1F4546405800)
          to label %.critedge517 unwind label %266

266:                                              ; preds = %265
  %267 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %289

.critedge517:                                     ; preds = %265, %260
  %.sink618 = phi ptr [ %21, %260 ], [ %22, %265 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink618) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  %268 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %269 = add nsw i32 %268, 1
  store i32 %269, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  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 %270 unwind label %291

270:                                              ; preds = %.critedge517
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #6
  %271 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #6
  %272 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #6
  %273 = fpext double %272 to x86_fp80
  %274 = fsub x86_fp80 %271, %273
  %275 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %274)
  %276 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #6
  %277 = call noundef double @_ZSt3absd(double noundef %276)
  %278 = fadd double %277, 1.000000e+00
  %279 = fpext double %278 to x86_fp80
  %280 = fdiv x86_fp80 %275, %279
  %281 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %271)
  br i1 %281, label %295, label %282

282:                                              ; preds = %270
  %283 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %271)
  br i1 %283, label %284, label %295

284:                                              ; preds = %282
  %285 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #6
  %286 = fpext double %285 to x86_fp80
  %287 = fcmp oeq x86_fp80 %271, %286
  %288 = fcmp olt x86_fp80 %280, 0xK3FD78CBCCC096F508800
  %or.cond572 = or i1 %288, %287
  br i1 %or.cond572, label %302, label %296

289:                                              ; preds = %266, %262, %256
  %.pn438 = phi { ptr, i32 } [ %267, %266 ], [ %257, %256 ], [ %263, %262 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %290

290:                                              ; preds = %289, %254
  %.pn438.pn = phi { ptr, i32 } [ %.pn438, %289 ], [ %255, %254 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  br label %983

291:                                              ; preds = %.critedge517
  %292 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #6
  br label %320

293:                                              ; preds = %302, %296
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %319

295:                                              ; preds = %282, %270
  %.old571 = fcmp olt x86_fp80 %280, 0xK3FD78CBCCC096F508800
  br i1 %.old571, label %302, label %296

296:                                              ; preds = %284, %295
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %297 unwind label %293

297:                                              ; preds = %296
  %298 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %299 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #6
  invoke void @_Z15print_test_failIedeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %25, i32 noundef %298, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %271, double noundef %299, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge519 unwind label %300

300:                                              ; preds = %297
  %301 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %319

302:                                              ; preds = %284, %295
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %303 unwind label %293

303:                                              ; preds = %302
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %26, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %271, x86_fp80 noundef %280, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge519 unwind label %304

304:                                              ; preds = %303
  %305 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %319

.critedge519:                                     ; preds = %303, %297
  %.sink619 = phi ptr [ %25, %297 ], [ %26, %303 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink619) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  %306 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %307 = add nsw i32 %306, 1
  store i32 %307, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %308 unwind label %321

308:                                              ; preds = %.critedge519
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  %309 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000) #6
  %310 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %309)
  %311 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK00000000000000000000)
  %312 = fadd x86_fp80 %311, 0xK3FFF8000000000000000
  %313 = fdiv x86_fp80 %310, %312
  %314 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %309)
  br i1 %314, label %325, label %315

315:                                              ; preds = %308
  %316 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %309)
  %317 = fcmp oeq x86_fp80 %309, 0xK00000000000000000000
  %or.cond11 = and i1 %317, %316
  %318 = fcmp olt x86_fp80 %313, 0xK3FD78CBCCC096F508800
  %or.cond574 = or i1 %318, %or.cond11
  br i1 %or.cond574, label %331, label %326

319:                                              ; preds = %304, %300, %293
  %.pn441 = phi { ptr, i32 } [ %305, %304 ], [ %294, %293 ], [ %301, %300 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %320

320:                                              ; preds = %319, %291
  %.pn441.pn = phi { ptr, i32 } [ %.pn441, %319 ], [ %292, %291 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  br label %983

321:                                              ; preds = %.critedge519
  %322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  br label %349

323:                                              ; preds = %331, %326
  %324 = landingpad { ptr, i32 }
          cleanup
  br label %348

325:                                              ; preds = %308
  %.old573 = fcmp olt x86_fp80 %313, 0xK3FD78CBCCC096F508800
  br i1 %.old573, label %331, label %326

326:                                              ; preds = %315, %325
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %327 unwind label %323

327:                                              ; preds = %326
  %328 = 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 %328, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %309, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge521 unwind label %329

329:                                              ; preds = %327
  %330 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %348

331:                                              ; preds = %315, %325
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %332 unwind label %323

332:                                              ; preds = %331
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %30, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %309, x86_fp80 noundef %313, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge521 unwind label %333

333:                                              ; preds = %332
  %334 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %348

.critedge521:                                     ; preds = %332, %327
  %.sink620 = phi ptr [ %29, %327 ], [ %30, %332 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink620) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  %335 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %336 = add nsw i32 %335, 1
  store i32 %336, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %337 unwind label %350

337:                                              ; preds = %.critedge521
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #6
  %338 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #6
  %339 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %338)
  %340 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK00000000000000000000)
  %341 = fadd x86_fp80 %340, 0xK3FFF8000000000000000
  %342 = fdiv x86_fp80 %339, %341
  %343 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %338)
  br i1 %343, label %354, label %344

344:                                              ; preds = %337
  %345 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %338)
  %346 = fcmp oeq x86_fp80 %338, 0xK00000000000000000000
  %or.cond13 = and i1 %346, %345
  %347 = fcmp olt x86_fp80 %342, 0xK3FD78CBCCC096F508800
  %or.cond576 = or i1 %347, %or.cond13
  br i1 %or.cond576, label %360, label %355

348:                                              ; preds = %333, %329, %323
  %.pn444 = phi { ptr, i32 } [ %334, %333 ], [ %324, %323 ], [ %330, %329 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %349

349:                                              ; preds = %348, %321
  %.pn444.pn = phi { ptr, i32 } [ %.pn444, %348 ], [ %322, %321 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %983

350:                                              ; preds = %.critedge521
  %351 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #6
  br label %379

352:                                              ; preds = %360, %355
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %378

354:                                              ; preds = %337
  %.old575 = fcmp olt x86_fp80 %342, 0xK3FD78CBCCC096F508800
  br i1 %.old575, label %360, label %355

355:                                              ; preds = %344, %354
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %356 unwind label %352

356:                                              ; preds = %355
  %357 = 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 %357, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %338, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge523 unwind label %358

358:                                              ; preds = %356
  %359 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %378

360:                                              ; preds = %344, %354
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %361 unwind label %352

361:                                              ; preds = %360
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %34, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %338, x86_fp80 noundef %342, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge523 unwind label %362

362:                                              ; preds = %361
  %363 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %378

.critedge523:                                     ; preds = %361, %356
  %.sink621 = phi ptr [ %33, %356 ], [ %34, %361 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink621) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  %364 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %365 = add nsw i32 %364, 1
  store i32 %365, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %366 unwind label %380

366:                                              ; preds = %.critedge523
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #6
  %367 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK3FFDF5A18F02FC517000) #6
  %368 = fadd x86_fp80 %367, 0xKC002B000000000000000
  %369 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %368)
  %370 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4002B000000000000000)
  %371 = fadd x86_fp80 %370, 0xK3FFF8000000000000000
  %372 = fdiv x86_fp80 %369, %371
  %373 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %367)
  br i1 %373, label %384, label %374

374:                                              ; preds = %366
  %375 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %367)
  %376 = fcmp oeq x86_fp80 %367, 0xK4002B000000000000000
  %or.cond15 = and i1 %376, %375
  %377 = fcmp olt x86_fp80 %372, 0xK3FD78CBCCC096F508800
  %or.cond578 = or i1 %377, %or.cond15
  br i1 %or.cond578, label %390, label %385

378:                                              ; preds = %362, %358, %352
  %.pn447 = phi { ptr, i32 } [ %363, %362 ], [ %353, %352 ], [ %359, %358 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %379

379:                                              ; preds = %378, %350
  %.pn447.pn = phi { ptr, i32 } [ %.pn447, %378 ], [ %351, %350 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  br label %983

380:                                              ; preds = %.critedge523
  %381 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #6
  br label %409

382:                                              ; preds = %390, %385
  %383 = landingpad { ptr, i32 }
          cleanup
  br label %408

384:                                              ; preds = %366
  %.old577 = fcmp olt x86_fp80 %372, 0xK3FD78CBCCC096F508800
  br i1 %.old577, label %390, label %385

385:                                              ; preds = %374, %384
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %386 unwind label %382

386:                                              ; preds = %385
  %387 = 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 %387, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %367, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK3FFDF5A18F02FC517000)
          to label %.critedge525 unwind label %388

388:                                              ; preds = %386
  %389 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %408

390:                                              ; preds = %374, %384
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %391 unwind label %382

391:                                              ; preds = %390
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %38, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %367, x86_fp80 noundef %372, x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK3FFDF5A18F02FC517000)
          to label %.critedge525 unwind label %392

392:                                              ; preds = %391
  %393 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %408

.critedge525:                                     ; preds = %391, %386
  %.sink622 = phi ptr [ %37, %386 ], [ %38, %391 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink622) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  %394 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %395 = add nsw i32 %394, 1
  store i32 %395, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %396 unwind label %410

396:                                              ; preds = %.critedge525
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #6
  %397 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK3FFEC10D1BD011526000) #6
  %398 = fadd x86_fp80 %397, 0xKC0039000000000000000
  %399 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %398)
  %400 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40039000000000000000)
  %401 = fadd x86_fp80 %400, 0xK3FFF8000000000000000
  %402 = fdiv x86_fp80 %399, %401
  %403 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %397)
  br i1 %403, label %414, label %404

404:                                              ; preds = %396
  %405 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %397)
  %406 = fcmp oeq x86_fp80 %397, 0xK40039000000000000000
  %or.cond17 = and i1 %406, %405
  %407 = fcmp olt x86_fp80 %402, 0xK3FD78CBCCC096F508800
  %or.cond580 = or i1 %407, %or.cond17
  br i1 %or.cond580, label %420, label %415

408:                                              ; preds = %392, %388, %382
  %.pn450 = phi { ptr, i32 } [ %393, %392 ], [ %383, %382 ], [ %389, %388 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %409

409:                                              ; preds = %408, %380
  %.pn450.pn = phi { ptr, i32 } [ %.pn450, %408 ], [ %381, %380 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  br label %983

410:                                              ; preds = %.critedge525
  %411 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #6
  br label %439

412:                                              ; preds = %420, %415
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %438

414:                                              ; preds = %396
  %.old579 = fcmp olt x86_fp80 %402, 0xK3FD78CBCCC096F508800
  br i1 %.old579, label %420, label %415

415:                                              ; preds = %404, %414
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %416 unwind label %412

416:                                              ; preds = %415
  %417 = 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 %417, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %397, x86_fp80 noundef 0xK40039000000000000000, x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK3FFEC10D1BD011526000)
          to label %.critedge527 unwind label %418

418:                                              ; preds = %416
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %438

420:                                              ; preds = %404, %414
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %421 unwind label %412

421:                                              ; preds = %420
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %42, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %397, x86_fp80 noundef %402, x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK3FFEC10D1BD011526000)
          to label %.critedge527 unwind label %422

422:                                              ; preds = %421
  %423 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %438

.critedge527:                                     ; preds = %421, %416
  %.sink623 = phi ptr [ %41, %416 ], [ %42, %421 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink623) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  %424 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %425 = add nsw i32 %424, 1
  store i32 %425, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  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 %426 unwind label %440

426:                                              ; preds = %.critedge527
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #6
  %427 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK3FFDE0216CD933A6F800) #6
  %428 = fadd x86_fp80 %427, 0xKC0039000000000000000
  %429 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %428)
  %430 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40039000000000000000)
  %431 = fadd x86_fp80 %430, 0xK3FFF8000000000000000
  %432 = fdiv x86_fp80 %429, %431
  %433 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %427)
  br i1 %433, label %444, label %434

434:                                              ; preds = %426
  %435 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %427)
  %436 = fcmp oeq x86_fp80 %427, 0xK40039000000000000000
  %or.cond19 = and i1 %436, %435
  %437 = fcmp olt x86_fp80 %432, 0xK3FD78CBCCC096F508800
  %or.cond582 = or i1 %437, %or.cond19
  br i1 %or.cond582, label %450, label %445

438:                                              ; preds = %422, %418, %412
  %.pn453 = phi { ptr, i32 } [ %423, %422 ], [ %413, %412 ], [ %419, %418 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %439

439:                                              ; preds = %438, %410
  %.pn453.pn = phi { ptr, i32 } [ %.pn453, %438 ], [ %411, %410 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  br label %983

440:                                              ; preds = %.critedge527
  %441 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #6
  br label %469

442:                                              ; preds = %450, %445
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %468

444:                                              ; preds = %426
  %.old581 = fcmp olt x86_fp80 %432, 0xK3FD78CBCCC096F508800
  br i1 %.old581, label %450, label %445

445:                                              ; preds = %434, %444
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %446 unwind label %442

446:                                              ; preds = %445
  %447 = 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 %447, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %427, x86_fp80 noundef 0xK40039000000000000000, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK3FFDE0216CD933A6F800)
          to label %.critedge529 unwind label %448

448:                                              ; preds = %446
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %468

450:                                              ; preds = %434, %444
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %451 unwind label %442

451:                                              ; preds = %450
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %46, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %427, x86_fp80 noundef %432, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK3FFDE0216CD933A6F800)
          to label %.critedge529 unwind label %452

452:                                              ; preds = %451
  %453 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %468

.critedge529:                                     ; preds = %451, %446
  %.sink624 = phi ptr [ %45, %446 ], [ %46, %451 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink624) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  %454 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %455 = add nsw i32 %454, 1
  store i32 %455, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #6
  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 %456 unwind label %470

456:                                              ; preds = %.critedge529
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #6
  %457 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK3FFDE0F8117955C6E000) #6
  %458 = fadd x86_fp80 %457, 0xKC0039800000000000000
  %459 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %458)
  %460 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40039800000000000000)
  %461 = fadd x86_fp80 %460, 0xK3FFF8000000000000000
  %462 = fdiv x86_fp80 %459, %461
  %463 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %457)
  br i1 %463, label %474, label %464

464:                                              ; preds = %456
  %465 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %457)
  %466 = fcmp oeq x86_fp80 %457, 0xK40039800000000000000
  %or.cond21 = and i1 %466, %465
  %467 = fcmp olt x86_fp80 %462, 0xK3FD78CBCCC096F508800
  %or.cond584 = or i1 %467, %or.cond21
  br i1 %or.cond584, label %480, label %475

468:                                              ; preds = %452, %448, %442
  %.pn456 = phi { ptr, i32 } [ %453, %452 ], [ %443, %442 ], [ %449, %448 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %469

469:                                              ; preds = %468, %440
  %.pn456.pn = phi { ptr, i32 } [ %.pn456, %468 ], [ %441, %440 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  br label %983

470:                                              ; preds = %.critedge529
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #6
  br label %499

472:                                              ; preds = %480, %475
  %473 = landingpad { ptr, i32 }
          cleanup
  br label %498

474:                                              ; preds = %456
  %.old583 = fcmp olt x86_fp80 %462, 0xK3FD78CBCCC096F508800
  br i1 %.old583, label %480, label %475

475:                                              ; preds = %464, %474
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %476 unwind label %472

476:                                              ; preds = %475
  %477 = 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 %477, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %457, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK3FFDE0F8117955C6E000)
          to label %.critedge531 unwind label %478

478:                                              ; preds = %476
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %498

480:                                              ; preds = %464, %474
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %481 unwind label %472

481:                                              ; preds = %480
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %50, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %457, x86_fp80 noundef %462, x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK3FFDE0F8117955C6E000)
          to label %.critedge531 unwind label %482

482:                                              ; preds = %481
  %483 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %498

.critedge531:                                     ; preds = %481, %476
  %.sink625 = phi ptr [ %49, %476 ], [ %50, %481 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink625) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  %484 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %485 = add nsw i32 %484, 1
  store i32 %485, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  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 %486 unwind label %500

486:                                              ; preds = %.critedge531
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #6
  %487 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK3FFE95C5561570411000) #6
  %488 = fadd x86_fp80 %487, 0xKC0049C00000000000000
  %489 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %488)
  %490 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40049C00000000000000)
  %491 = fadd x86_fp80 %490, 0xK3FFF8000000000000000
  %492 = fdiv x86_fp80 %489, %491
  %493 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %487)
  br i1 %493, label %504, label %494

494:                                              ; preds = %486
  %495 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %487)
  %496 = fcmp oeq x86_fp80 %487, 0xK40049C00000000000000
  %or.cond23 = and i1 %496, %495
  %497 = fcmp olt x86_fp80 %492, 0xK3FD78CBCCC096F508800
  %or.cond586 = or i1 %497, %or.cond23
  br i1 %or.cond586, label %510, label %505

498:                                              ; preds = %482, %478, %472
  %.pn459 = phi { ptr, i32 } [ %483, %482 ], [ %473, %472 ], [ %479, %478 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %499

499:                                              ; preds = %498, %470
  %.pn459.pn = phi { ptr, i32 } [ %.pn459, %498 ], [ %471, %470 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  br label %983

500:                                              ; preds = %.critedge531
  %501 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #6
  br label %529

502:                                              ; preds = %510, %505
  %503 = landingpad { ptr, i32 }
          cleanup
  br label %528

504:                                              ; preds = %486
  %.old585 = fcmp olt x86_fp80 %492, 0xK3FD78CBCCC096F508800
  br i1 %.old585, label %510, label %505

505:                                              ; preds = %494, %504
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %506 unwind label %502

506:                                              ; preds = %505
  %507 = 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 %507, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %487, x86_fp80 noundef 0xK40049C00000000000000, x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK3FFE95C5561570411000)
          to label %.critedge533 unwind label %508

508:                                              ; preds = %506
  %509 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %528

510:                                              ; preds = %494, %504
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %511 unwind label %502

511:                                              ; preds = %510
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %54, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %487, x86_fp80 noundef %492, x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK3FFE95C5561570411000)
          to label %.critedge533 unwind label %512

512:                                              ; preds = %511
  %513 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %528

.critedge533:                                     ; preds = %511, %506
  %.sink626 = phi ptr [ %53, %506 ], [ %54, %511 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink626) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  %514 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %515 = add nsw i32 %514, 1
  store i32 %515, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %516 unwind label %530

516:                                              ; preds = %.critedge533
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #6
  %517 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800) #6
  %518 = fadd x86_fp80 %517, 0xKC004DC00000000000000
  %519 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %518)
  %520 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4004DC00000000000000)
  %521 = fadd x86_fp80 %520, 0xK3FFF8000000000000000
  %522 = fdiv x86_fp80 %519, %521
  %523 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %517)
  br i1 %523, label %534, label %524

524:                                              ; preds = %516
  %525 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %517)
  %526 = fcmp oeq x86_fp80 %517, 0xK4004DC00000000000000
  %or.cond25 = and i1 %526, %525
  %527 = fcmp olt x86_fp80 %522, 0xK3FD78CBCCC096F508800
  %or.cond588 = or i1 %527, %or.cond25
  br i1 %or.cond588, label %540, label %535

528:                                              ; preds = %512, %508, %502
  %.pn462 = phi { ptr, i32 } [ %513, %512 ], [ %503, %502 ], [ %509, %508 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %529

529:                                              ; preds = %528, %500
  %.pn462.pn = phi { ptr, i32 } [ %.pn462, %528 ], [ %501, %500 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %983

530:                                              ; preds = %.critedge533
  %531 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #6
  br label %559

532:                                              ; preds = %540, %535
  %533 = landingpad { ptr, i32 }
          cleanup
  br label %558

534:                                              ; preds = %516
  %.old587 = fcmp olt x86_fp80 %522, 0xK3FD78CBCCC096F508800
  br i1 %.old587, label %540, label %535

535:                                              ; preds = %524, %534
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %536 unwind label %532

536:                                              ; preds = %535
  %537 = 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 %537, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %517, x86_fp80 noundef 0xK4004DC00000000000000, x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800)
          to label %.critedge535 unwind label %538

538:                                              ; preds = %536
  %539 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %558

540:                                              ; preds = %524, %534
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %541 unwind label %532

541:                                              ; preds = %540
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %58, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %517, x86_fp80 noundef %522, x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800)
          to label %.critedge535 unwind label %542

542:                                              ; preds = %541
  %543 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %558

.critedge535:                                     ; preds = %541, %536
  %.sink627 = phi ptr [ %57, %536 ], [ %58, %541 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink627) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  %544 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %545 = add nsw i32 %544, 1
  store i32 %545, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %546 unwind label %560

546:                                              ; preds = %.critedge535
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #6
  %547 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK3FFE8DAD68EBAB941000) #6
  %548 = fadd x86_fp80 %547, 0xKC005C600000000000000
  %549 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %548)
  %550 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4005C600000000000000)
  %551 = fadd x86_fp80 %550, 0xK3FFF8000000000000000
  %552 = fdiv x86_fp80 %549, %551
  %553 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %547)
  br i1 %553, label %564, label %554

554:                                              ; preds = %546
  %555 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %547)
  %556 = fcmp oeq x86_fp80 %547, 0xK4005C600000000000000
  %or.cond27 = and i1 %556, %555
  %557 = fcmp olt x86_fp80 %552, 0xK3FD78CBCCC096F508800
  %or.cond590 = or i1 %557, %or.cond27
  br i1 %or.cond590, label %570, label %565

558:                                              ; preds = %542, %538, %532
  %.pn465 = phi { ptr, i32 } [ %543, %542 ], [ %533, %532 ], [ %539, %538 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %559

559:                                              ; preds = %558, %530
  %.pn465.pn = phi { ptr, i32 } [ %.pn465, %558 ], [ %531, %530 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  br label %983

560:                                              ; preds = %.critedge535
  %561 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #6
  br label %589

562:                                              ; preds = %570, %565
  %563 = landingpad { ptr, i32 }
          cleanup
  br label %588

564:                                              ; preds = %546
  %.old589 = fcmp olt x86_fp80 %552, 0xK3FD78CBCCC096F508800
  br i1 %.old589, label %570, label %565

565:                                              ; preds = %554, %564
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %566 unwind label %562

566:                                              ; preds = %565
  %567 = 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 %567, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %547, x86_fp80 noundef 0xK4005C600000000000000, x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK3FFE8DAD68EBAB941000)
          to label %.critedge537 unwind label %568

568:                                              ; preds = %566
  %569 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %588

570:                                              ; preds = %554, %564
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %571 unwind label %562

571:                                              ; preds = %570
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %62, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %547, x86_fp80 noundef %552, x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK3FFE8DAD68EBAB941000)
          to label %.critedge537 unwind label %572

572:                                              ; preds = %571
  %573 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %588

.critedge537:                                     ; preds = %571, %566
  %.sink628 = phi ptr [ %61, %566 ], [ %62, %571 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink628) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  %574 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %575 = add nsw i32 %574, 1
  store i32 %575, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %576 unwind label %590

576:                                              ; preds = %.critedge537
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #6
  %577 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK3FFDF277AC8D5687B800) #6
  %578 = fadd x86_fp80 %577, 0xKC005CA00000000000000
  %579 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %578)
  %580 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4005CA00000000000000)
  %581 = fadd x86_fp80 %580, 0xK3FFF8000000000000000
  %582 = fdiv x86_fp80 %579, %581
  %583 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %577)
  br i1 %583, label %594, label %584

584:                                              ; preds = %576
  %585 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %577)
  %586 = fcmp oeq x86_fp80 %577, 0xK4005CA00000000000000
  %or.cond29 = and i1 %586, %585
  %587 = fcmp olt x86_fp80 %582, 0xK3FD78CBCCC096F508800
  %or.cond592 = or i1 %587, %or.cond29
  br i1 %or.cond592, label %600, label %595

588:                                              ; preds = %572, %568, %562
  %.pn468 = phi { ptr, i32 } [ %573, %572 ], [ %563, %562 ], [ %569, %568 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %589

589:                                              ; preds = %588, %560
  %.pn468.pn = phi { ptr, i32 } [ %.pn468, %588 ], [ %561, %560 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  br label %983

590:                                              ; preds = %.critedge537
  %591 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #6
  br label %619

592:                                              ; preds = %600, %595
  %593 = landingpad { ptr, i32 }
          cleanup
  br label %618

594:                                              ; preds = %576
  %.old591 = fcmp olt x86_fp80 %582, 0xK3FD78CBCCC096F508800
  br i1 %.old591, label %600, label %595

595:                                              ; preds = %584, %594
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %596 unwind label %592

596:                                              ; preds = %595
  %597 = 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 %597, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %577, x86_fp80 noundef 0xK4005CA00000000000000, x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK3FFDF277AC8D5687B800)
          to label %.critedge539 unwind label %598

598:                                              ; preds = %596
  %599 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %618

600:                                              ; preds = %584, %594
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %601 unwind label %592

601:                                              ; preds = %600
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %66, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %577, x86_fp80 noundef %582, x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK3FFDF277AC8D5687B800)
          to label %.critedge539 unwind label %602

602:                                              ; preds = %601
  %603 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %618

.critedge539:                                     ; preds = %601, %596
  %.sink629 = phi ptr [ %65, %596 ], [ %66, %601 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink629) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  %604 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %605 = add nsw i32 %604, 1
  store i32 %605, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %606 unwind label %620

606:                                              ; preds = %.critedge539
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  %607 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK3FFDF81A14D32F2BC000) #6
  %608 = fadd x86_fp80 %607, 0xKC0079480000000000000
  %609 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %608)
  %610 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40079480000000000000)
  %611 = fadd x86_fp80 %610, 0xK3FFF8000000000000000
  %612 = fdiv x86_fp80 %609, %611
  %613 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %607)
  br i1 %613, label %624, label %614

614:                                              ; preds = %606
  %615 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %607)
  %616 = fcmp oeq x86_fp80 %607, 0xK40079480000000000000
  %or.cond31 = and i1 %616, %615
  %617 = fcmp olt x86_fp80 %612, 0xK3FD78CBCCC096F508800
  %or.cond594 = or i1 %617, %or.cond31
  br i1 %or.cond594, label %630, label %625

618:                                              ; preds = %602, %598, %592
  %.pn471 = phi { ptr, i32 } [ %603, %602 ], [ %593, %592 ], [ %599, %598 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %619

619:                                              ; preds = %618, %590
  %.pn471.pn = phi { ptr, i32 } [ %.pn471, %618 ], [ %591, %590 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  br label %983

620:                                              ; preds = %.critedge539
  %621 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  br label %649

622:                                              ; preds = %630, %625
  %623 = landingpad { ptr, i32 }
          cleanup
  br label %648

624:                                              ; preds = %606
  %.old593 = fcmp olt x86_fp80 %612, 0xK3FD78CBCCC096F508800
  br i1 %.old593, label %630, label %625

625:                                              ; preds = %614, %624
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %626 unwind label %622

626:                                              ; preds = %625
  %627 = 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 %627, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %607, x86_fp80 noundef 0xK40079480000000000000, x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK3FFDF81A14D32F2BC000)
          to label %.critedge541 unwind label %628

628:                                              ; preds = %626
  %629 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %648

630:                                              ; preds = %614, %624
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %631 unwind label %622

631:                                              ; preds = %630
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %70, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %607, x86_fp80 noundef %612, x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK3FFDF81A14D32F2BC000)
          to label %.critedge541 unwind label %632

632:                                              ; preds = %631
  %633 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %648

.critedge541:                                     ; preds = %631, %626
  %.sink630 = phi ptr [ %69, %626 ], [ %70, %631 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink630) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  %634 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %635 = add nsw i32 %634, 1
  store i32 %635, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %636 unwind label %650

636:                                              ; preds = %.critedge541
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #6
  %637 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK3FFDF8278CAA5B211800) #6
  %638 = fadd x86_fp80 %637, 0xKC0079680000000000000
  %639 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %638)
  %640 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK40079680000000000000)
  %641 = fadd x86_fp80 %640, 0xK3FFF8000000000000000
  %642 = fdiv x86_fp80 %639, %641
  %643 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %637)
  br i1 %643, label %654, label %644

644:                                              ; preds = %636
  %645 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %637)
  %646 = fcmp oeq x86_fp80 %637, 0xK40079680000000000000
  %or.cond33 = and i1 %646, %645
  %647 = fcmp olt x86_fp80 %642, 0xK3FD78CBCCC096F508800
  %or.cond596 = or i1 %647, %or.cond33
  br i1 %or.cond596, label %660, label %655

648:                                              ; preds = %632, %628, %622
  %.pn474 = phi { ptr, i32 } [ %633, %632 ], [ %623, %622 ], [ %629, %628 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %649

649:                                              ; preds = %648, %620
  %.pn474.pn = phi { ptr, i32 } [ %.pn474, %648 ], [ %621, %620 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  br label %983

650:                                              ; preds = %.critedge541
  %651 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #6
  br label %679

652:                                              ; preds = %660, %655
  %653 = landingpad { ptr, i32 }
          cleanup
  br label %678

654:                                              ; preds = %636
  %.old595 = fcmp olt x86_fp80 %642, 0xK3FD78CBCCC096F508800
  br i1 %.old595, label %660, label %655

655:                                              ; preds = %644, %654
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %656 unwind label %652

656:                                              ; preds = %655
  %657 = 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 %657, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %637, x86_fp80 noundef 0xK40079680000000000000, x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK3FFDF8278CAA5B211800)
          to label %.critedge543 unwind label %658

658:                                              ; preds = %656
  %659 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %678

660:                                              ; preds = %644, %654
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %661 unwind label %652

661:                                              ; preds = %660
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %74, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %637, x86_fp80 noundef %642, x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK3FFDF8278CAA5B211800)
          to label %.critedge543 unwind label %662

662:                                              ; preds = %661
  %663 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %678

.critedge543:                                     ; preds = %661, %656
  %.sink631 = phi ptr [ %73, %656 ], [ %74, %661 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink631) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  %664 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %665 = add nsw i32 %664, 1
  store i32 %665, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  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 %666 unwind label %680

666:                                              ; preds = %.critedge543
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #6
  %667 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000) #6
  %668 = fadd x86_fp80 %667, 0xKC007F880000000000000
  %669 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %668)
  %670 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4007F880000000000000)
  %671 = fadd x86_fp80 %670, 0xK3FFF8000000000000000
  %672 = fdiv x86_fp80 %669, %671
  %673 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %667)
  br i1 %673, label %684, label %674

674:                                              ; preds = %666
  %675 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %667)
  %676 = fcmp oeq x86_fp80 %667, 0xK4007F880000000000000
  %or.cond35 = and i1 %676, %675
  %677 = fcmp olt x86_fp80 %672, 0xK3FD78CBCCC096F508800
  %or.cond598 = or i1 %677, %or.cond35
  br i1 %or.cond598, label %690, label %685

678:                                              ; preds = %662, %658, %652
  %.pn477 = phi { ptr, i32 } [ %663, %662 ], [ %653, %652 ], [ %659, %658 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %679

679:                                              ; preds = %678, %650
  %.pn477.pn = phi { ptr, i32 } [ %.pn477, %678 ], [ %651, %650 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  br label %983

680:                                              ; preds = %.critedge543
  %681 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #6
  br label %709

682:                                              ; preds = %690, %685
  %683 = landingpad { ptr, i32 }
          cleanup
  br label %708

684:                                              ; preds = %666
  %.old597 = fcmp olt x86_fp80 %672, 0xK3FD78CBCCC096F508800
  br i1 %.old597, label %690, label %685

685:                                              ; preds = %674, %684
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %686 unwind label %682

686:                                              ; preds = %685
  %687 = 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 %687, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %667, x86_fp80 noundef 0xK4007F880000000000000, x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000)
          to label %.critedge545 unwind label %688

688:                                              ; preds = %686
  %689 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %708

690:                                              ; preds = %674, %684
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %691 unwind label %682

691:                                              ; preds = %690
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %78, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %667, x86_fp80 noundef %672, x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000)
          to label %.critedge545 unwind label %692

692:                                              ; preds = %691
  %693 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  br label %708

.critedge545:                                     ; preds = %691, %686
  %.sink632 = phi ptr [ %77, %686 ], [ %78, %691 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink632) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  %694 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %695 = add nsw i32 %694, 1
  store i32 %695, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %696 unwind label %710

696:                                              ; preds = %.critedge545
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  %697 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK3FFDF9EAF65D555B4800) #6
  %698 = fadd x86_fp80 %697, 0xKC007FA80000000000000
  %699 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %698)
  %700 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4007FA80000000000000)
  %701 = fadd x86_fp80 %700, 0xK3FFF8000000000000000
  %702 = fdiv x86_fp80 %699, %701
  %703 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %697)
  br i1 %703, label %714, label %704

704:                                              ; preds = %696
  %705 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %697)
  %706 = fcmp oeq x86_fp80 %697, 0xK4007FA80000000000000
  %or.cond37 = and i1 %706, %705
  %707 = fcmp olt x86_fp80 %702, 0xK3FD78CBCCC096F508800
  %or.cond600 = or i1 %707, %or.cond37
  br i1 %or.cond600, label %720, label %715

708:                                              ; preds = %692, %688, %682
  %.pn480 = phi { ptr, i32 } [ %693, %692 ], [ %683, %682 ], [ %689, %688 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %709

709:                                              ; preds = %708, %680
  %.pn480.pn = phi { ptr, i32 } [ %.pn480, %708 ], [ %681, %680 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  br label %983

710:                                              ; preds = %.critedge545
  %711 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  br label %739

712:                                              ; preds = %720, %715
  %713 = landingpad { ptr, i32 }
          cleanup
  br label %738

714:                                              ; preds = %696
  %.old599 = fcmp olt x86_fp80 %702, 0xK3FD78CBCCC096F508800
  br i1 %.old599, label %720, label %715

715:                                              ; preds = %704, %714
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %716 unwind label %712

716:                                              ; preds = %715
  %717 = 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 %717, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %697, x86_fp80 noundef 0xK4007FA80000000000000, x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK3FFDF9EAF65D555B4800)
          to label %.critedge547 unwind label %718

718:                                              ; preds = %716
  %719 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %738

720:                                              ; preds = %704, %714
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %721 unwind label %712

721:                                              ; preds = %720
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %82, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %697, x86_fp80 noundef %702, x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK3FFDF9EAF65D555B4800)
          to label %.critedge547 unwind label %722

722:                                              ; preds = %721
  %723 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %738

.critedge547:                                     ; preds = %721, %716
  %.sink633 = phi ptr [ %81, %716 ], [ %82, %721 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink633) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  %724 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %725 = add nsw i32 %724, 1
  store i32 %725, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  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 %726 unwind label %740

726:                                              ; preds = %.critedge547
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #6
  %727 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK3FFE84D12AEB6F94E800) #6
  %728 = fadd x86_fp80 %727, 0xKC008C7C0000000000000
  %729 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %728)
  %730 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4008C7C0000000000000)
  %731 = fadd x86_fp80 %730, 0xK3FFF8000000000000000
  %732 = fdiv x86_fp80 %729, %731
  %733 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %727)
  br i1 %733, label %744, label %734

734:                                              ; preds = %726
  %735 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %727)
  %736 = fcmp oeq x86_fp80 %727, 0xK4008C7C0000000000000
  %or.cond39 = and i1 %736, %735
  %737 = fcmp olt x86_fp80 %732, 0xK3FD78CBCCC096F508800
  %or.cond602 = or i1 %737, %or.cond39
  br i1 %or.cond602, label %750, label %745

738:                                              ; preds = %722, %718, %712
  %.pn483 = phi { ptr, i32 } [ %723, %722 ], [ %713, %712 ], [ %719, %718 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %739

739:                                              ; preds = %738, %710
  %.pn483.pn = phi { ptr, i32 } [ %.pn483, %738 ], [ %711, %710 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br label %983

740:                                              ; preds = %.critedge547
  %741 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #6
  br label %769

742:                                              ; preds = %750, %745
  %743 = landingpad { ptr, i32 }
          cleanup
  br label %768

744:                                              ; preds = %726
  %.old601 = fcmp olt x86_fp80 %732, 0xK3FD78CBCCC096F508800
  br i1 %.old601, label %750, label %745

745:                                              ; preds = %734, %744
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %746 unwind label %742

746:                                              ; preds = %745
  %747 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %85, i32 noundef %747, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %727, x86_fp80 noundef 0xK4008C7C0000000000000, x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK3FFE84D12AEB6F94E800)
          to label %.critedge549 unwind label %748

748:                                              ; preds = %746
  %749 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %768

750:                                              ; preds = %734, %744
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %751 unwind label %742

751:                                              ; preds = %750
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %86, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %727, x86_fp80 noundef %732, x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK3FFE84D12AEB6F94E800)
          to label %.critedge549 unwind label %752

752:                                              ; preds = %751
  %753 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %768

.critedge549:                                     ; preds = %751, %746
  %.sink634 = phi ptr [ %85, %746 ], [ %86, %751 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink634) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  %754 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %755 = add nsw i32 %754, 1
  store i32 %755, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  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 %756 unwind label %770

756:                                              ; preds = %.critedge549
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #6
  %757 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000) #6
  %758 = fadd x86_fp80 %757, 0xKC008C800000000000000
  %759 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %758)
  %760 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4008C800000000000000)
  %761 = fadd x86_fp80 %760, 0xK3FFF8000000000000000
  %762 = fdiv x86_fp80 %759, %761
  %763 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %757)
  br i1 %763, label %774, label %764

764:                                              ; preds = %756
  %765 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %757)
  %766 = fcmp oeq x86_fp80 %757, 0xK4008C800000000000000
  %or.cond41 = and i1 %766, %765
  %767 = fcmp olt x86_fp80 %762, 0xK3FD78CBCCC096F508800
  %or.cond604 = or i1 %767, %or.cond41
  br i1 %or.cond604, label %780, label %775

768:                                              ; preds = %752, %748, %742
  %.pn486 = phi { ptr, i32 } [ %753, %752 ], [ %743, %742 ], [ %749, %748 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %769

769:                                              ; preds = %768, %740
  %.pn486.pn = phi { ptr, i32 } [ %.pn486, %768 ], [ %741, %740 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  br label %983

770:                                              ; preds = %.critedge549
  %771 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #6
  br label %799

772:                                              ; preds = %780, %775
  %773 = landingpad { ptr, i32 }
          cleanup
  br label %798

774:                                              ; preds = %756
  %.old603 = fcmp olt x86_fp80 %762, 0xK3FD78CBCCC096F508800
  br i1 %.old603, label %780, label %775

775:                                              ; preds = %764, %774
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %776 unwind label %772

776:                                              ; preds = %775
  %777 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %89, i32 noundef %777, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %757, x86_fp80 noundef 0xK4008C800000000000000, x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000)
          to label %.critedge551 unwind label %778

778:                                              ; preds = %776
  %779 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %798

780:                                              ; preds = %764, %774
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %781 unwind label %772

781:                                              ; preds = %780
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %90, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %757, x86_fp80 noundef %762, x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000)
          to label %.critedge551 unwind label %782

782:                                              ; preds = %781
  %783 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  br label %798

.critedge551:                                     ; preds = %781, %776
  %.sink635 = phi ptr [ %89, %776 ], [ %90, %781 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink635) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  %784 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %785 = add nsw i32 %784, 1
  store i32 %785, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %92) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  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 %786 unwind label %800

786:                                              ; preds = %.critedge551
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #6
  %787 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK3FFE8789278472004800) #6
  %788 = fadd x86_fp80 %787, 0xKC008F9C0000000000000
  %789 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %788)
  %790 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4008F9C0000000000000)
  %791 = fadd x86_fp80 %790, 0xK3FFF8000000000000000
  %792 = fdiv x86_fp80 %789, %791
  %793 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %787)
  br i1 %793, label %804, label %794

794:                                              ; preds = %786
  %795 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %787)
  %796 = fcmp oeq x86_fp80 %787, 0xK4008F9C0000000000000
  %or.cond43 = and i1 %796, %795
  %797 = fcmp olt x86_fp80 %792, 0xK3FD78CBCCC096F508800
  %or.cond606 = or i1 %797, %or.cond43
  br i1 %or.cond606, label %810, label %805

798:                                              ; preds = %782, %778, %772
  %.pn489 = phi { ptr, i32 } [ %783, %782 ], [ %773, %772 ], [ %779, %778 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br label %799

799:                                              ; preds = %798, %770
  %.pn489.pn = phi { ptr, i32 } [ %.pn489, %798 ], [ %771, %770 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  br label %983

800:                                              ; preds = %.critedge551
  %801 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #6
  br label %829

802:                                              ; preds = %810, %805
  %803 = landingpad { ptr, i32 }
          cleanup
  br label %828

804:                                              ; preds = %786
  %.old605 = fcmp olt x86_fp80 %792, 0xK3FD78CBCCC096F508800
  br i1 %.old605, label %810, label %805

805:                                              ; preds = %794, %804
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %806 unwind label %802

806:                                              ; preds = %805
  %807 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %93, i32 noundef %807, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %787, x86_fp80 noundef 0xK4008F9C0000000000000, x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK3FFE8789278472004800)
          to label %.critedge553 unwind label %808

808:                                              ; preds = %806
  %809 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br label %828

810:                                              ; preds = %794, %804
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %811 unwind label %802

811:                                              ; preds = %810
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %94, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %787, x86_fp80 noundef %792, x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK3FFE8789278472004800)
          to label %.critedge553 unwind label %812

812:                                              ; preds = %811
  %813 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %828

.critedge553:                                     ; preds = %811, %806
  %.sink636 = phi ptr [ %93, %806 ], [ %94, %811 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink636) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  %814 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %815 = add nsw i32 %814, 1
  store i32 %815, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %96) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  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 %816 unwind label %830

816:                                              ; preds = %.critedge553
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #6
  %817 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK3FFDE864FBE9D964C800) #6
  %818 = fadd x86_fp80 %817, 0xKC008FA40000000000000
  %819 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %818)
  %820 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK4008FA40000000000000)
  %821 = fadd x86_fp80 %820, 0xK3FFF8000000000000000
  %822 = fdiv x86_fp80 %819, %821
  %823 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %817)
  br i1 %823, label %834, label %824

824:                                              ; preds = %816
  %825 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %817)
  %826 = fcmp oeq x86_fp80 %817, 0xK4008FA40000000000000
  %or.cond45 = and i1 %826, %825
  %827 = fcmp olt x86_fp80 %822, 0xK3FD78CBCCC096F508800
  %or.cond608 = or i1 %827, %or.cond45
  br i1 %or.cond608, label %840, label %835

828:                                              ; preds = %812, %808, %802
  %.pn492 = phi { ptr, i32 } [ %813, %812 ], [ %803, %802 ], [ %809, %808 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %829

829:                                              ; preds = %828, %800
  %.pn492.pn = phi { ptr, i32 } [ %.pn492, %828 ], [ %801, %800 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  br label %983

830:                                              ; preds = %.critedge553
  %831 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #6
  br label %860

832:                                              ; preds = %840, %835
  %833 = landingpad { ptr, i32 }
          cleanup
  br label %859

834:                                              ; preds = %816
  %.old607 = fcmp olt x86_fp80 %822, 0xK3FD78CBCCC096F508800
  br i1 %.old607, label %840, label %835

835:                                              ; preds = %824, %834
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %836 unwind label %832

836:                                              ; preds = %835
  %837 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %97, i32 noundef %837, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %817, x86_fp80 noundef 0xK4008FA40000000000000, x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK3FFDE864FBE9D964C800)
          to label %.critedge555 unwind label %838

838:                                              ; preds = %836
  %839 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %859

840:                                              ; preds = %824, %834
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %841 unwind label %832

841:                                              ; preds = %840
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %98, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %817, x86_fp80 noundef %822, x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK3FFDE864FBE9D964C800)
          to label %.critedge555 unwind label %842

842:                                              ; preds = %841
  %843 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %859

.critedge555:                                     ; preds = %841, %836
  %.sink637 = phi ptr [ %97, %836 ], [ %98, %841 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink637) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  %844 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %845 = add nsw i32 %844, 1
  store i32 %845, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %100) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  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 %846 unwind label %861

846:                                              ; preds = %.critedge555
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #6
  %847 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %848 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %849 = call noundef double @_ZN4gcem20incomplete_gamma_invIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %847, double noundef %848) #6
  %850 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %851 = fsub double %849, %850
  %852 = call noundef double @_ZSt3absd(double noundef %851)
  %853 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %854 = call noundef double @_ZSt3absd(double noundef %853)
  %855 = fadd double %854, 1.000000e+00
  %856 = fdiv double %852, %855
  %857 = fpext double %849 to x86_fp80
  %858 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %857)
  br i1 %858, label %882, label %865

859:                                              ; preds = %842, %838, %832
  %.pn495 = phi { ptr, i32 } [ %843, %842 ], [ %833, %832 ], [ %839, %838 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %860

860:                                              ; preds = %859, %830
  %.pn495.pn = phi { ptr, i32 } [ %.pn495, %859 ], [ %831, %830 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  br label %983

861:                                              ; preds = %.critedge555
  %862 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #6
  br label %904

863:                                              ; preds = %882, %874
  %864 = landingpad { ptr, i32 }
          cleanup
  br label %903

865:                                              ; preds = %846
  %866 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %857)
  br i1 %866, label %873, label %867

867:                                              ; preds = %865
  %868 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %857)
  br i1 %868, label %869, label %873

869:                                              ; preds = %867
  %870 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %871 = fcmp oeq double %849, %870
  %872 = fcmp olt double %856, 0x3D719799812DEA11
  %or.cond610 = or i1 %872, %871
  br i1 %or.cond610, label %882, label %874

873:                                              ; preds = %867, %865
  %.old609 = fcmp olt double %856, 0x3D719799812DEA11
  br i1 %.old609, label %882, label %874

874:                                              ; preds = %869, %873
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %875 unwind label %863

875:                                              ; preds = %874
  %876 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %877 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %878 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %879 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %101, i32 noundef %876, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %849, double noundef %877, double noundef %878, double noundef %879)
          to label %.critedge557 unwind label %880

880:                                              ; preds = %875
  %881 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %903

882:                                              ; preds = %846, %869, %873
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %883 unwind label %863

883:                                              ; preds = %882
  %884 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %885 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %102, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %849, double noundef %856, double noundef %884, double noundef %885)
          to label %.critedge557 unwind label %886

886:                                              ; preds = %883
  %887 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %903

.critedge557:                                     ; preds = %883, %875
  %.sink638 = phi ptr [ %101, %875 ], [ %102, %883 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink638) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #6
  %888 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %889 = add nsw i32 %888, 1
  store i32 %889, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %104) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %890 unwind label %905

890:                                              ; preds = %.critedge557
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #6
  %891 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %892 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %891, x86_fp80 noundef 0xK3FFE8000000000000000) #6
  %893 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %894 = fpext double %893 to x86_fp80
  %895 = fsub x86_fp80 %892, %894
  %896 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %895)
  %897 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %898 = call noundef double @_ZSt3absd(double noundef %897)
  %899 = fadd double %898, 1.000000e+00
  %900 = fpext double %899 to x86_fp80
  %901 = fdiv x86_fp80 %896, %900
  %902 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %892)
  br i1 %902, label %926, label %909

903:                                              ; preds = %886, %880, %863
  %.pn498 = phi { ptr, i32 } [ %887, %886 ], [ %864, %863 ], [ %881, %880 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %904

904:                                              ; preds = %903, %861
  %.pn498.pn = phi { ptr, i32 } [ %.pn498, %903 ], [ %862, %861 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #6
  br label %983

905:                                              ; preds = %.critedge557
  %906 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #6
  br label %947

907:                                              ; preds = %926, %919
  %908 = landingpad { ptr, i32 }
          cleanup
  br label %946

909:                                              ; preds = %890
  %910 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %892)
  br i1 %910, label %918, label %911

911:                                              ; preds = %909
  %912 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %892)
  br i1 %912, label %913, label %918

913:                                              ; preds = %911
  %914 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %915 = fpext double %914 to x86_fp80
  %916 = fcmp oeq x86_fp80 %892, %915
  %917 = fcmp olt x86_fp80 %901, 0xK3FD78CBCCC096F508800
  %or.cond612 = or i1 %917, %916
  br i1 %or.cond612, label %926, label %919

918:                                              ; preds = %911, %909
  %.old611 = fcmp olt x86_fp80 %901, 0xK3FD78CBCCC096F508800
  br i1 %.old611, label %926, label %919

919:                                              ; preds = %913, %918
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %920 unwind label %907

920:                                              ; preds = %919
  %921 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %922 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %923 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIeddeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %105, i32 noundef %921, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %892, double noundef %922, double noundef %923, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %.critedge559 unwind label %924

924:                                              ; preds = %920
  %925 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  br label %946

926:                                              ; preds = %890, %913, %918
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %927 unwind label %907

927:                                              ; preds = %926
  %928 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %106, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %892, x86_fp80 noundef %901, double noundef %928, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %.critedge559 unwind label %929

929:                                              ; preds = %927
  %930 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  br label %946

.critedge559:                                     ; preds = %927, %920
  %.sink639 = phi ptr [ %105, %920 ], [ %106, %927 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink639) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  %931 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %932 = add nsw i32 %931, 1
  store i32 %932, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %108) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  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 %933 unwind label %948

933:                                              ; preds = %.critedge559
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #6
  %934 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %935 = call noundef x86_fp80 @_ZN4gcem20incomplete_gamma_invIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, double noundef %934) #6
  %936 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %937 = fpext double %936 to x86_fp80
  %938 = fsub x86_fp80 %935, %937
  %939 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %938)
  %940 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %941 = call noundef double @_ZSt3absd(double noundef %940)
  %942 = fadd double %941, 1.000000e+00
  %943 = fpext double %942 to x86_fp80
  %944 = fdiv x86_fp80 %939, %943
  %945 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %935)
  br i1 %945, label %969, label %952

946:                                              ; preds = %929, %924, %907
  %.pn501 = phi { ptr, i32 } [ %930, %929 ], [ %908, %907 ], [ %925, %924 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %947

947:                                              ; preds = %946, %905
  %.pn501.pn = phi { ptr, i32 } [ %.pn501, %946 ], [ %906, %905 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  br label %983

948:                                              ; preds = %.critedge559
  %949 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #6
  br label %977

950:                                              ; preds = %969, %962
  %951 = landingpad { ptr, i32 }
          cleanup
  br label %976

952:                                              ; preds = %933
  %953 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %935)
  br i1 %953, label %961, label %954

954:                                              ; preds = %952
  %955 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %935)
  br i1 %955, label %956, label %961

956:                                              ; preds = %954
  %957 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %958 = fpext double %957 to x86_fp80
  %959 = fcmp oeq x86_fp80 %935, %958
  %960 = fcmp olt x86_fp80 %944, 0xK3FD78CBCCC096F508800
  %or.cond614 = or i1 %960, %959
  br i1 %or.cond614, label %969, label %962

961:                                              ; preds = %954, %952
  %.old613 = fcmp olt x86_fp80 %944, 0xK3FD78CBCCC096F508800
  br i1 %.old613, label %969, label %962

962:                                              ; preds = %956, %961
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %963 unwind label %950

963:                                              ; preds = %962
  %964 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %965 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %966 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIededEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %109, i32 noundef %964, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %935, double noundef %965, x86_fp80 noundef 0xK40008000000000000000, double noundef %966)
          to label %.critedge561 unwind label %967

967:                                              ; preds = %963
  %968 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %976

969:                                              ; preds = %933, %956, %961
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %970 unwind label %950

970:                                              ; preds = %969
  %971 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %110, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %935, x86_fp80 noundef %944, x86_fp80 noundef 0xK40008000000000000000, double noundef %971)
          to label %.critedge561 unwind label %972

972:                                              ; preds = %970
  %973 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %976

.critedge561:                                     ; preds = %970, %963
  %.sink640 = phi ptr [ %109, %963 ], [ %110, %970 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink640) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %112) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %974 unwind label %978

974:                                              ; preds = %.critedge561
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %111)
          to label %975 unwind label %980

975:                                              ; preds = %974
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %112) #6
  ret i32 0

976:                                              ; preds = %972, %967, %950
  %.pn504 = phi { ptr, i32 } [ %973, %972 ], [ %951, %950 ], [ %968, %967 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %977

977:                                              ; preds = %976, %948
  %.pn504.pn = phi { ptr, i32 } [ %.pn504, %976 ], [ %949, %948 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #6
  br label %983

978:                                              ; preds = %.critedge561
  %979 = landingpad { ptr, i32 }
          cleanup
  br label %982

980:                                              ; preds = %974
  %981 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %982

982:                                              ; preds = %980, %978
  %.pn507 = phi { ptr, i32 } [ %981, %980 ], [ %979, %978 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %112) #6
  br label %983

983:                                              ; preds = %982, %977, %947, %904, %860, %829, %799, %769, %739, %709, %679, %649, %619, %589, %559, %529, %499, %469, %439, %409, %379, %349, %320, %290, %253, %223, %193, %163, %133
  %.pn507.pn = phi { ptr, i32 } [ %.pn507, %982 ], [ %.pn504.pn, %977 ], [ %.pn501.pn, %947 ], [ %.pn498.pn, %904 ], [ %.pn495.pn, %860 ], [ %.pn492.pn, %829 ], [ %.pn489.pn, %799 ], [ %.pn486.pn, %769 ], [ %.pn483.pn, %739 ], [ %.pn480.pn, %709 ], [ %.pn477.pn, %679 ], [ %.pn474.pn, %649 ], [ %.pn471.pn, %619 ], [ %.pn468.pn, %589 ], [ %.pn465.pn, %559 ], [ %.pn462.pn, %529 ], [ %.pn459.pn, %499 ], [ %.pn456.pn, %469 ], [ %.pn453.pn, %439 ], [ %.pn450.pn, %409 ], [ %.pn447.pn, %379 ], [ %.pn444.pn, %349 ], [ %.pn441.pn, %320 ], [ %.pn438.pn, %290 ], [ %.pn435.pn, %253 ], [ %.pn432.pn, %223 ], [ %.pn429.pn, %193 ], [ %.pn426.pn, %163 ], [ %.pn, %133 ]
  resume { ptr, i32 } %.pn507.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 @_ZN4gcem20incomplete_gamma_invIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_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 double @_ZNSt14numeric_limitsIdE8infinityEv() local_unnamed_addr #3 align 2

; 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_failIedeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, double noundef, x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZN4gcem20incomplete_gamma_invIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, double noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress 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 x86_fp80 @_ZN4gcem20incomplete_gamma_invIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef, x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeddeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, double 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 @_ZN4gcem20incomplete_gamma_invIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, double noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIededEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, double 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: 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 }

!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