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

; 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 [4 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [10 x i8], align 1

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

176:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2)
          to label %177 unwind label %206

177:                                              ; preds = %176
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #7
  %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 %6) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %180 unwind label %211

180:                                              ; preds = %177
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #7
  %181 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC000C000000000000000) #7
  store x86_fp80 %181, ptr %8, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #7
  %182 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC000C000000000000000)
          to label %183 unwind label %215

183:                                              ; preds = %180
  store x86_fp80 %182, ptr %9, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #7
  %184 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %185 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %186 = fsub x86_fp80 %184, %185
  %187 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %186)
          to label %188 unwind label %219

188:                                              ; preds = %183
  %189 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %190 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %189)
          to label %191 unwind label %219

191:                                              ; preds = %188
  %192 = fadd x86_fp80 0xK3FFF8000000000000000, %190
  %193 = fdiv x86_fp80 %187, %192
  store x86_fp80 %193, ptr %10, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #7
  store i8 0, ptr %11, align 1, !tbaa !11
  %194 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %195 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %194)
          to label %196 unwind label %223

196:                                              ; preds = %191
  br i1 %195, label %197, label %227

197:                                              ; preds = %196
  %198 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %199 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %198)
          to label %200 unwind label %223

200:                                              ; preds = %197
  br i1 %199, label %201, label %227

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

202:                                              ; preds = %0
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %4, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %5, align 4
  br label %210

206:                                              ; preds = %176
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %4, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  br label %210

210:                                              ; preds = %206, %202
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #7
  br label %2014

211:                                              ; preds = %177
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %4, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #7
  br label %296

215:                                              ; preds = %180
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %4, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %5, align 4
  br label %295

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

223:                                              ; preds = %259, %244, %231, %227, %197, %191
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %4, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %5, align 4
  br label %293

227:                                              ; preds = %200, %196
  %228 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %229 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %228)
          to label %230 unwind label %223

230:                                              ; preds = %227
  br i1 %229, label %240, label %231

231:                                              ; preds = %230
  %232 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %233 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %232)
          to label %234 unwind label %223

234:                                              ; preds = %231
  br i1 %233, label %235, label %240

235:                                              ; preds = %234
  %236 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %237 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %238 = fcmp oeq x86_fp80 %236, %237
  br i1 %238, label %239, label %240

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

240:                                              ; preds = %235, %234, %230
  %241 = load x86_fp80, ptr %10, align 16, !tbaa !9
  %242 = fcmp olt x86_fp80 %241, 0xK3FD78CBCCC096F508800
  br i1 %242, label %243, label %244

243:                                              ; preds = %240
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %254

244:                                              ; preds = %240
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %245 unwind label %223

245:                                              ; preds = %244
  %246 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %247 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %248 = load x86_fp80, ptr %9, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %12, i32 noundef %246, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %247, x86_fp80 noundef %248, x86_fp80 noundef 0xKC000C000000000000000)
          to label %249 unwind label %250

249:                                              ; preds = %245
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %254

250:                                              ; preds = %245
  %251 = landingpad { ptr, i32 }
          cleanup
  %252 = extractvalue { ptr, i32 } %251, 0
  store ptr %252, ptr %4, align 8
  %253 = extractvalue { ptr, i32 } %251, 1
  store i32 %253, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %293

254:                                              ; preds = %249, %243
  br label %255

255:                                              ; preds = %254, %239
  br label %256

256:                                              ; preds = %255, %201
  %257 = load i8, ptr %11, align 1, !tbaa !11, !range !13, !noundef !14
  %258 = trunc i8 %257 to i1
  br i1 %258, label %259, label %268

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

260:                                              ; preds = %259
  %261 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %262 = load x86_fp80, ptr %10, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %13, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %261, x86_fp80 noundef %262, x86_fp80 noundef 0xKC000C000000000000000)
          to label %263 unwind label %264

263:                                              ; preds = %260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %268

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

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

271:                                              ; preds = %268
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #7
  %272 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC000A000000000000000) #7
  store x86_fp80 %272, ptr %16, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #7
  %273 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC000A000000000000000)
          to label %274 unwind label %301

274:                                              ; preds = %271
  store x86_fp80 %273, ptr %17, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #7
  %275 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %276 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %277 = fsub x86_fp80 %275, %276
  %278 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %277)
          to label %279 unwind label %305

279:                                              ; preds = %274
  %280 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %281 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %280)
          to label %282 unwind label %305

282:                                              ; preds = %279
  %283 = fadd x86_fp80 0xK3FFF8000000000000000, %281
  %284 = fdiv x86_fp80 %278, %283
  store x86_fp80 %284, ptr %18, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #7
  store i8 0, ptr %19, align 1, !tbaa !11
  %285 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %286 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %285)
          to label %287 unwind label %309

287:                                              ; preds = %282
  br i1 %286, label %288, label %313

288:                                              ; preds = %287
  %289 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %290 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %289)
          to label %291 unwind label %309

291:                                              ; preds = %288
  br i1 %290, label %292, label %313

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

293:                                              ; preds = %264, %250, %223
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  br label %294

294:                                              ; preds = %293, %219
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  br label %295

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

296:                                              ; preds = %295, %211
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  br label %2014

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

301:                                              ; preds = %271
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %4, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %5, align 4
  br label %381

305:                                              ; preds = %279, %274
  %306 = landingpad { ptr, i32 }
          cleanup
  %307 = extractvalue { ptr, i32 } %306, 0
  store ptr %307, ptr %4, align 8
  %308 = extractvalue { ptr, i32 } %306, 1
  store i32 %308, ptr %5, align 4
  br label %380

309:                                              ; preds = %345, %330, %317, %313, %288, %282
  %310 = landingpad { ptr, i32 }
          cleanup
  %311 = extractvalue { ptr, i32 } %310, 0
  store ptr %311, ptr %4, align 8
  %312 = extractvalue { ptr, i32 } %310, 1
  store i32 %312, ptr %5, align 4
  br label %379

313:                                              ; preds = %291, %287
  %314 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %315 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %314)
          to label %316 unwind label %309

316:                                              ; preds = %313
  br i1 %315, label %326, label %317

317:                                              ; preds = %316
  %318 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %319 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %318)
          to label %320 unwind label %309

320:                                              ; preds = %317
  br i1 %319, label %321, label %326

321:                                              ; preds = %320
  %322 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %323 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %324 = fcmp oeq x86_fp80 %322, %323
  br i1 %324, label %325, label %326

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

326:                                              ; preds = %321, %320, %316
  %327 = load x86_fp80, ptr %18, align 16, !tbaa !9
  %328 = fcmp olt x86_fp80 %327, 0xK3FD78CBCCC096F508800
  br i1 %328, label %329, label %330

329:                                              ; preds = %326
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %340

330:                                              ; preds = %326
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %331 unwind label %309

331:                                              ; preds = %330
  %332 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %333 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %334 = load x86_fp80, ptr %17, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %20, i32 noundef %332, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %333, x86_fp80 noundef %334, x86_fp80 noundef 0xKC000A000000000000000)
          to label %335 unwind label %336

335:                                              ; preds = %331
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %340

336:                                              ; preds = %331
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %4, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %379

340:                                              ; preds = %335, %329
  br label %341

341:                                              ; preds = %340, %325
  br label %342

342:                                              ; preds = %341, %292
  %343 = load i8, ptr %19, align 1, !tbaa !11, !range !13, !noundef !14
  %344 = trunc i8 %343 to i1
  br i1 %344, label %345, label %354

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

346:                                              ; preds = %345
  %347 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %348 = load x86_fp80, ptr %18, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %21, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %347, x86_fp80 noundef %348, x86_fp80 noundef 0xKC000A000000000000000)
          to label %349 unwind label %350

349:                                              ; preds = %346
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %354

350:                                              ; preds = %346
  %351 = landingpad { ptr, i32 }
          cleanup
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %4, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %379

354:                                              ; preds = %349, %342
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  %355 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %356 = add nsw i32 %355, 1
  store i32 %356, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %357 unwind label %383

357:                                              ; preds = %354
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #7
  %358 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC000870A3D70A3D70A3D) #7
  store x86_fp80 %358, ptr %24, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %359 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC000870A3D70A3D70A3D)
          to label %360 unwind label %387

360:                                              ; preds = %357
  store x86_fp80 %359, ptr %25, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #7
  %361 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %362 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %363 = fsub x86_fp80 %361, %362
  %364 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %363)
          to label %365 unwind label %391

365:                                              ; preds = %360
  %366 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %367 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %366)
          to label %368 unwind label %391

368:                                              ; preds = %365
  %369 = fadd x86_fp80 0xK3FFF8000000000000000, %367
  %370 = fdiv x86_fp80 %364, %369
  store x86_fp80 %370, ptr %26, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #7
  store i8 0, ptr %27, align 1, !tbaa !11
  %371 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %372 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %371)
          to label %373 unwind label %395

373:                                              ; preds = %368
  br i1 %372, label %374, label %399

374:                                              ; preds = %373
  %375 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %376 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %375)
          to label %377 unwind label %395

377:                                              ; preds = %374
  br i1 %376, label %378, label %399

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

379:                                              ; preds = %350, %336, %309
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  br label %380

380:                                              ; preds = %379, %305
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  br label %381

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

382:                                              ; preds = %381, %297
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %2014

383:                                              ; preds = %354
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %4, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  br label %468

387:                                              ; preds = %357
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %4, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %5, align 4
  br label %467

391:                                              ; preds = %365, %360
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %4, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %5, align 4
  br label %466

395:                                              ; preds = %431, %416, %403, %399, %374, %368
  %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
  br label %465

399:                                              ; preds = %377, %373
  %400 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %401 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %400)
          to label %402 unwind label %395

402:                                              ; preds = %399
  br i1 %401, label %412, label %403

403:                                              ; preds = %402
  %404 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %405 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %404)
          to label %406 unwind label %395

406:                                              ; preds = %403
  br i1 %405, label %407, label %412

407:                                              ; preds = %406
  %408 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %409 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %410 = fcmp oeq x86_fp80 %408, %409
  br i1 %410, label %411, label %412

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

412:                                              ; preds = %407, %406, %402
  %413 = load x86_fp80, ptr %26, align 16, !tbaa !9
  %414 = fcmp olt x86_fp80 %413, 0xK3FD78CBCCC096F508800
  br i1 %414, label %415, label %416

415:                                              ; preds = %412
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %426

416:                                              ; preds = %412
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %417 unwind label %395

417:                                              ; preds = %416
  %418 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %419 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %420 = load x86_fp80, ptr %25, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %28, i32 noundef %418, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %419, x86_fp80 noundef %420, x86_fp80 noundef 0xKC000870A3D70A3D70A3D)
          to label %421 unwind label %422

421:                                              ; preds = %417
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %426

422:                                              ; preds = %417
  %423 = landingpad { ptr, i32 }
          cleanup
  %424 = extractvalue { ptr, i32 } %423, 0
  store ptr %424, ptr %4, align 8
  %425 = extractvalue { ptr, i32 } %423, 1
  store i32 %425, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %465

426:                                              ; preds = %421, %415
  br label %427

427:                                              ; preds = %426, %411
  br label %428

428:                                              ; preds = %427, %378
  %429 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %430 = trunc i8 %429 to i1
  br i1 %430, label %431, label %440

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

432:                                              ; preds = %431
  %433 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %434 = load x86_fp80, ptr %26, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %29, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %433, x86_fp80 noundef %434, x86_fp80 noundef 0xKC000870A3D70A3D70A3D)
          to label %435 unwind label %436

435:                                              ; preds = %432
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %440

436:                                              ; preds = %432
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %4, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %465

440:                                              ; preds = %435, %428
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  %441 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %442 = add nsw i32 %441, 1
  store i32 %442, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %443 unwind label %469

443:                                              ; preds = %440
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #7
  %444 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC000865604189374BC6A) #7
  store x86_fp80 %444, ptr %32, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #7
  %445 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC000865604189374BC6A)
          to label %446 unwind label %473

446:                                              ; preds = %443
  store x86_fp80 %445, ptr %33, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %447 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %448 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %449 = fsub x86_fp80 %447, %448
  %450 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %449)
          to label %451 unwind label %477

451:                                              ; preds = %446
  %452 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %453 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %452)
          to label %454 unwind label %477

454:                                              ; preds = %451
  %455 = fadd x86_fp80 0xK3FFF8000000000000000, %453
  %456 = fdiv x86_fp80 %450, %455
  store x86_fp80 %456, ptr %34, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #7
  store i8 0, ptr %35, align 1, !tbaa !11
  %457 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %458 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %457)
          to label %459 unwind label %481

459:                                              ; preds = %454
  br i1 %458, label %460, label %485

460:                                              ; preds = %459
  %461 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %462 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %461)
          to label %463 unwind label %481

463:                                              ; preds = %460
  br i1 %462, label %464, label %485

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

465:                                              ; preds = %436, %422, %395
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  br label %466

466:                                              ; preds = %465, %391
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  br label %467

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

468:                                              ; preds = %467, %383
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br label %2014

469:                                              ; preds = %440
  %470 = landingpad { ptr, i32 }
          cleanup
  %471 = extractvalue { ptr, i32 } %470, 0
  store ptr %471, ptr %4, align 8
  %472 = extractvalue { ptr, i32 } %470, 1
  store i32 %472, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  br label %554

473:                                              ; preds = %443
  %474 = landingpad { ptr, i32 }
          cleanup
  %475 = extractvalue { ptr, i32 } %474, 0
  store ptr %475, ptr %4, align 8
  %476 = extractvalue { ptr, i32 } %474, 1
  store i32 %476, ptr %5, align 4
  br label %553

477:                                              ; preds = %451, %446
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %4, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %5, align 4
  br label %552

481:                                              ; preds = %517, %502, %489, %485, %460, %454
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %4, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %5, align 4
  br label %551

485:                                              ; preds = %463, %459
  %486 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %487 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %486)
          to label %488 unwind label %481

488:                                              ; preds = %485
  br i1 %487, label %498, label %489

489:                                              ; preds = %488
  %490 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %491 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %490)
          to label %492 unwind label %481

492:                                              ; preds = %489
  br i1 %491, label %493, label %498

493:                                              ; preds = %492
  %494 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %495 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %496 = fcmp oeq x86_fp80 %494, %495
  br i1 %496, label %497, label %498

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

498:                                              ; preds = %493, %492, %488
  %499 = load x86_fp80, ptr %34, align 16, !tbaa !9
  %500 = fcmp olt x86_fp80 %499, 0xK3FD78CBCCC096F508800
  br i1 %500, label %501, label %502

501:                                              ; preds = %498
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %512

502:                                              ; preds = %498
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %503 unwind label %481

503:                                              ; preds = %502
  %504 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %505 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %506 = load x86_fp80, ptr %33, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %36, i32 noundef %504, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %505, x86_fp80 noundef %506, x86_fp80 noundef 0xKC000865604189374BC6A)
          to label %507 unwind label %508

507:                                              ; preds = %503
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %512

508:                                              ; preds = %503
  %509 = landingpad { ptr, i32 }
          cleanup
  %510 = extractvalue { ptr, i32 } %509, 0
  store ptr %510, ptr %4, align 8
  %511 = extractvalue { ptr, i32 } %509, 1
  store i32 %511, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %551

512:                                              ; preds = %507, %501
  br label %513

513:                                              ; preds = %512, %497
  br label %514

514:                                              ; preds = %513, %464
  %515 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %516 = trunc i8 %515 to i1
  br i1 %516, label %517, label %526

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

518:                                              ; preds = %517
  %519 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %520 = load x86_fp80, ptr %34, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %37, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %519, x86_fp80 noundef %520, x86_fp80 noundef 0xKC000865604189374BC6A)
          to label %521 unwind label %522

521:                                              ; preds = %518
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %526

522:                                              ; preds = %518
  %523 = landingpad { ptr, i32 }
          cleanup
  %524 = extractvalue { ptr, i32 } %523, 0
  store ptr %524, ptr %4, align 8
  %525 = extractvalue { ptr, i32 } %523, 1
  store i32 %525, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %551

526:                                              ; preds = %521, %514
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  %527 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %528 = add nsw i32 %527, 1
  store i32 %528, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %529 unwind label %555

529:                                              ; preds = %526
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #7
  %530 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC0008000000000000000) #7
  store x86_fp80 %530, ptr %40, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #7
  %531 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC0008000000000000000)
          to label %532 unwind label %559

532:                                              ; preds = %529
  store x86_fp80 %531, ptr %41, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #7
  %533 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %534 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %535 = fsub x86_fp80 %533, %534
  %536 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %535)
          to label %537 unwind label %563

537:                                              ; preds = %532
  %538 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %539 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %538)
          to label %540 unwind label %563

540:                                              ; preds = %537
  %541 = fadd x86_fp80 0xK3FFF8000000000000000, %539
  %542 = fdiv x86_fp80 %536, %541
  store x86_fp80 %542, ptr %42, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #7
  store i8 0, ptr %43, align 1, !tbaa !11
  %543 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %544 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %543)
          to label %545 unwind label %567

545:                                              ; preds = %540
  br i1 %544, label %546, label %571

546:                                              ; preds = %545
  %547 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %548 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %547)
          to label %549 unwind label %567

549:                                              ; preds = %546
  br i1 %548, label %550, label %571

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

551:                                              ; preds = %522, %508, %481
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  br label %552

552:                                              ; preds = %551, %477
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  br label %553

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

554:                                              ; preds = %553, %469
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  br label %2014

555:                                              ; preds = %526
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %4, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #7
  br label %640

559:                                              ; preds = %529
  %560 = landingpad { ptr, i32 }
          cleanup
  %561 = extractvalue { ptr, i32 } %560, 0
  store ptr %561, ptr %4, align 8
  %562 = extractvalue { ptr, i32 } %560, 1
  store i32 %562, ptr %5, align 4
  br label %639

563:                                              ; preds = %537, %532
  %564 = landingpad { ptr, i32 }
          cleanup
  %565 = extractvalue { ptr, i32 } %564, 0
  store ptr %565, ptr %4, align 8
  %566 = extractvalue { ptr, i32 } %564, 1
  store i32 %566, ptr %5, align 4
  br label %638

567:                                              ; preds = %603, %588, %575, %571, %546, %540
  %568 = landingpad { ptr, i32 }
          cleanup
  %569 = extractvalue { ptr, i32 } %568, 0
  store ptr %569, ptr %4, align 8
  %570 = extractvalue { ptr, i32 } %568, 1
  store i32 %570, ptr %5, align 4
  br label %637

571:                                              ; preds = %549, %545
  %572 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %573 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %572)
          to label %574 unwind label %567

574:                                              ; preds = %571
  br i1 %573, label %584, label %575

575:                                              ; preds = %574
  %576 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %577 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %576)
          to label %578 unwind label %567

578:                                              ; preds = %575
  br i1 %577, label %579, label %584

579:                                              ; preds = %578
  %580 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %581 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %582 = fcmp oeq x86_fp80 %580, %581
  br i1 %582, label %583, label %584

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

584:                                              ; preds = %579, %578, %574
  %585 = load x86_fp80, ptr %42, align 16, !tbaa !9
  %586 = fcmp olt x86_fp80 %585, 0xK3FD78CBCCC096F508800
  br i1 %586, label %587, label %588

587:                                              ; preds = %584
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %598

588:                                              ; preds = %584
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %589 unwind label %567

589:                                              ; preds = %588
  %590 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %591 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %592 = load x86_fp80, ptr %41, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %44, i32 noundef %590, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %591, x86_fp80 noundef %592, x86_fp80 noundef 0xKC0008000000000000000)
          to label %593 unwind label %594

593:                                              ; preds = %589
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %598

594:                                              ; preds = %589
  %595 = landingpad { ptr, i32 }
          cleanup
  %596 = extractvalue { ptr, i32 } %595, 0
  store ptr %596, ptr %4, align 8
  %597 = extractvalue { ptr, i32 } %595, 1
  store i32 %597, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %637

598:                                              ; preds = %593, %587
  br label %599

599:                                              ; preds = %598, %583
  br label %600

600:                                              ; preds = %599, %550
  %601 = load i8, ptr %43, align 1, !tbaa !11, !range !13, !noundef !14
  %602 = trunc i8 %601 to i1
  br i1 %602, label %603, label %612

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

604:                                              ; preds = %603
  %605 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %606 = load x86_fp80, ptr %42, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %45, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %605, x86_fp80 noundef %606, x86_fp80 noundef 0xKC0008000000000000000)
          to label %607 unwind label %608

607:                                              ; preds = %604
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %612

608:                                              ; preds = %604
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %4, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %637

612:                                              ; preds = %607, %600
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  %613 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %614 = add nsw i32 %613, 1
  store i32 %614, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %615 unwind label %641

615:                                              ; preds = %612
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #7
  %616 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFFA666666666666666) #7
  store x86_fp80 %616, ptr %48, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #7
  %617 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKBFFFA666666666666666)
          to label %618 unwind label %645

618:                                              ; preds = %615
  store x86_fp80 %617, ptr %49, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #7
  %619 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %620 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %621 = fsub x86_fp80 %619, %620
  %622 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %621)
          to label %623 unwind label %649

623:                                              ; preds = %618
  %624 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %625 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %624)
          to label %626 unwind label %649

626:                                              ; preds = %623
  %627 = fadd x86_fp80 0xK3FFF8000000000000000, %625
  %628 = fdiv x86_fp80 %622, %627
  store x86_fp80 %628, ptr %50, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #7
  store i8 0, ptr %51, align 1, !tbaa !11
  %629 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %630 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %629)
          to label %631 unwind label %653

631:                                              ; preds = %626
  br i1 %630, label %632, label %657

632:                                              ; preds = %631
  %633 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %634 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %633)
          to label %635 unwind label %653

635:                                              ; preds = %632
  br i1 %634, label %636, label %657

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

637:                                              ; preds = %608, %594, %567
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  br label %638

638:                                              ; preds = %637, %563
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  br label %639

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

640:                                              ; preds = %639, %555
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  br label %2014

641:                                              ; preds = %612
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %4, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  br label %726

645:                                              ; preds = %615
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %4, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %5, align 4
  br label %725

649:                                              ; preds = %623, %618
  %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
  br label %724

653:                                              ; preds = %689, %674, %661, %657, %632, %626
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %4, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %5, align 4
  br label %723

657:                                              ; preds = %635, %631
  %658 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %659 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %658)
          to label %660 unwind label %653

660:                                              ; preds = %657
  br i1 %659, label %670, label %661

661:                                              ; preds = %660
  %662 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %663 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %662)
          to label %664 unwind label %653

664:                                              ; preds = %661
  br i1 %663, label %665, label %670

665:                                              ; preds = %664
  %666 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %667 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %668 = fcmp oeq x86_fp80 %666, %667
  br i1 %668, label %669, label %670

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

670:                                              ; preds = %665, %664, %660
  %671 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %672 = fcmp olt x86_fp80 %671, 0xK3FD78CBCCC096F508800
  br i1 %672, label %673, label %674

673:                                              ; preds = %670
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %684

674:                                              ; preds = %670
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %675 unwind label %653

675:                                              ; preds = %674
  %676 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %677 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %678 = load x86_fp80, ptr %49, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %52, i32 noundef %676, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %677, x86_fp80 noundef %678, x86_fp80 noundef 0xKBFFFA666666666666666)
          to label %679 unwind label %680

679:                                              ; preds = %675
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %684

680:                                              ; preds = %675
  %681 = landingpad { ptr, i32 }
          cleanup
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %4, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %723

684:                                              ; preds = %679, %673
  br label %685

685:                                              ; preds = %684, %669
  br label %686

686:                                              ; preds = %685, %636
  %687 = load i8, ptr %51, align 1, !tbaa !11, !range !13, !noundef !14
  %688 = trunc i8 %687 to i1
  br i1 %688, label %689, label %698

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

690:                                              ; preds = %689
  %691 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %692 = load x86_fp80, ptr %50, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %53, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %691, x86_fp80 noundef %692, x86_fp80 noundef 0xKBFFFA666666666666666)
          to label %693 unwind label %694

693:                                              ; preds = %690
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %698

694:                                              ; preds = %690
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %4, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %723

698:                                              ; preds = %693, %686
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  %699 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %700 = add nsw i32 %699, 1
  store i32 %700, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %701 unwind label %727

701:                                              ; preds = %698
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #7
  %702 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFEB333333333333333) #7
  store x86_fp80 %702, ptr %56, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #7
  %703 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKBFFEB333333333333333)
          to label %704 unwind label %731

704:                                              ; preds = %701
  store x86_fp80 %703, ptr %57, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #7
  %705 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %706 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %707 = fsub x86_fp80 %705, %706
  %708 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %707)
          to label %709 unwind label %735

709:                                              ; preds = %704
  %710 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %711 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %710)
          to label %712 unwind label %735

712:                                              ; preds = %709
  %713 = fadd x86_fp80 0xK3FFF8000000000000000, %711
  %714 = fdiv x86_fp80 %708, %713
  store x86_fp80 %714, ptr %58, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #7
  store i8 0, ptr %59, align 1, !tbaa !11
  %715 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %716 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %715)
          to label %717 unwind label %739

717:                                              ; preds = %712
  br i1 %716, label %718, label %743

718:                                              ; preds = %717
  %719 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %720 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %719)
          to label %721 unwind label %739

721:                                              ; preds = %718
  br i1 %720, label %722, label %743

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

723:                                              ; preds = %694, %680, %653
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  br label %724

724:                                              ; preds = %723, %649
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  br label %725

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

726:                                              ; preds = %725, %641
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  br label %2014

727:                                              ; preds = %698
  %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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #7
  br label %812

731:                                              ; preds = %701
  %732 = landingpad { ptr, i32 }
          cleanup
  %733 = extractvalue { ptr, i32 } %732, 0
  store ptr %733, ptr %4, align 8
  %734 = extractvalue { ptr, i32 } %732, 1
  store i32 %734, ptr %5, align 4
  br label %811

735:                                              ; preds = %709, %704
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %4, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %5, align 4
  br label %810

739:                                              ; preds = %775, %760, %747, %743, %718, %712
  %740 = landingpad { ptr, i32 }
          cleanup
  %741 = extractvalue { ptr, i32 } %740, 0
  store ptr %741, ptr %4, align 8
  %742 = extractvalue { ptr, i32 } %740, 1
  store i32 %742, ptr %5, align 4
  br label %809

743:                                              ; preds = %721, %717
  %744 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %745 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %744)
          to label %746 unwind label %739

746:                                              ; preds = %743
  br i1 %745, label %756, label %747

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

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

751:                                              ; preds = %750
  %752 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %753 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %754 = fcmp oeq x86_fp80 %752, %753
  br i1 %754, label %755, label %756

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

756:                                              ; preds = %751, %750, %746
  %757 = load x86_fp80, ptr %58, align 16, !tbaa !9
  %758 = fcmp olt x86_fp80 %757, 0xK3FD78CBCCC096F508800
  br i1 %758, label %759, label %760

759:                                              ; preds = %756
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %770

760:                                              ; preds = %756
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %761 unwind label %739

761:                                              ; preds = %760
  %762 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %763 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %764 = load x86_fp80, ptr %57, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %60, i32 noundef %762, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %763, x86_fp80 noundef %764, x86_fp80 noundef 0xKBFFEB333333333333333)
          to label %765 unwind label %766

765:                                              ; preds = %761
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %770

766:                                              ; preds = %761
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %809

770:                                              ; preds = %765, %759
  br label %771

771:                                              ; preds = %770, %755
  br label %772

772:                                              ; preds = %771, %722
  %773 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %774 = trunc i8 %773 to i1
  br i1 %774, label %775, label %784

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

776:                                              ; preds = %775
  %777 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %778 = load x86_fp80, ptr %58, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %61, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %777, x86_fp80 noundef %778, x86_fp80 noundef 0xKBFFEB333333333333333)
          to label %779 unwind label %780

779:                                              ; preds = %776
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %784

780:                                              ; preds = %776
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %4, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %809

784:                                              ; preds = %779, %772
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  %785 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %786 = add nsw i32 %785, 1
  store i32 %786, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %787 unwind label %813

787:                                              ; preds = %784
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #7
  %788 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFBCCCCCCCCCCCCCCCD) #7
  store x86_fp80 %788, ptr %64, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #7
  %789 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKBFFBCCCCCCCCCCCCCCCD)
          to label %790 unwind label %817

790:                                              ; preds = %787
  store x86_fp80 %789, ptr %65, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #7
  %791 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %792 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %793 = fsub x86_fp80 %791, %792
  %794 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %793)
          to label %795 unwind label %821

795:                                              ; preds = %790
  %796 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %797 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %796)
          to label %798 unwind label %821

798:                                              ; preds = %795
  %799 = fadd x86_fp80 0xK3FFF8000000000000000, %797
  %800 = fdiv x86_fp80 %794, %799
  store x86_fp80 %800, ptr %66, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #7
  store i8 0, ptr %67, align 1, !tbaa !11
  %801 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %802 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %801)
          to label %803 unwind label %825

803:                                              ; preds = %798
  br i1 %802, label %804, label %829

804:                                              ; preds = %803
  %805 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %806 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %805)
          to label %807 unwind label %825

807:                                              ; preds = %804
  br i1 %806, label %808, label %829

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

809:                                              ; preds = %780, %766, %739
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  br label %810

810:                                              ; preds = %809, %735
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  br label %811

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

812:                                              ; preds = %811, %727
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  br label %2014

813:                                              ; preds = %784
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %4, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  br label %898

817:                                              ; preds = %787
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %4, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %5, align 4
  br label %897

821:                                              ; preds = %795, %790
  %822 = landingpad { ptr, i32 }
          cleanup
  %823 = extractvalue { ptr, i32 } %822, 0
  store ptr %823, ptr %4, align 8
  %824 = extractvalue { ptr, i32 } %822, 1
  store i32 %824, ptr %5, align 4
  br label %896

825:                                              ; preds = %861, %846, %833, %829, %804, %798
  %826 = landingpad { ptr, i32 }
          cleanup
  %827 = extractvalue { ptr, i32 } %826, 0
  store ptr %827, ptr %4, align 8
  %828 = extractvalue { ptr, i32 } %826, 1
  store i32 %828, ptr %5, align 4
  br label %895

829:                                              ; preds = %807, %803
  %830 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %831 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %830)
          to label %832 unwind label %825

832:                                              ; preds = %829
  br i1 %831, label %842, label %833

833:                                              ; preds = %832
  %834 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %835 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %834)
          to label %836 unwind label %825

836:                                              ; preds = %833
  br i1 %835, label %837, label %842

837:                                              ; preds = %836
  %838 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %839 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %840 = fcmp oeq x86_fp80 %838, %839
  br i1 %840, label %841, label %842

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

842:                                              ; preds = %837, %836, %832
  %843 = load x86_fp80, ptr %66, align 16, !tbaa !9
  %844 = fcmp olt x86_fp80 %843, 0xK3FD78CBCCC096F508800
  br i1 %844, label %845, label %846

845:                                              ; preds = %842
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %856

846:                                              ; preds = %842
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %847 unwind label %825

847:                                              ; preds = %846
  %848 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %849 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %850 = load x86_fp80, ptr %65, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %68, i32 noundef %848, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %849, x86_fp80 noundef %850, x86_fp80 noundef 0xKBFFBCCCCCCCCCCCCCCCD)
          to label %851 unwind label %852

851:                                              ; preds = %847
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %856

852:                                              ; preds = %847
  %853 = landingpad { ptr, i32 }
          cleanup
  %854 = extractvalue { ptr, i32 } %853, 0
  store ptr %854, ptr %4, align 8
  %855 = extractvalue { ptr, i32 } %853, 1
  store i32 %855, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %895

856:                                              ; preds = %851, %845
  br label %857

857:                                              ; preds = %856, %841
  br label %858

858:                                              ; preds = %857, %808
  %859 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %860 = trunc i8 %859 to i1
  br i1 %860, label %861, label %870

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

862:                                              ; preds = %861
  %863 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %864 = load x86_fp80, ptr %66, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %69, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %863, x86_fp80 noundef %864, x86_fp80 noundef 0xKBFFBCCCCCCCCCCCCCCCD)
          to label %865 unwind label %866

865:                                              ; preds = %862
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %870

866:                                              ; preds = %862
  %867 = landingpad { ptr, i32 }
          cleanup
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %4, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %895

870:                                              ; preds = %865, %858
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  %871 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %872 = add nsw i32 %871, 1
  store i32 %872, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %873 unwind label %899

873:                                              ; preds = %870
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #7
  %874 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %874, ptr %72, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #7
  %875 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK00000000000000000000)
          to label %876 unwind label %903

876:                                              ; preds = %873
  store x86_fp80 %875, ptr %73, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #7
  %877 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %878 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %879 = fsub x86_fp80 %877, %878
  %880 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %879)
          to label %881 unwind label %907

881:                                              ; preds = %876
  %882 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %883 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %882)
          to label %884 unwind label %907

884:                                              ; preds = %881
  %885 = fadd x86_fp80 0xK3FFF8000000000000000, %883
  %886 = fdiv x86_fp80 %880, %885
  store x86_fp80 %886, ptr %74, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #7
  store i8 0, ptr %75, align 1, !tbaa !11
  %887 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %888 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %887)
          to label %889 unwind label %911

889:                                              ; preds = %884
  br i1 %888, label %890, label %915

890:                                              ; preds = %889
  %891 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %892 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %891)
          to label %893 unwind label %911

893:                                              ; preds = %890
  br i1 %892, label %894, label %915

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

895:                                              ; preds = %866, %852, %825
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  br label %896

896:                                              ; preds = %895, %821
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  br label %897

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

898:                                              ; preds = %897, %813
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  br label %2014

899:                                              ; preds = %870
  %900 = landingpad { ptr, i32 }
          cleanup
  %901 = extractvalue { ptr, i32 } %900, 0
  store ptr %901, ptr %4, align 8
  %902 = extractvalue { ptr, i32 } %900, 1
  store i32 %902, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #7
  br label %984

903:                                              ; preds = %873
  %904 = landingpad { ptr, i32 }
          cleanup
  %905 = extractvalue { ptr, i32 } %904, 0
  store ptr %905, ptr %4, align 8
  %906 = extractvalue { ptr, i32 } %904, 1
  store i32 %906, ptr %5, align 4
  br label %983

907:                                              ; preds = %881, %876
  %908 = landingpad { ptr, i32 }
          cleanup
  %909 = extractvalue { ptr, i32 } %908, 0
  store ptr %909, ptr %4, align 8
  %910 = extractvalue { ptr, i32 } %908, 1
  store i32 %910, ptr %5, align 4
  br label %982

911:                                              ; preds = %947, %932, %919, %915, %890, %884
  %912 = landingpad { ptr, i32 }
          cleanup
  %913 = extractvalue { ptr, i32 } %912, 0
  store ptr %913, ptr %4, align 8
  %914 = extractvalue { ptr, i32 } %912, 1
  store i32 %914, ptr %5, align 4
  br label %981

915:                                              ; preds = %893, %889
  %916 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %917 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %916)
          to label %918 unwind label %911

918:                                              ; preds = %915
  br i1 %917, label %928, label %919

919:                                              ; preds = %918
  %920 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %921 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %920)
          to label %922 unwind label %911

922:                                              ; preds = %919
  br i1 %921, label %923, label %928

923:                                              ; preds = %922
  %924 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %925 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %926 = fcmp oeq x86_fp80 %924, %925
  br i1 %926, label %927, label %928

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

928:                                              ; preds = %923, %922, %918
  %929 = load x86_fp80, ptr %74, align 16, !tbaa !9
  %930 = fcmp olt x86_fp80 %929, 0xK3FD78CBCCC096F508800
  br i1 %930, label %931, label %932

931:                                              ; preds = %928
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %942

932:                                              ; preds = %928
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %933 unwind label %911

933:                                              ; preds = %932
  %934 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %935 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %936 = load x86_fp80, ptr %73, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %76, i32 noundef %934, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %935, x86_fp80 noundef %936, x86_fp80 noundef 0xK00000000000000000000)
          to label %937 unwind label %938

937:                                              ; preds = %933
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  br label %942

938:                                              ; preds = %933
  %939 = landingpad { ptr, i32 }
          cleanup
  %940 = extractvalue { ptr, i32 } %939, 0
  store ptr %940, ptr %4, align 8
  %941 = extractvalue { ptr, i32 } %939, 1
  store i32 %941, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  br label %981

942:                                              ; preds = %937, %931
  br label %943

943:                                              ; preds = %942, %927
  br label %944

944:                                              ; preds = %943, %894
  %945 = load i8, ptr %75, align 1, !tbaa !11, !range !13, !noundef !14
  %946 = trunc i8 %945 to i1
  br i1 %946, label %947, label %956

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

948:                                              ; preds = %947
  %949 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %950 = load x86_fp80, ptr %74, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %77, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %949, x86_fp80 noundef %950, x86_fp80 noundef 0xK00000000000000000000)
          to label %951 unwind label %952

951:                                              ; preds = %948
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %956

952:                                              ; preds = %948
  %953 = landingpad { ptr, i32 }
          cleanup
  %954 = extractvalue { ptr, i32 } %953, 0
  store ptr %954, ptr %4, align 8
  %955 = extractvalue { ptr, i32 } %953, 1
  store i32 %955, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %981

956:                                              ; preds = %951, %944
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  %957 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %958 = add nsw i32 %957, 1
  store i32 %958, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %959 unwind label %985

959:                                              ; preds = %956
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %80) #7
  %960 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFBCCCCCCCCCCCCCCCD) #7
  store x86_fp80 %960, ptr %80, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %81) #7
  %961 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK3FFBCCCCCCCCCCCCCCCD)
          to label %962 unwind label %989

962:                                              ; preds = %959
  store x86_fp80 %961, ptr %81, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %82) #7
  %963 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %964 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %965 = fsub x86_fp80 %963, %964
  %966 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %965)
          to label %967 unwind label %993

967:                                              ; preds = %962
  %968 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %969 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %968)
          to label %970 unwind label %993

970:                                              ; preds = %967
  %971 = fadd x86_fp80 0xK3FFF8000000000000000, %969
  %972 = fdiv x86_fp80 %966, %971
  store x86_fp80 %972, ptr %82, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #7
  store i8 0, ptr %83, align 1, !tbaa !11
  %973 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %974 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %973)
          to label %975 unwind label %997

975:                                              ; preds = %970
  br i1 %974, label %976, label %1001

976:                                              ; preds = %975
  %977 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %978 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %977)
          to label %979 unwind label %997

979:                                              ; preds = %976
  br i1 %978, label %980, label %1001

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

981:                                              ; preds = %952, %938, %911
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  br label %982

982:                                              ; preds = %981, %907
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  br label %983

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

984:                                              ; preds = %983, %899
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %2014

985:                                              ; preds = %956
  %986 = landingpad { ptr, i32 }
          cleanup
  %987 = extractvalue { ptr, i32 } %986, 0
  store ptr %987, ptr %4, align 8
  %988 = extractvalue { ptr, i32 } %986, 1
  store i32 %988, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  br label %1070

989:                                              ; preds = %959
  %990 = landingpad { ptr, i32 }
          cleanup
  %991 = extractvalue { ptr, i32 } %990, 0
  store ptr %991, ptr %4, align 8
  %992 = extractvalue { ptr, i32 } %990, 1
  store i32 %992, ptr %5, align 4
  br label %1069

993:                                              ; preds = %967, %962
  %994 = landingpad { ptr, i32 }
          cleanup
  %995 = extractvalue { ptr, i32 } %994, 0
  store ptr %995, ptr %4, align 8
  %996 = extractvalue { ptr, i32 } %994, 1
  store i32 %996, ptr %5, align 4
  br label %1068

997:                                              ; preds = %1033, %1018, %1005, %1001, %976, %970
  %998 = landingpad { ptr, i32 }
          cleanup
  %999 = extractvalue { ptr, i32 } %998, 0
  store ptr %999, ptr %4, align 8
  %1000 = extractvalue { ptr, i32 } %998, 1
  store i32 %1000, ptr %5, align 4
  br label %1067

1001:                                             ; preds = %979, %975
  %1002 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1003 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1002)
          to label %1004 unwind label %997

1004:                                             ; preds = %1001
  br i1 %1003, label %1014, label %1005

1005:                                             ; preds = %1004
  %1006 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1007 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1006)
          to label %1008 unwind label %997

1008:                                             ; preds = %1005
  br i1 %1007, label %1009, label %1014

1009:                                             ; preds = %1008
  %1010 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1011 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %1012 = fcmp oeq x86_fp80 %1010, %1011
  br i1 %1012, label %1013, label %1014

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

1014:                                             ; preds = %1009, %1008, %1004
  %1015 = load x86_fp80, ptr %82, align 16, !tbaa !9
  %1016 = fcmp olt x86_fp80 %1015, 0xK3FD78CBCCC096F508800
  br i1 %1016, label %1017, label %1018

1017:                                             ; preds = %1014
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %1028

1018:                                             ; preds = %1014
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %1019 unwind label %997

1019:                                             ; preds = %1018
  %1020 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1021 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1022 = load x86_fp80, ptr %81, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %84, i32 noundef %1020, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1021, x86_fp80 noundef %1022, x86_fp80 noundef 0xK3FFBCCCCCCCCCCCCCCCD)
          to label %1023 unwind label %1024

1023:                                             ; preds = %1019
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %1028

1024:                                             ; preds = %1019
  %1025 = landingpad { ptr, i32 }
          cleanup
  %1026 = extractvalue { ptr, i32 } %1025, 0
  store ptr %1026, ptr %4, align 8
  %1027 = extractvalue { ptr, i32 } %1025, 1
  store i32 %1027, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %1067

1028:                                             ; preds = %1023, %1017
  br label %1029

1029:                                             ; preds = %1028, %1013
  br label %1030

1030:                                             ; preds = %1029, %980
  %1031 = load i8, ptr %83, align 1, !tbaa !11, !range !13, !noundef !14
  %1032 = trunc i8 %1031 to i1
  br i1 %1032, label %1033, label %1042

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

1034:                                             ; preds = %1033
  %1035 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1036 = load x86_fp80, ptr %82, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %85, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1035, x86_fp80 noundef %1036, x86_fp80 noundef 0xK3FFBCCCCCCCCCCCCCCCD)
          to label %1037 unwind label %1038

1037:                                             ; preds = %1034
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %1042

1038:                                             ; preds = %1034
  %1039 = landingpad { ptr, i32 }
          cleanup
  %1040 = extractvalue { ptr, i32 } %1039, 0
  store ptr %1040, ptr %4, align 8
  %1041 = extractvalue { ptr, i32 } %1039, 1
  store i32 %1041, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %1067

1042:                                             ; preds = %1037, %1030
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  %1043 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1044 = add nsw i32 %1043, 1
  store i32 %1044, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %87)
          to label %1045 unwind label %1071

1045:                                             ; preds = %1042
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %88) #7
  %1046 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFEB333333333333333) #7
  store x86_fp80 %1046, ptr %88, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %89) #7
  %1047 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK3FFEB333333333333333)
          to label %1048 unwind label %1075

1048:                                             ; preds = %1045
  store x86_fp80 %1047, ptr %89, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %90) #7
  %1049 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1050 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1051 = fsub x86_fp80 %1049, %1050
  %1052 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1051)
          to label %1053 unwind label %1079

1053:                                             ; preds = %1048
  %1054 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1055 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1054)
          to label %1056 unwind label %1079

1056:                                             ; preds = %1053
  %1057 = fadd x86_fp80 0xK3FFF8000000000000000, %1055
  %1058 = fdiv x86_fp80 %1052, %1057
  store x86_fp80 %1058, ptr %90, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #7
  store i8 0, ptr %91, align 1, !tbaa !11
  %1059 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1060 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1059)
          to label %1061 unwind label %1083

1061:                                             ; preds = %1056
  br i1 %1060, label %1062, label %1087

1062:                                             ; preds = %1061
  %1063 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1064 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1063)
          to label %1065 unwind label %1083

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

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

1067:                                             ; preds = %1038, %1024, %997
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #7
  br label %1068

1068:                                             ; preds = %1067, %993
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  br label %1069

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

1070:                                             ; preds = %1069, %985
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  br label %2014

1071:                                             ; preds = %1042
  %1072 = landingpad { ptr, i32 }
          cleanup
  %1073 = extractvalue { ptr, i32 } %1072, 0
  store ptr %1073, ptr %4, align 8
  %1074 = extractvalue { ptr, i32 } %1072, 1
  store i32 %1074, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  br label %1156

1075:                                             ; preds = %1045
  %1076 = landingpad { ptr, i32 }
          cleanup
  %1077 = extractvalue { ptr, i32 } %1076, 0
  store ptr %1077, ptr %4, align 8
  %1078 = extractvalue { ptr, i32 } %1076, 1
  store i32 %1078, ptr %5, align 4
  br label %1155

1079:                                             ; preds = %1053, %1048
  %1080 = landingpad { ptr, i32 }
          cleanup
  %1081 = extractvalue { ptr, i32 } %1080, 0
  store ptr %1081, ptr %4, align 8
  %1082 = extractvalue { ptr, i32 } %1080, 1
  store i32 %1082, ptr %5, align 4
  br label %1154

1083:                                             ; preds = %1119, %1104, %1091, %1087, %1062, %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
  br label %1153

1087:                                             ; preds = %1065, %1061
  %1088 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1089 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1088)
          to label %1090 unwind label %1083

1090:                                             ; preds = %1087
  br i1 %1089, label %1100, label %1091

1091:                                             ; preds = %1090
  %1092 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1093 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1092)
          to label %1094 unwind label %1083

1094:                                             ; preds = %1091
  br i1 %1093, label %1095, label %1100

1095:                                             ; preds = %1094
  %1096 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1097 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1098 = fcmp oeq x86_fp80 %1096, %1097
  br i1 %1098, label %1099, label %1100

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

1100:                                             ; preds = %1095, %1094, %1090
  %1101 = load x86_fp80, ptr %90, align 16, !tbaa !9
  %1102 = fcmp olt x86_fp80 %1101, 0xK3FD78CBCCC096F508800
  br i1 %1102, label %1103, label %1104

1103:                                             ; preds = %1100
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1114

1104:                                             ; preds = %1100
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1105 unwind label %1083

1105:                                             ; preds = %1104
  %1106 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1107 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1108 = load x86_fp80, ptr %89, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %92, i32 noundef %1106, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1107, x86_fp80 noundef %1108, x86_fp80 noundef 0xK3FFEB333333333333333)
          to label %1109 unwind label %1110

1109:                                             ; preds = %1105
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1114

1110:                                             ; preds = %1105
  %1111 = landingpad { ptr, i32 }
          cleanup
  %1112 = extractvalue { ptr, i32 } %1111, 0
  store ptr %1112, ptr %4, align 8
  %1113 = extractvalue { ptr, i32 } %1111, 1
  store i32 %1113, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1153

1114:                                             ; preds = %1109, %1103
  br label %1115

1115:                                             ; preds = %1114, %1099
  br label %1116

1116:                                             ; preds = %1115, %1066
  %1117 = load i8, ptr %91, align 1, !tbaa !11, !range !13, !noundef !14
  %1118 = trunc i8 %1117 to i1
  br i1 %1118, label %1119, label %1128

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

1120:                                             ; preds = %1119
  %1121 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1122 = load x86_fp80, ptr %90, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %93, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1121, x86_fp80 noundef %1122, x86_fp80 noundef 0xK3FFEB333333333333333)
          to label %1123 unwind label %1124

1123:                                             ; preds = %1120
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1128

1124:                                             ; preds = %1120
  %1125 = landingpad { ptr, i32 }
          cleanup
  %1126 = extractvalue { ptr, i32 } %1125, 0
  store ptr %1126, ptr %4, align 8
  %1127 = extractvalue { ptr, i32 } %1125, 1
  store i32 %1127, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1153

1128:                                             ; preds = %1123, %1116
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  %1129 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1130 = add nsw i32 %1129, 1
  store i32 %1130, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %95) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %1131 unwind label %1157

1131:                                             ; preds = %1128
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %96) #7
  %1132 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFA666666666666666) #7
  store x86_fp80 %1132, ptr %96, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #7
  %1133 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %1134 unwind label %1161

1134:                                             ; preds = %1131
  store x86_fp80 %1133, ptr %97, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %98) #7
  %1135 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1136 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1137 = fsub x86_fp80 %1135, %1136
  %1138 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1137)
          to label %1139 unwind label %1165

1139:                                             ; preds = %1134
  %1140 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1141 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1140)
          to label %1142 unwind label %1165

1142:                                             ; preds = %1139
  %1143 = fadd x86_fp80 0xK3FFF8000000000000000, %1141
  %1144 = fdiv x86_fp80 %1138, %1143
  store x86_fp80 %1144, ptr %98, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #7
  store i8 0, ptr %99, align 1, !tbaa !11
  %1145 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1146 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1145)
          to label %1147 unwind label %1169

1147:                                             ; preds = %1142
  br i1 %1146, label %1148, label %1173

1148:                                             ; preds = %1147
  %1149 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1150 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1149)
          to label %1151 unwind label %1169

1151:                                             ; preds = %1148
  br i1 %1150, label %1152, label %1173

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

1153:                                             ; preds = %1124, %1110, %1083
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  br label %1154

1154:                                             ; preds = %1153, %1079
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  br label %1155

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

1156:                                             ; preds = %1155, %1071
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  br label %2014

1157:                                             ; preds = %1128
  %1158 = landingpad { ptr, i32 }
          cleanup
  %1159 = extractvalue { ptr, i32 } %1158, 0
  store ptr %1159, ptr %4, align 8
  %1160 = extractvalue { ptr, i32 } %1158, 1
  store i32 %1160, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #7
  br label %1242

1161:                                             ; preds = %1131
  %1162 = landingpad { ptr, i32 }
          cleanup
  %1163 = extractvalue { ptr, i32 } %1162, 0
  store ptr %1163, ptr %4, align 8
  %1164 = extractvalue { ptr, i32 } %1162, 1
  store i32 %1164, ptr %5, align 4
  br label %1241

1165:                                             ; preds = %1139, %1134
  %1166 = landingpad { ptr, i32 }
          cleanup
  %1167 = extractvalue { ptr, i32 } %1166, 0
  store ptr %1167, ptr %4, align 8
  %1168 = extractvalue { ptr, i32 } %1166, 1
  store i32 %1168, ptr %5, align 4
  br label %1240

1169:                                             ; preds = %1205, %1190, %1177, %1173, %1148, %1142
  %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
  br label %1239

1173:                                             ; preds = %1151, %1147
  %1174 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1175 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1174)
          to label %1176 unwind label %1169

1176:                                             ; preds = %1173
  br i1 %1175, label %1186, label %1177

1177:                                             ; preds = %1176
  %1178 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1179 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1178)
          to label %1180 unwind label %1169

1180:                                             ; preds = %1177
  br i1 %1179, label %1181, label %1186

1181:                                             ; preds = %1180
  %1182 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1183 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1184 = fcmp oeq x86_fp80 %1182, %1183
  br i1 %1184, label %1185, label %1186

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

1186:                                             ; preds = %1181, %1180, %1176
  %1187 = load x86_fp80, ptr %98, align 16, !tbaa !9
  %1188 = fcmp olt x86_fp80 %1187, 0xK3FD78CBCCC096F508800
  br i1 %1188, label %1189, label %1190

1189:                                             ; preds = %1186
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1200

1190:                                             ; preds = %1186
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1191 unwind label %1169

1191:                                             ; preds = %1190
  %1192 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1193 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1194 = load x86_fp80, ptr %97, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %100, i32 noundef %1192, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1193, x86_fp80 noundef %1194, x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %1195 unwind label %1196

1195:                                             ; preds = %1191
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1200

1196:                                             ; preds = %1191
  %1197 = landingpad { ptr, i32 }
          cleanup
  %1198 = extractvalue { ptr, i32 } %1197, 0
  store ptr %1198, ptr %4, align 8
  %1199 = extractvalue { ptr, i32 } %1197, 1
  store i32 %1199, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1239

1200:                                             ; preds = %1195, %1189
  br label %1201

1201:                                             ; preds = %1200, %1185
  br label %1202

1202:                                             ; preds = %1201, %1152
  %1203 = load i8, ptr %99, align 1, !tbaa !11, !range !13, !noundef !14
  %1204 = trunc i8 %1203 to i1
  br i1 %1204, label %1205, label %1214

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

1206:                                             ; preds = %1205
  %1207 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1208 = load x86_fp80, ptr %98, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %101, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1207, x86_fp80 noundef %1208, x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %1209 unwind label %1210

1209:                                             ; preds = %1206
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1214

1210:                                             ; preds = %1206
  %1211 = landingpad { ptr, i32 }
          cleanup
  %1212 = extractvalue { ptr, i32 } %1211, 0
  store ptr %1212, ptr %4, align 8
  %1213 = extractvalue { ptr, i32 } %1211, 1
  store i32 %1213, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1239

1214:                                             ; preds = %1209, %1202
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  %1215 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1216 = add nsw i32 %1215, 1
  store i32 %1216, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %1217 unwind label %1243

1217:                                             ; preds = %1214
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %104) #7
  %1218 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFA666666666666666) #7
  store x86_fp80 %1218, ptr %104, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %105) #7
  %1219 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %1220 unwind label %1247

1220:                                             ; preds = %1217
  store x86_fp80 %1219, ptr %105, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #7
  %1221 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1222 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1223 = fsub x86_fp80 %1221, %1222
  %1224 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1223)
          to label %1225 unwind label %1251

1225:                                             ; preds = %1220
  %1226 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1227 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1226)
          to label %1228 unwind label %1251

1228:                                             ; preds = %1225
  %1229 = fadd x86_fp80 0xK3FFF8000000000000000, %1227
  %1230 = fdiv x86_fp80 %1224, %1229
  store x86_fp80 %1230, ptr %106, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #7
  store i8 0, ptr %107, align 1, !tbaa !11
  %1231 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1232 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1231)
          to label %1233 unwind label %1255

1233:                                             ; preds = %1228
  br i1 %1232, label %1234, label %1259

1234:                                             ; preds = %1233
  %1235 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1236 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1235)
          to label %1237 unwind label %1255

1237:                                             ; preds = %1234
  br i1 %1236, label %1238, label %1259

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

1239:                                             ; preds = %1210, %1196, %1169
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #7
  br label %1240

1240:                                             ; preds = %1239, %1165
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #7
  br label %1241

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

1242:                                             ; preds = %1241, %1157
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  br label %2014

1243:                                             ; preds = %1214
  %1244 = landingpad { ptr, i32 }
          cleanup
  %1245 = extractvalue { ptr, i32 } %1244, 0
  store ptr %1245, ptr %4, align 8
  %1246 = extractvalue { ptr, i32 } %1244, 1
  store i32 %1246, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #7
  br label %1328

1247:                                             ; preds = %1217
  %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
  br label %1327

1251:                                             ; preds = %1225, %1220
  %1252 = landingpad { ptr, i32 }
          cleanup
  %1253 = extractvalue { ptr, i32 } %1252, 0
  store ptr %1253, ptr %4, align 8
  %1254 = extractvalue { ptr, i32 } %1252, 1
  store i32 %1254, ptr %5, align 4
  br label %1326

1255:                                             ; preds = %1291, %1276, %1263, %1259, %1234, %1228
  %1256 = landingpad { ptr, i32 }
          cleanup
  %1257 = extractvalue { ptr, i32 } %1256, 0
  store ptr %1257, ptr %4, align 8
  %1258 = extractvalue { ptr, i32 } %1256, 1
  store i32 %1258, ptr %5, align 4
  br label %1325

1259:                                             ; preds = %1237, %1233
  %1260 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1261 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1260)
          to label %1262 unwind label %1255

1262:                                             ; preds = %1259
  br i1 %1261, label %1272, label %1263

1263:                                             ; preds = %1262
  %1264 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1265 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1264)
          to label %1266 unwind label %1255

1266:                                             ; preds = %1263
  br i1 %1265, label %1267, label %1272

1267:                                             ; preds = %1266
  %1268 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1269 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1270 = fcmp oeq x86_fp80 %1268, %1269
  br i1 %1270, label %1271, label %1272

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

1272:                                             ; preds = %1267, %1266, %1262
  %1273 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1274 = fcmp olt x86_fp80 %1273, 0xK3FD78CBCCC096F508800
  br i1 %1274, label %1275, label %1276

1275:                                             ; preds = %1272
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1286

1276:                                             ; preds = %1272
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1277 unwind label %1255

1277:                                             ; preds = %1276
  %1278 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1279 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1280 = load x86_fp80, ptr %105, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %108, i32 noundef %1278, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1279, x86_fp80 noundef %1280, x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %1281 unwind label %1282

1281:                                             ; preds = %1277
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1286

1282:                                             ; preds = %1277
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1325

1286:                                             ; preds = %1281, %1275
  br label %1287

1287:                                             ; preds = %1286, %1271
  br label %1288

1288:                                             ; preds = %1287, %1238
  %1289 = load i8, ptr %107, align 1, !tbaa !11, !range !13, !noundef !14
  %1290 = trunc i8 %1289 to i1
  br i1 %1290, label %1291, label %1300

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

1292:                                             ; preds = %1291
  %1293 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1294 = load x86_fp80, ptr %106, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %109, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1293, x86_fp80 noundef %1294, x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %1295 unwind label %1296

1295:                                             ; preds = %1292
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1300

1296:                                             ; preds = %1292
  %1297 = landingpad { ptr, i32 }
          cleanup
  %1298 = extractvalue { ptr, i32 } %1297, 0
  store ptr %1298, ptr %4, align 8
  %1299 = extractvalue { ptr, i32 } %1297, 1
  store i32 %1299, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1325

1300:                                             ; preds = %1295, %1288
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #7
  %1301 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1302 = add nsw i32 %1301, 1
  store i32 %1302, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %1303 unwind label %1329

1303:                                             ; preds = %1300
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %112) #7
  %1304 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK40008000000000000000) #7
  store x86_fp80 %1304, ptr %112, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #7
  %1305 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK40008000000000000000)
          to label %1306 unwind label %1333

1306:                                             ; preds = %1303
  store x86_fp80 %1305, ptr %113, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #7
  %1307 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1308 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1309 = fsub x86_fp80 %1307, %1308
  %1310 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1309)
          to label %1311 unwind label %1337

1311:                                             ; preds = %1306
  %1312 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1313 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1312)
          to label %1314 unwind label %1337

1314:                                             ; preds = %1311
  %1315 = fadd x86_fp80 0xK3FFF8000000000000000, %1313
  %1316 = fdiv x86_fp80 %1310, %1315
  store x86_fp80 %1316, ptr %114, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #7
  store i8 0, ptr %115, align 1, !tbaa !11
  %1317 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1318 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1317)
          to label %1319 unwind label %1341

1319:                                             ; preds = %1314
  br i1 %1318, label %1320, label %1345

1320:                                             ; preds = %1319
  %1321 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1322 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1321)
          to label %1323 unwind label %1341

1323:                                             ; preds = %1320
  br i1 %1322, label %1324, label %1345

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

1325:                                             ; preds = %1296, %1282, %1255
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  br label %1326

1326:                                             ; preds = %1325, %1251
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  br label %1327

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

1328:                                             ; preds = %1327, %1243
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #7
  br label %2014

1329:                                             ; preds = %1300
  %1330 = landingpad { ptr, i32 }
          cleanup
  %1331 = extractvalue { ptr, i32 } %1330, 0
  store ptr %1331, ptr %4, align 8
  %1332 = extractvalue { ptr, i32 } %1330, 1
  store i32 %1332, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  br label %1414

1333:                                             ; preds = %1303
  %1334 = landingpad { ptr, i32 }
          cleanup
  %1335 = extractvalue { ptr, i32 } %1334, 0
  store ptr %1335, ptr %4, align 8
  %1336 = extractvalue { ptr, i32 } %1334, 1
  store i32 %1336, ptr %5, align 4
  br label %1413

1337:                                             ; preds = %1311, %1306
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %4, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %5, align 4
  br label %1412

1341:                                             ; preds = %1377, %1362, %1349, %1345, %1320, %1314
  %1342 = landingpad { ptr, i32 }
          cleanup
  %1343 = extractvalue { ptr, i32 } %1342, 0
  store ptr %1343, ptr %4, align 8
  %1344 = extractvalue { ptr, i32 } %1342, 1
  store i32 %1344, ptr %5, align 4
  br label %1411

1345:                                             ; preds = %1323, %1319
  %1346 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1347 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1346)
          to label %1348 unwind label %1341

1348:                                             ; preds = %1345
  br i1 %1347, label %1358, label %1349

1349:                                             ; preds = %1348
  %1350 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1351 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1350)
          to label %1352 unwind label %1341

1352:                                             ; preds = %1349
  br i1 %1351, label %1353, label %1358

1353:                                             ; preds = %1352
  %1354 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1355 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1356 = fcmp oeq x86_fp80 %1354, %1355
  br i1 %1356, label %1357, label %1358

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

1358:                                             ; preds = %1353, %1352, %1348
  %1359 = load x86_fp80, ptr %114, align 16, !tbaa !9
  %1360 = fcmp olt x86_fp80 %1359, 0xK3FD78CBCCC096F508800
  br i1 %1360, label %1361, label %1362

1361:                                             ; preds = %1358
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1372

1362:                                             ; preds = %1358
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1363 unwind label %1341

1363:                                             ; preds = %1362
  %1364 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1365 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1366 = load x86_fp80, ptr %113, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %116, i32 noundef %1364, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1365, x86_fp80 noundef %1366, x86_fp80 noundef 0xK40008000000000000000)
          to label %1367 unwind label %1368

1367:                                             ; preds = %1363
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1372

1368:                                             ; preds = %1363
  %1369 = landingpad { ptr, i32 }
          cleanup
  %1370 = extractvalue { ptr, i32 } %1369, 0
  store ptr %1370, ptr %4, align 8
  %1371 = extractvalue { ptr, i32 } %1369, 1
  store i32 %1371, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1411

1372:                                             ; preds = %1367, %1361
  br label %1373

1373:                                             ; preds = %1372, %1357
  br label %1374

1374:                                             ; preds = %1373, %1324
  %1375 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %1376 = trunc i8 %1375 to i1
  br i1 %1376, label %1377, label %1386

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

1378:                                             ; preds = %1377
  %1379 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1380 = load x86_fp80, ptr %114, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %117, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1379, x86_fp80 noundef %1380, x86_fp80 noundef 0xK40008000000000000000)
          to label %1381 unwind label %1382

1381:                                             ; preds = %1378
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1386

1382:                                             ; preds = %1378
  %1383 = landingpad { ptr, i32 }
          cleanup
  %1384 = extractvalue { ptr, i32 } %1383, 0
  store ptr %1384, ptr %4, align 8
  %1385 = extractvalue { ptr, i32 } %1383, 1
  store i32 %1385, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1411

1386:                                             ; preds = %1381, %1374
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %112) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  %1387 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1388 = add nsw i32 %1387, 1
  store i32 %1388, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1389 unwind label %1415

1389:                                             ; preds = %1386
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #7
  %1390 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000865604189374BC6A) #7
  store x86_fp80 %1390, ptr %120, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #7
  %1391 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK4000865604189374BC6A)
          to label %1392 unwind label %1419

1392:                                             ; preds = %1389
  store x86_fp80 %1391, ptr %121, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %122) #7
  %1393 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1394 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1395 = fsub x86_fp80 %1393, %1394
  %1396 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1395)
          to label %1397 unwind label %1423

1397:                                             ; preds = %1392
  %1398 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1399 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1398)
          to label %1400 unwind label %1423

1400:                                             ; preds = %1397
  %1401 = fadd x86_fp80 0xK3FFF8000000000000000, %1399
  %1402 = fdiv x86_fp80 %1396, %1401
  store x86_fp80 %1402, ptr %122, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %123) #7
  store i8 0, ptr %123, align 1, !tbaa !11
  %1403 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1404 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1403)
          to label %1405 unwind label %1427

1405:                                             ; preds = %1400
  br i1 %1404, label %1406, label %1431

1406:                                             ; preds = %1405
  %1407 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1408 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1407)
          to label %1409 unwind label %1427

1409:                                             ; preds = %1406
  br i1 %1408, label %1410, label %1431

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

1411:                                             ; preds = %1382, %1368, %1341
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  br label %1412

1412:                                             ; preds = %1411, %1337
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #7
  br label %1413

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

1414:                                             ; preds = %1413, %1329
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  br label %2014

1415:                                             ; preds = %1386
  %1416 = landingpad { ptr, i32 }
          cleanup
  %1417 = extractvalue { ptr, i32 } %1416, 0
  store ptr %1417, ptr %4, align 8
  %1418 = extractvalue { ptr, i32 } %1416, 1
  store i32 %1418, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  br label %1500

1419:                                             ; preds = %1389
  %1420 = landingpad { ptr, i32 }
          cleanup
  %1421 = extractvalue { ptr, i32 } %1420, 0
  store ptr %1421, ptr %4, align 8
  %1422 = extractvalue { ptr, i32 } %1420, 1
  store i32 %1422, ptr %5, align 4
  br label %1499

1423:                                             ; preds = %1397, %1392
  %1424 = landingpad { ptr, i32 }
          cleanup
  %1425 = extractvalue { ptr, i32 } %1424, 0
  store ptr %1425, ptr %4, align 8
  %1426 = extractvalue { ptr, i32 } %1424, 1
  store i32 %1426, ptr %5, align 4
  br label %1498

1427:                                             ; preds = %1463, %1448, %1435, %1431, %1406, %1400
  %1428 = landingpad { ptr, i32 }
          cleanup
  %1429 = extractvalue { ptr, i32 } %1428, 0
  store ptr %1429, ptr %4, align 8
  %1430 = extractvalue { ptr, i32 } %1428, 1
  store i32 %1430, ptr %5, align 4
  br label %1497

1431:                                             ; preds = %1409, %1405
  %1432 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1433 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1432)
          to label %1434 unwind label %1427

1434:                                             ; preds = %1431
  br i1 %1433, label %1444, label %1435

1435:                                             ; preds = %1434
  %1436 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1437 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1436)
          to label %1438 unwind label %1427

1438:                                             ; preds = %1435
  br i1 %1437, label %1439, label %1444

1439:                                             ; preds = %1438
  %1440 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1441 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1442 = fcmp oeq x86_fp80 %1440, %1441
  br i1 %1442, label %1443, label %1444

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

1444:                                             ; preds = %1439, %1438, %1434
  %1445 = load x86_fp80, ptr %122, align 16, !tbaa !9
  %1446 = fcmp olt x86_fp80 %1445, 0xK3FD78CBCCC096F508800
  br i1 %1446, label %1447, label %1448

1447:                                             ; preds = %1444
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1458

1448:                                             ; preds = %1444
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1449 unwind label %1427

1449:                                             ; preds = %1448
  %1450 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1451 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1452 = load x86_fp80, ptr %121, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %124, i32 noundef %1450, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1451, x86_fp80 noundef %1452, x86_fp80 noundef 0xK4000865604189374BC6A)
          to label %1453 unwind label %1454

1453:                                             ; preds = %1449
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %1458

1454:                                             ; preds = %1449
  %1455 = landingpad { ptr, i32 }
          cleanup
  %1456 = extractvalue { ptr, i32 } %1455, 0
  store ptr %1456, ptr %4, align 8
  %1457 = extractvalue { ptr, i32 } %1455, 1
  store i32 %1457, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %1497

1458:                                             ; preds = %1453, %1447
  br label %1459

1459:                                             ; preds = %1458, %1443
  br label %1460

1460:                                             ; preds = %1459, %1410
  %1461 = load i8, ptr %123, align 1, !tbaa !11, !range !13, !noundef !14
  %1462 = trunc i8 %1461 to i1
  br i1 %1462, label %1463, label %1472

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

1464:                                             ; preds = %1463
  %1465 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1466 = load x86_fp80, ptr %122, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %125, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1465, x86_fp80 noundef %1466, x86_fp80 noundef 0xK4000865604189374BC6A)
          to label %1467 unwind label %1468

1467:                                             ; preds = %1464
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  br label %1472

1468:                                             ; preds = %1464
  %1469 = landingpad { ptr, i32 }
          cleanup
  %1470 = extractvalue { ptr, i32 } %1469, 0
  store ptr %1470, ptr %4, align 8
  %1471 = extractvalue { ptr, i32 } %1469, 1
  store i32 %1471, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  br label %1497

1472:                                             ; preds = %1467, %1460
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  %1473 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1474 = add nsw i32 %1473, 1
  store i32 %1474, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %127) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %127)
          to label %1475 unwind label %1501

1475:                                             ; preds = %1472
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %128) #7
  %1476 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000870A3D70A3D70A3D) #7
  store x86_fp80 %1476, ptr %128, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %129) #7
  %1477 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK4000870A3D70A3D70A3D)
          to label %1478 unwind label %1505

1478:                                             ; preds = %1475
  store x86_fp80 %1477, ptr %129, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %130) #7
  %1479 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1480 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1481 = fsub x86_fp80 %1479, %1480
  %1482 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1481)
          to label %1483 unwind label %1509

1483:                                             ; preds = %1478
  %1484 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1485 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1484)
          to label %1486 unwind label %1509

1486:                                             ; preds = %1483
  %1487 = fadd x86_fp80 0xK3FFF8000000000000000, %1485
  %1488 = fdiv x86_fp80 %1482, %1487
  store x86_fp80 %1488, ptr %130, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %131) #7
  store i8 0, ptr %131, align 1, !tbaa !11
  %1489 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1490 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1489)
          to label %1491 unwind label %1513

1491:                                             ; preds = %1486
  br i1 %1490, label %1492, label %1517

1492:                                             ; preds = %1491
  %1493 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1494 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1493)
          to label %1495 unwind label %1513

1495:                                             ; preds = %1492
  br i1 %1494, label %1496, label %1517

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

1497:                                             ; preds = %1468, %1454, %1427
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #7
  br label %1498

1498:                                             ; preds = %1497, %1423
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #7
  br label %1499

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

1500:                                             ; preds = %1499, %1415
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  br label %2014

1501:                                             ; preds = %1472
  %1502 = landingpad { ptr, i32 }
          cleanup
  %1503 = extractvalue { ptr, i32 } %1502, 0
  store ptr %1503, ptr %4, align 8
  %1504 = extractvalue { ptr, i32 } %1502, 1
  store i32 %1504, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #7
  br label %1586

1505:                                             ; preds = %1475
  %1506 = landingpad { ptr, i32 }
          cleanup
  %1507 = extractvalue { ptr, i32 } %1506, 0
  store ptr %1507, ptr %4, align 8
  %1508 = extractvalue { ptr, i32 } %1506, 1
  store i32 %1508, ptr %5, align 4
  br label %1585

1509:                                             ; preds = %1483, %1478
  %1510 = landingpad { ptr, i32 }
          cleanup
  %1511 = extractvalue { ptr, i32 } %1510, 0
  store ptr %1511, ptr %4, align 8
  %1512 = extractvalue { ptr, i32 } %1510, 1
  store i32 %1512, ptr %5, align 4
  br label %1584

1513:                                             ; preds = %1549, %1534, %1521, %1517, %1492, %1486
  %1514 = landingpad { ptr, i32 }
          cleanup
  %1515 = extractvalue { ptr, i32 } %1514, 0
  store ptr %1515, ptr %4, align 8
  %1516 = extractvalue { ptr, i32 } %1514, 1
  store i32 %1516, ptr %5, align 4
  br label %1583

1517:                                             ; preds = %1495, %1491
  %1518 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1519 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1518)
          to label %1520 unwind label %1513

1520:                                             ; preds = %1517
  br i1 %1519, label %1530, label %1521

1521:                                             ; preds = %1520
  %1522 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1523 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1522)
          to label %1524 unwind label %1513

1524:                                             ; preds = %1521
  br i1 %1523, label %1525, label %1530

1525:                                             ; preds = %1524
  %1526 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1527 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1528 = fcmp oeq x86_fp80 %1526, %1527
  br i1 %1528, label %1529, label %1530

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

1530:                                             ; preds = %1525, %1524, %1520
  %1531 = load x86_fp80, ptr %130, align 16, !tbaa !9
  %1532 = fcmp olt x86_fp80 %1531, 0xK3FD78CBCCC096F508800
  br i1 %1532, label %1533, label %1534

1533:                                             ; preds = %1530
  store i8 1, ptr %131, align 1, !tbaa !11
  br label %1544

1534:                                             ; preds = %1530
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %1535 unwind label %1513

1535:                                             ; preds = %1534
  %1536 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1537 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1538 = load x86_fp80, ptr %129, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %132, i32 noundef %1536, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1537, x86_fp80 noundef %1538, x86_fp80 noundef 0xK4000870A3D70A3D70A3D)
          to label %1539 unwind label %1540

1539:                                             ; preds = %1535
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1544

1540:                                             ; preds = %1535
  %1541 = landingpad { ptr, i32 }
          cleanup
  %1542 = extractvalue { ptr, i32 } %1541, 0
  store ptr %1542, ptr %4, align 8
  %1543 = extractvalue { ptr, i32 } %1541, 1
  store i32 %1543, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1583

1544:                                             ; preds = %1539, %1533
  br label %1545

1545:                                             ; preds = %1544, %1529
  br label %1546

1546:                                             ; preds = %1545, %1496
  %1547 = load i8, ptr %131, align 1, !tbaa !11, !range !13, !noundef !14
  %1548 = trunc i8 %1547 to i1
  br i1 %1548, label %1549, label %1558

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

1550:                                             ; preds = %1549
  %1551 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1552 = load x86_fp80, ptr %130, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %133, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1551, x86_fp80 noundef %1552, x86_fp80 noundef 0xK4000870A3D70A3D70A3D)
          to label %1553 unwind label %1554

1553:                                             ; preds = %1550
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #7
  br label %1558

1554:                                             ; preds = %1550
  %1555 = landingpad { ptr, i32 }
          cleanup
  %1556 = extractvalue { ptr, i32 } %1555, 0
  store ptr %1556, ptr %4, align 8
  %1557 = extractvalue { ptr, i32 } %1555, 1
  store i32 %1557, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #7
  br label %1583

1558:                                             ; preds = %1553, %1546
  call void @llvm.lifetime.end.p0(i64 1, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %130) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %129) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #7
  %1559 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1560 = add nsw i32 %1559, 1
  store i32 %1560, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %135) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %135)
          to label %1561 unwind label %1587

1561:                                             ; preds = %1558
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %136) #7
  %1562 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000A000000000000000) #7
  store x86_fp80 %1562, ptr %136, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %137) #7
  %1563 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK4000A000000000000000)
          to label %1564 unwind label %1591

1564:                                             ; preds = %1561
  store x86_fp80 %1563, ptr %137, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %138) #7
  %1565 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1566 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1567 = fsub x86_fp80 %1565, %1566
  %1568 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1567)
          to label %1569 unwind label %1595

1569:                                             ; preds = %1564
  %1570 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1571 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1570)
          to label %1572 unwind label %1595

1572:                                             ; preds = %1569
  %1573 = fadd x86_fp80 0xK3FFF8000000000000000, %1571
  %1574 = fdiv x86_fp80 %1568, %1573
  store x86_fp80 %1574, ptr %138, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %139) #7
  store i8 0, ptr %139, align 1, !tbaa !11
  %1575 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1576 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1575)
          to label %1577 unwind label %1599

1577:                                             ; preds = %1572
  br i1 %1576, label %1578, label %1603

1578:                                             ; preds = %1577
  %1579 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1580 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1579)
          to label %1581 unwind label %1599

1581:                                             ; preds = %1578
  br i1 %1580, label %1582, label %1603

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

1583:                                             ; preds = %1554, %1540, %1513
  call void @llvm.lifetime.end.p0(i64 1, ptr %131) #7
  br label %1584

1584:                                             ; preds = %1583, %1509
  call void @llvm.lifetime.end.p0(i64 16, ptr %130) #7
  br label %1585

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

1586:                                             ; preds = %1585, %1501
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #7
  br label %2014

1587:                                             ; preds = %1558
  %1588 = landingpad { ptr, i32 }
          cleanup
  %1589 = extractvalue { ptr, i32 } %1588, 0
  store ptr %1589, ptr %4, align 8
  %1590 = extractvalue { ptr, i32 } %1588, 1
  store i32 %1590, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  br label %1672

1591:                                             ; preds = %1561
  %1592 = landingpad { ptr, i32 }
          cleanup
  %1593 = extractvalue { ptr, i32 } %1592, 0
  store ptr %1593, ptr %4, align 8
  %1594 = extractvalue { ptr, i32 } %1592, 1
  store i32 %1594, ptr %5, align 4
  br label %1671

1595:                                             ; preds = %1569, %1564
  %1596 = landingpad { ptr, i32 }
          cleanup
  %1597 = extractvalue { ptr, i32 } %1596, 0
  store ptr %1597, ptr %4, align 8
  %1598 = extractvalue { ptr, i32 } %1596, 1
  store i32 %1598, ptr %5, align 4
  br label %1670

1599:                                             ; preds = %1635, %1620, %1607, %1603, %1578, %1572
  %1600 = landingpad { ptr, i32 }
          cleanup
  %1601 = extractvalue { ptr, i32 } %1600, 0
  store ptr %1601, ptr %4, align 8
  %1602 = extractvalue { ptr, i32 } %1600, 1
  store i32 %1602, ptr %5, align 4
  br label %1669

1603:                                             ; preds = %1581, %1577
  %1604 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1605 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1604)
          to label %1606 unwind label %1599

1606:                                             ; preds = %1603
  br i1 %1605, label %1616, label %1607

1607:                                             ; preds = %1606
  %1608 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1609 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1608)
          to label %1610 unwind label %1599

1610:                                             ; preds = %1607
  br i1 %1609, label %1611, label %1616

1611:                                             ; preds = %1610
  %1612 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1613 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1614 = fcmp oeq x86_fp80 %1612, %1613
  br i1 %1614, label %1615, label %1616

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

1616:                                             ; preds = %1611, %1610, %1606
  %1617 = load x86_fp80, ptr %138, align 16, !tbaa !9
  %1618 = fcmp olt x86_fp80 %1617, 0xK3FD78CBCCC096F508800
  br i1 %1618, label %1619, label %1620

1619:                                             ; preds = %1616
  store i8 1, ptr %139, align 1, !tbaa !11
  br label %1630

1620:                                             ; preds = %1616
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1621 unwind label %1599

1621:                                             ; preds = %1620
  %1622 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1623 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1624 = load x86_fp80, ptr %137, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %140, i32 noundef %1622, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1623, x86_fp80 noundef %1624, x86_fp80 noundef 0xK4000A000000000000000)
          to label %1625 unwind label %1626

1625:                                             ; preds = %1621
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  br label %1630

1626:                                             ; preds = %1621
  %1627 = landingpad { ptr, i32 }
          cleanup
  %1628 = extractvalue { ptr, i32 } %1627, 0
  store ptr %1628, ptr %4, align 8
  %1629 = extractvalue { ptr, i32 } %1627, 1
  store i32 %1629, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  br label %1669

1630:                                             ; preds = %1625, %1619
  br label %1631

1631:                                             ; preds = %1630, %1615
  br label %1632

1632:                                             ; preds = %1631, %1582
  %1633 = load i8, ptr %139, align 1, !tbaa !11, !range !13, !noundef !14
  %1634 = trunc i8 %1633 to i1
  br i1 %1634, label %1635, label %1644

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

1636:                                             ; preds = %1635
  %1637 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1638 = load x86_fp80, ptr %138, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %141, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1637, x86_fp80 noundef %1638, x86_fp80 noundef 0xK4000A000000000000000)
          to label %1639 unwind label %1640

1639:                                             ; preds = %1636
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1644

1640:                                             ; preds = %1636
  %1641 = landingpad { ptr, i32 }
          cleanup
  %1642 = extractvalue { ptr, i32 } %1641, 0
  store ptr %1642, ptr %4, align 8
  %1643 = extractvalue { ptr, i32 } %1641, 1
  store i32 %1643, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1669

1644:                                             ; preds = %1639, %1632
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %136) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  %1645 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1646 = add nsw i32 %1645, 1
  store i32 %1646, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %142) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %143) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %1647 unwind label %1673

1647:                                             ; preds = %1644
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %144) #7
  %1648 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000C000000000000000) #7
  store x86_fp80 %1648, ptr %144, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %145) #7
  %1649 = invoke noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK4000C000000000000000)
          to label %1650 unwind label %1677

1650:                                             ; preds = %1647
  store x86_fp80 %1649, ptr %145, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %146) #7
  %1651 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1652 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1653 = fsub x86_fp80 %1651, %1652
  %1654 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1653)
          to label %1655 unwind label %1681

1655:                                             ; preds = %1650
  %1656 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1657 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1656)
          to label %1658 unwind label %1681

1658:                                             ; preds = %1655
  %1659 = fadd x86_fp80 0xK3FFF8000000000000000, %1657
  %1660 = fdiv x86_fp80 %1654, %1659
  store x86_fp80 %1660, ptr %146, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #7
  store i8 0, ptr %147, align 1, !tbaa !11
  %1661 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1662 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1661)
          to label %1663 unwind label %1685

1663:                                             ; preds = %1658
  br i1 %1662, label %1664, label %1689

1664:                                             ; preds = %1663
  %1665 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1666 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1665)
          to label %1667 unwind label %1685

1667:                                             ; preds = %1664
  br i1 %1666, label %1668, label %1689

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

1669:                                             ; preds = %1640, %1626, %1599
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #7
  br label %1670

1670:                                             ; preds = %1669, %1595
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #7
  br label %1671

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

1672:                                             ; preds = %1671, %1587
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  br label %2014

1673:                                             ; preds = %1644
  %1674 = landingpad { ptr, i32 }
          cleanup
  %1675 = extractvalue { ptr, i32 } %1674, 0
  store ptr %1675, ptr %4, align 8
  %1676 = extractvalue { ptr, i32 } %1674, 1
  store i32 %1676, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  br label %1761

1677:                                             ; preds = %1647
  %1678 = landingpad { ptr, i32 }
          cleanup
  %1679 = extractvalue { ptr, i32 } %1678, 0
  store ptr %1679, ptr %4, align 8
  %1680 = extractvalue { ptr, i32 } %1678, 1
  store i32 %1680, ptr %5, align 4
  br label %1760

1681:                                             ; preds = %1655, %1650
  %1682 = landingpad { ptr, i32 }
          cleanup
  %1683 = extractvalue { ptr, i32 } %1682, 0
  store ptr %1683, ptr %4, align 8
  %1684 = extractvalue { ptr, i32 } %1682, 1
  store i32 %1684, ptr %5, align 4
  br label %1759

1685:                                             ; preds = %1721, %1706, %1693, %1689, %1664, %1658
  %1686 = landingpad { ptr, i32 }
          cleanup
  %1687 = extractvalue { ptr, i32 } %1686, 0
  store ptr %1687, ptr %4, align 8
  %1688 = extractvalue { ptr, i32 } %1686, 1
  store i32 %1688, ptr %5, align 4
  br label %1758

1689:                                             ; preds = %1667, %1663
  %1690 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1691 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1690)
          to label %1692 unwind label %1685

1692:                                             ; preds = %1689
  br i1 %1691, label %1702, label %1693

1693:                                             ; preds = %1692
  %1694 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1695 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1694)
          to label %1696 unwind label %1685

1696:                                             ; preds = %1693
  br i1 %1695, label %1697, label %1702

1697:                                             ; preds = %1696
  %1698 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1699 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1700 = fcmp oeq x86_fp80 %1698, %1699
  br i1 %1700, label %1701, label %1702

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

1702:                                             ; preds = %1697, %1696, %1692
  %1703 = load x86_fp80, ptr %146, align 16, !tbaa !9
  %1704 = fcmp olt x86_fp80 %1703, 0xK3FD78CBCCC096F508800
  br i1 %1704, label %1705, label %1706

1705:                                             ; preds = %1702
  store i8 1, ptr %147, align 1, !tbaa !11
  br label %1716

1706:                                             ; preds = %1702
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1707 unwind label %1685

1707:                                             ; preds = %1706
  %1708 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1709 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1710 = load x86_fp80, ptr %145, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %148, i32 noundef %1708, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1709, x86_fp80 noundef %1710, x86_fp80 noundef 0xK4000C000000000000000)
          to label %1711 unwind label %1712

1711:                                             ; preds = %1707
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %1716

1712:                                             ; preds = %1707
  %1713 = landingpad { ptr, i32 }
          cleanup
  %1714 = extractvalue { ptr, i32 } %1713, 0
  store ptr %1714, ptr %4, align 8
  %1715 = extractvalue { ptr, i32 } %1713, 1
  store i32 %1715, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %1758

1716:                                             ; preds = %1711, %1705
  br label %1717

1717:                                             ; preds = %1716, %1701
  br label %1718

1718:                                             ; preds = %1717, %1668
  %1719 = load i8, ptr %147, align 1, !tbaa !11, !range !13, !noundef !14
  %1720 = trunc i8 %1719 to i1
  br i1 %1720, label %1721, label %1730

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

1722:                                             ; preds = %1721
  %1723 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1724 = load x86_fp80, ptr %146, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %149, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %1723, x86_fp80 noundef %1724, x86_fp80 noundef 0xK4000C000000000000000)
          to label %1725 unwind label %1726

1725:                                             ; preds = %1722
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #7
  br label %1730

1726:                                             ; preds = %1722
  %1727 = landingpad { ptr, i32 }
          cleanup
  %1728 = extractvalue { ptr, i32 } %1727, 0
  store ptr %1728, ptr %4, align 8
  %1729 = extractvalue { ptr, i32 } %1727, 1
  store i32 %1729, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #7
  br label %1758

1730:                                             ; preds = %1725, %1718
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %144) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  %1731 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1732 = add nsw i32 %1731, 1
  store i32 %1732, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %151) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %151)
          to label %1733 unwind label %1762

1733:                                             ; preds = %1730
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #7
  %1734 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1735 = call noundef double @_ZN4gcem3erfIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %1734) #7
  store double %1735, ptr %152, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #7
  %1736 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1737 = call double @erf(double noundef %1736) #7
  store double %1737, ptr %153, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #7
  %1738 = load double, ptr %152, align 8, !tbaa !15
  %1739 = load double, ptr %153, align 8, !tbaa !15
  %1740 = fsub double %1738, %1739
  %1741 = invoke noundef double @_ZSt3absd(double noundef %1740)
          to label %1742 unwind label %1766

1742:                                             ; preds = %1733
  %1743 = load double, ptr %153, align 8, !tbaa !15
  %1744 = invoke noundef double @_ZSt3absd(double noundef %1743)
          to label %1745 unwind label %1766

1745:                                             ; preds = %1742
  %1746 = fadd double 1.000000e+00, %1744
  %1747 = fdiv double %1741, %1746
  store double %1747, ptr %154, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %155) #7
  store i8 0, ptr %155, align 1, !tbaa !11
  %1748 = load double, ptr %152, align 8, !tbaa !15
  %1749 = fpext double %1748 to x86_fp80
  %1750 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1749)
          to label %1751 unwind label %1770

1751:                                             ; preds = %1745
  br i1 %1750, label %1752, label %1774

1752:                                             ; preds = %1751
  %1753 = load double, ptr %153, align 8, !tbaa !15
  %1754 = fpext double %1753 to x86_fp80
  %1755 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1754)
          to label %1756 unwind label %1770

1756:                                             ; preds = %1752
  br i1 %1755, label %1757, label %1774

1757:                                             ; preds = %1756
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1806

1758:                                             ; preds = %1726, %1712, %1685
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  br label %1759

1759:                                             ; preds = %1758, %1681
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #7
  br label %1760

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

1761:                                             ; preds = %1760, %1673
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  br label %2014

1762:                                             ; preds = %1730
  %1763 = landingpad { ptr, i32 }
          cleanup
  %1764 = extractvalue { ptr, i32 } %1763, 0
  store ptr %1764, ptr %4, align 8
  %1765 = extractvalue { ptr, i32 } %1763, 1
  store i32 %1765, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #7
  br label %1849

1766:                                             ; preds = %1742, %1733
  %1767 = landingpad { ptr, i32 }
          cleanup
  %1768 = extractvalue { ptr, i32 } %1767, 0
  store ptr %1768, ptr %4, align 8
  %1769 = extractvalue { ptr, i32 } %1767, 1
  store i32 %1769, ptr %5, align 4
  br label %1848

1770:                                             ; preds = %1809, %1793, %1779, %1774, %1752, %1745
  %1771 = landingpad { ptr, i32 }
          cleanup
  %1772 = extractvalue { ptr, i32 } %1771, 0
  store ptr %1772, ptr %4, align 8
  %1773 = extractvalue { ptr, i32 } %1771, 1
  store i32 %1773, ptr %5, align 4
  br label %1847

1774:                                             ; preds = %1756, %1751
  %1775 = load double, ptr %152, align 8, !tbaa !15
  %1776 = fpext double %1775 to x86_fp80
  %1777 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1776)
          to label %1778 unwind label %1770

1778:                                             ; preds = %1774
  br i1 %1777, label %1789, label %1779

1779:                                             ; preds = %1778
  %1780 = load double, ptr %152, align 8, !tbaa !15
  %1781 = fpext double %1780 to x86_fp80
  %1782 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1781)
          to label %1783 unwind label %1770

1783:                                             ; preds = %1779
  br i1 %1782, label %1784, label %1789

1784:                                             ; preds = %1783
  %1785 = load double, ptr %152, align 8, !tbaa !15
  %1786 = load double, ptr %153, align 8, !tbaa !15
  %1787 = fcmp oeq double %1785, %1786
  br i1 %1787, label %1788, label %1789

1788:                                             ; preds = %1784
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1805

1789:                                             ; preds = %1784, %1783, %1778
  %1790 = load double, ptr %154, align 8, !tbaa !15
  %1791 = fcmp olt double %1790, 0x3D719799812DEA11
  br i1 %1791, label %1792, label %1793

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

1793:                                             ; preds = %1789
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1794 unwind label %1770

1794:                                             ; preds = %1793
  %1795 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1796 = load double, ptr %152, align 8, !tbaa !15
  %1797 = load double, ptr %153, align 8, !tbaa !15
  %1798 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %156, i32 noundef %1795, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %1796, double noundef %1797, double noundef %1798)
          to label %1799 unwind label %1800

1799:                                             ; preds = %1794
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  br label %1804

1800:                                             ; preds = %1794
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  br label %1847

1804:                                             ; preds = %1799, %1792
  br label %1805

1805:                                             ; preds = %1804, %1788
  br label %1806

1806:                                             ; preds = %1805, %1757
  %1807 = load i8, ptr %155, align 1, !tbaa !11, !range !13, !noundef !14
  %1808 = trunc i8 %1807 to i1
  br i1 %1808, label %1809, label %1819

1809:                                             ; preds = %1806
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1810 unwind label %1770

1810:                                             ; preds = %1809
  %1811 = load double, ptr %152, align 8, !tbaa !15
  %1812 = load double, ptr %154, align 8, !tbaa !15
  %1813 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %157, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %1811, double noundef %1812, double noundef %1813)
          to label %1814 unwind label %1815

1814:                                             ; preds = %1810
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  br label %1819

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

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

1822:                                             ; preds = %1819
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #7
  %1823 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1824 = call noundef double @_ZN4gcem3erfIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %1823) #7
  store double %1824, ptr %160, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #7
  %1825 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1826 = call double @erf(double noundef %1825) #7
  store double %1826, ptr %161, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #7
  %1827 = load double, ptr %160, align 8, !tbaa !15
  %1828 = load double, ptr %161, align 8, !tbaa !15
  %1829 = fsub double %1827, %1828
  %1830 = invoke noundef double @_ZSt3absd(double noundef %1829)
          to label %1831 unwind label %1854

1831:                                             ; preds = %1822
  %1832 = load double, ptr %161, align 8, !tbaa !15
  %1833 = invoke noundef double @_ZSt3absd(double noundef %1832)
          to label %1834 unwind label %1854

1834:                                             ; preds = %1831
  %1835 = fadd double 1.000000e+00, %1833
  %1836 = fdiv double %1830, %1835
  store double %1836, ptr %162, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %163) #7
  store i8 0, ptr %163, align 1, !tbaa !11
  %1837 = load double, ptr %160, align 8, !tbaa !15
  %1838 = fpext double %1837 to x86_fp80
  %1839 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1838)
          to label %1840 unwind label %1858

1840:                                             ; preds = %1834
  br i1 %1839, label %1841, label %1862

1841:                                             ; preds = %1840
  %1842 = load double, ptr %161, align 8, !tbaa !15
  %1843 = fpext double %1842 to x86_fp80
  %1844 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1843)
          to label %1845 unwind label %1858

1845:                                             ; preds = %1841
  br i1 %1844, label %1846, label %1862

1846:                                             ; preds = %1845
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1894

1847:                                             ; preds = %1815, %1800, %1770
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #7
  br label %1848

1848:                                             ; preds = %1847, %1766
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  br label %1849

1849:                                             ; preds = %1848, %1762
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  br label %2014

1850:                                             ; preds = %1819
  %1851 = landingpad { ptr, i32 }
          cleanup
  %1852 = extractvalue { ptr, i32 } %1851, 0
  store ptr %1852, ptr %4, align 8
  %1853 = extractvalue { ptr, i32 } %1851, 1
  store i32 %1853, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  br label %1939

1854:                                             ; preds = %1831, %1822
  %1855 = landingpad { ptr, i32 }
          cleanup
  %1856 = extractvalue { ptr, i32 } %1855, 0
  store ptr %1856, ptr %4, align 8
  %1857 = extractvalue { ptr, i32 } %1855, 1
  store i32 %1857, ptr %5, align 4
  br label %1938

1858:                                             ; preds = %1897, %1881, %1867, %1862, %1841, %1834
  %1859 = landingpad { ptr, i32 }
          cleanup
  %1860 = extractvalue { ptr, i32 } %1859, 0
  store ptr %1860, ptr %4, align 8
  %1861 = extractvalue { ptr, i32 } %1859, 1
  store i32 %1861, ptr %5, align 4
  br label %1937

1862:                                             ; preds = %1845, %1840
  %1863 = load double, ptr %160, align 8, !tbaa !15
  %1864 = fpext double %1863 to x86_fp80
  %1865 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1864)
          to label %1866 unwind label %1858

1866:                                             ; preds = %1862
  br i1 %1865, label %1877, label %1867

1867:                                             ; preds = %1866
  %1868 = load double, ptr %160, align 8, !tbaa !15
  %1869 = fpext double %1868 to x86_fp80
  %1870 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1869)
          to label %1871 unwind label %1858

1871:                                             ; preds = %1867
  br i1 %1870, label %1872, label %1877

1872:                                             ; preds = %1871
  %1873 = load double, ptr %160, align 8, !tbaa !15
  %1874 = load double, ptr %161, align 8, !tbaa !15
  %1875 = fcmp oeq double %1873, %1874
  br i1 %1875, label %1876, label %1877

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

1877:                                             ; preds = %1872, %1871, %1866
  %1878 = load double, ptr %162, align 8, !tbaa !15
  %1879 = fcmp olt double %1878, 0x3D719799812DEA11
  br i1 %1879, label %1880, label %1881

1880:                                             ; preds = %1877
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1892

1881:                                             ; preds = %1877
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1882 unwind label %1858

1882:                                             ; preds = %1881
  %1883 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1884 = load double, ptr %160, align 8, !tbaa !15
  %1885 = load double, ptr %161, align 8, !tbaa !15
  %1886 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %164, i32 noundef %1883, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %1884, double noundef %1885, double noundef %1886)
          to label %1887 unwind label %1888

1887:                                             ; preds = %1882
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #7
  br label %1892

1888:                                             ; preds = %1882
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #7
  br label %1937

1892:                                             ; preds = %1887, %1880
  br label %1893

1893:                                             ; preds = %1892, %1876
  br label %1894

1894:                                             ; preds = %1893, %1846
  %1895 = load i8, ptr %163, align 1, !tbaa !11, !range !13, !noundef !14
  %1896 = trunc i8 %1895 to i1
  br i1 %1896, label %1897, label %1907

1897:                                             ; preds = %1894
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1898 unwind label %1858

1898:                                             ; preds = %1897
  %1899 = load double, ptr %160, align 8, !tbaa !15
  %1900 = load double, ptr %162, align 8, !tbaa !15
  %1901 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %165, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %1899, double noundef %1900, double noundef %1901)
          to label %1902 unwind label %1903

1902:                                             ; preds = %1898
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %1907

1903:                                             ; preds = %1898
  %1904 = landingpad { ptr, i32 }
          cleanup
  %1905 = extractvalue { ptr, i32 } %1904, 0
  store ptr %1905, ptr %4, align 8
  %1906 = extractvalue { ptr, i32 } %1904, 1
  store i32 %1906, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %1937

1907:                                             ; preds = %1902, %1894
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  %1908 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1909 = add nsw i32 %1908, 1
  store i32 %1909, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %166) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %1910 unwind label %1940

1910:                                             ; preds = %1907
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %168) #7
  %1911 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1912 = fneg double %1911
  %1913 = call noundef double @_ZN4gcem3erfIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %1912) #7
  store double %1913, ptr %168, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #7
  %1914 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1915 = fneg double %1914
  %1916 = call double @erf(double noundef %1915) #7
  store double %1916, ptr %169, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #7
  %1917 = load double, ptr %168, align 8, !tbaa !15
  %1918 = load double, ptr %169, align 8, !tbaa !15
  %1919 = fsub double %1917, %1918
  %1920 = invoke noundef double @_ZSt3absd(double noundef %1919)
          to label %1921 unwind label %1944

1921:                                             ; preds = %1910
  %1922 = load double, ptr %169, align 8, !tbaa !15
  %1923 = invoke noundef double @_ZSt3absd(double noundef %1922)
          to label %1924 unwind label %1944

1924:                                             ; preds = %1921
  %1925 = fadd double 1.000000e+00, %1923
  %1926 = fdiv double %1920, %1925
  store double %1926, ptr %170, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %171) #7
  store i8 0, ptr %171, align 1, !tbaa !11
  %1927 = load double, ptr %168, align 8, !tbaa !15
  %1928 = fpext double %1927 to x86_fp80
  %1929 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1928)
          to label %1930 unwind label %1948

1930:                                             ; preds = %1924
  br i1 %1929, label %1931, label %1952

1931:                                             ; preds = %1930
  %1932 = load double, ptr %169, align 8, !tbaa !15
  %1933 = fpext double %1932 to x86_fp80
  %1934 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1933)
          to label %1935 unwind label %1948

1935:                                             ; preds = %1931
  br i1 %1934, label %1936, label %1952

1936:                                             ; preds = %1935
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1985

1937:                                             ; preds = %1903, %1888, %1858
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  br label %1938

1938:                                             ; preds = %1937, %1854
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #7
  br label %1939

1939:                                             ; preds = %1938, %1850
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  br label %2014

1940:                                             ; preds = %1907
  %1941 = landingpad { ptr, i32 }
          cleanup
  %1942 = extractvalue { ptr, i32 } %1941, 0
  store ptr %1942, ptr %4, align 8
  %1943 = extractvalue { ptr, i32 } %1941, 1
  store i32 %1943, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  br label %2004

1944:                                             ; preds = %1921, %1910
  %1945 = landingpad { ptr, i32 }
          cleanup
  %1946 = extractvalue { ptr, i32 } %1945, 0
  store ptr %1946, ptr %4, align 8
  %1947 = extractvalue { ptr, i32 } %1945, 1
  store i32 %1947, ptr %5, align 4
  br label %2003

1948:                                             ; preds = %1988, %1971, %1957, %1952, %1931, %1924
  %1949 = landingpad { ptr, i32 }
          cleanup
  %1950 = extractvalue { ptr, i32 } %1949, 0
  store ptr %1950, ptr %4, align 8
  %1951 = extractvalue { ptr, i32 } %1949, 1
  store i32 %1951, ptr %5, align 4
  br label %2002

1952:                                             ; preds = %1935, %1930
  %1953 = load double, ptr %168, align 8, !tbaa !15
  %1954 = fpext double %1953 to x86_fp80
  %1955 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1954)
          to label %1956 unwind label %1948

1956:                                             ; preds = %1952
  br i1 %1955, label %1967, label %1957

1957:                                             ; preds = %1956
  %1958 = load double, ptr %168, align 8, !tbaa !15
  %1959 = fpext double %1958 to x86_fp80
  %1960 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1959)
          to label %1961 unwind label %1948

1961:                                             ; preds = %1957
  br i1 %1960, label %1962, label %1967

1962:                                             ; preds = %1961
  %1963 = load double, ptr %168, align 8, !tbaa !15
  %1964 = load double, ptr %169, align 8, !tbaa !15
  %1965 = fcmp oeq double %1963, %1964
  br i1 %1965, label %1966, label %1967

1966:                                             ; preds = %1962
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1984

1967:                                             ; preds = %1962, %1961, %1956
  %1968 = load double, ptr %170, align 8, !tbaa !15
  %1969 = fcmp olt double %1968, 0x3D719799812DEA11
  br i1 %1969, label %1970, label %1971

1970:                                             ; preds = %1967
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1983

1971:                                             ; preds = %1967
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %1972 unwind label %1948

1972:                                             ; preds = %1971
  %1973 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1974 = load double, ptr %168, align 8, !tbaa !15
  %1975 = load double, ptr %169, align 8, !tbaa !15
  %1976 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1977 = fneg double %1976
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %172, i32 noundef %1973, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %1974, double noundef %1975, double noundef %1977)
          to label %1978 unwind label %1979

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

1979:                                             ; preds = %1972
  %1980 = landingpad { ptr, i32 }
          cleanup
  %1981 = extractvalue { ptr, i32 } %1980, 0
  store ptr %1981, ptr %4, align 8
  %1982 = extractvalue { ptr, i32 } %1980, 1
  store i32 %1982, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #7
  br label %2002

1983:                                             ; preds = %1978, %1970
  br label %1984

1984:                                             ; preds = %1983, %1966
  br label %1985

1985:                                             ; preds = %1984, %1936
  %1986 = load i8, ptr %171, align 1, !tbaa !11, !range !13, !noundef !14
  %1987 = trunc i8 %1986 to i1
  br i1 %1987, label %1988, label %1999

1988:                                             ; preds = %1985
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %1989 unwind label %1948

1989:                                             ; preds = %1988
  %1990 = load double, ptr %168, align 8, !tbaa !15
  %1991 = load double, ptr %170, align 8, !tbaa !15
  %1992 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %1993 = fneg double %1992
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %173, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %1990, double noundef %1991, double noundef %1993)
          to label %1994 unwind label %1995

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

1995:                                             ; preds = %1989
  %1996 = landingpad { ptr, i32 }
          cleanup
  %1997 = extractvalue { ptr, i32 } %1996, 0
  store ptr %1997, ptr %4, align 8
  %1998 = extractvalue { ptr, i32 } %1996, 1
  store i32 %1998, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #7
  br label %2002

1999:                                             ; preds = %1994, %1985
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %175) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %175)
          to label %2000 unwind label %2005

2000:                                             ; preds = %1999
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %174)
          to label %2001 unwind label %2009

2001:                                             ; preds = %2000
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #7
  ret i32 0

2002:                                             ; preds = %1995, %1979, %1948
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #7
  br label %2003

2003:                                             ; preds = %2002, %1944
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #7
  br label %2004

2004:                                             ; preds = %2003, %1940
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #7
  br label %2014

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

2009:                                             ; preds = %2000
  %2010 = landingpad { ptr, i32 }
          cleanup
  %2011 = extractvalue { ptr, i32 } %2010, 0
  store ptr %2011, ptr %4, align 8
  %2012 = extractvalue { ptr, i32 } %2010, 1
  store i32 %2012, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #7
  br label %2013

2013:                                             ; preds = %2009, %2005
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #7
  br label %2014

2014:                                             ; preds = %2013, %2004, %1939, %1849, %1761, %1672, %1586, %1500, %1414, %1328, %1242, %1156, %1070, %984, %898, %812, %726, %640, %554, %468, %382, %296, %210
  %2015 = load ptr, ptr %4, align 8
  %2016 = load i32, ptr %5, align 4
  %2017 = insertvalue { ptr, i32 } poison, ptr %2015, 0
  %2018 = insertvalue { ptr, i32 } %2017, i32 %2016, 1
  resume { ptr, i32 } %2018
}

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3erfe(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_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 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_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) #1

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #3 align 2

; Function Attrs: nounwind
declare double @erf(double noundef) #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, double noundef) #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, double noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) #1

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

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"double", !7, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

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

@GCEM_TEST_NUMBER = external dso_local local_unnamed_addr global i32, align 4
@.str = external hidden unnamed_addr constant [4 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [10 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
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %2) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %2)
          to label %89 unwind label %104

89:                                               ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %1)
          to label %90 unwind label %106

90:                                               ; preds = %89
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #7
  %91 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %92 = add nsw i32 %91, 1
  store i32 %92, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %93 unwind label %109

93:                                               ; preds = %90
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  %94 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC000C000000000000000) #7
  %95 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC000C000000000000000)
  %96 = fsub x86_fp80 %94, %95
  %97 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %96)
  %98 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %95)
  %99 = fadd x86_fp80 %98, 0xK3FFF8000000000000000
  %100 = fdiv x86_fp80 %97, %99
  %101 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %94)
  br i1 %101, label %102, label %113

102:                                              ; preds = %93
  %103 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %95)
  br i1 %103, label %125, label %113

104:                                              ; preds = %0
  %105 = landingpad { ptr, i32 }
          cleanup
  br label %108

106:                                              ; preds = %89
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #7
  br label %108

108:                                              ; preds = %106, %104
  %.pn = phi { ptr, i32 } [ %107, %106 ], [ %105, %104 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #7
  br label %860

109:                                              ; preds = %90
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  br label %143

111:                                              ; preds = %125, %120
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %142

113:                                              ; preds = %102, %93
  %114 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %94)
  br i1 %114, label %119, label %115

115:                                              ; preds = %113
  %116 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %94)
  %117 = fcmp oeq x86_fp80 %94, %95
  %or.cond = and i1 %117, %116
  %118 = fcmp olt x86_fp80 %100, 0xK3FD78CBCCC096F508800
  %or.cond560 = or i1 %118, %or.cond
  br i1 %or.cond560, label %125, label %120

119:                                              ; preds = %113
  %.old = fcmp olt x86_fp80 %100, 0xK3FD78CBCCC096F508800
  br i1 %.old, label %125, label %120

120:                                              ; preds = %115, %119
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %121 unwind label %111

121:                                              ; preds = %120
  %122 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %5, i32 noundef %122, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %94, x86_fp80 noundef %95, x86_fp80 noundef 0xKC000C000000000000000)
          to label %.critedge unwind label %123

123:                                              ; preds = %121
  %124 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %142

125:                                              ; preds = %102, %115, %119
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %126 unwind label %111

126:                                              ; preds = %125
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %6, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %94, x86_fp80 noundef %100, x86_fp80 noundef 0xKC000C000000000000000)
          to label %.critedge unwind label %127

127:                                              ; preds = %126
  %128 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %142

.critedge:                                        ; preds = %126, %121
  %.sink = phi ptr [ %5, %121 ], [ %6, %126 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  %129 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %130 = add nsw i32 %129, 1
  store i32 %130, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %131 unwind label %144

131:                                              ; preds = %.critedge
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #7
  %132 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC000A000000000000000) #7
  %133 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC000A000000000000000)
  %134 = fsub x86_fp80 %132, %133
  %135 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %134)
  %136 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %133)
  %137 = fadd x86_fp80 %136, 0xK3FFF8000000000000000
  %138 = fdiv x86_fp80 %135, %137
  %139 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %132)
  br i1 %139, label %140, label %148

140:                                              ; preds = %131
  %141 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %133)
  br i1 %141, label %160, label %148

142:                                              ; preds = %127, %123, %111
  %.pn434 = phi { ptr, i32 } [ %128, %127 ], [ %112, %111 ], [ %124, %123 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %143

143:                                              ; preds = %142, %109
  %.pn434.pn = phi { ptr, i32 } [ %.pn434, %142 ], [ %110, %109 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %860

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

146:                                              ; preds = %160, %155
  %147 = landingpad { ptr, i32 }
          cleanup
  br label %177

148:                                              ; preds = %140, %131
  %149 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %132)
  br i1 %149, label %154, label %150

150:                                              ; preds = %148
  %151 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %132)
  %152 = fcmp oeq x86_fp80 %132, %133
  %or.cond500 = and i1 %152, %151
  %153 = fcmp olt x86_fp80 %138, 0xK3FD78CBCCC096F508800
  %or.cond562 = or i1 %153, %or.cond500
  br i1 %or.cond562, label %160, label %155

154:                                              ; preds = %148
  %.old561 = fcmp olt x86_fp80 %138, 0xK3FD78CBCCC096F508800
  br i1 %.old561, label %160, label %155

155:                                              ; preds = %150, %154
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %156 unwind label %146

156:                                              ; preds = %155
  %157 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %9, i32 noundef %157, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %132, x86_fp80 noundef %133, x86_fp80 noundef 0xKC000A000000000000000)
          to label %.critedge502 unwind label %158

158:                                              ; preds = %156
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %177

160:                                              ; preds = %140, %150, %154
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %161 unwind label %146

161:                                              ; preds = %160
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %10, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %132, x86_fp80 noundef %138, x86_fp80 noundef 0xKC000A000000000000000)
          to label %.critedge502 unwind label %162

162:                                              ; preds = %161
  %163 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %177

.critedge502:                                     ; preds = %161, %156
  %.sink601 = phi ptr [ %9, %156 ], [ %10, %161 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink601) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  %164 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %165 = add nsw i32 %164, 1
  store i32 %165, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %166 unwind label %179

166:                                              ; preds = %.critedge502
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  %167 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC000870A3D70A3D70A3D) #7
  %168 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC000870A3D70A3D70A3D)
  %169 = fsub x86_fp80 %167, %168
  %170 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %169)
  %171 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %168)
  %172 = fadd x86_fp80 %171, 0xK3FFF8000000000000000
  %173 = fdiv x86_fp80 %170, %172
  %174 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %167)
  br i1 %174, label %175, label %183

175:                                              ; preds = %166
  %176 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %168)
  br i1 %176, label %195, label %183

177:                                              ; preds = %162, %158, %146
  %.pn437 = phi { ptr, i32 } [ %163, %162 ], [ %147, %146 ], [ %159, %158 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %178

178:                                              ; preds = %177, %144
  %.pn437.pn = phi { ptr, i32 } [ %.pn437, %177 ], [ %145, %144 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %860

179:                                              ; preds = %.critedge502
  %180 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  br label %213

181:                                              ; preds = %195, %190
  %182 = landingpad { ptr, i32 }
          cleanup
  br label %212

183:                                              ; preds = %175, %166
  %184 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %167)
  br i1 %184, label %189, label %185

185:                                              ; preds = %183
  %186 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %167)
  %187 = fcmp oeq x86_fp80 %167, %168
  %or.cond503 = and i1 %187, %186
  %188 = fcmp olt x86_fp80 %173, 0xK3FD78CBCCC096F508800
  %or.cond564 = or i1 %188, %or.cond503
  br i1 %or.cond564, label %195, label %190

189:                                              ; preds = %183
  %.old563 = fcmp olt x86_fp80 %173, 0xK3FD78CBCCC096F508800
  br i1 %.old563, label %195, label %190

190:                                              ; preds = %185, %189
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %191 unwind label %181

191:                                              ; preds = %190
  %192 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %13, i32 noundef %192, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %167, x86_fp80 noundef %168, x86_fp80 noundef 0xKC000870A3D70A3D70A3D)
          to label %.critedge505 unwind label %193

193:                                              ; preds = %191
  %194 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %212

195:                                              ; preds = %175, %185, %189
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %196 unwind label %181

196:                                              ; preds = %195
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %14, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %167, x86_fp80 noundef %173, x86_fp80 noundef 0xKC000870A3D70A3D70A3D)
          to label %.critedge505 unwind label %197

197:                                              ; preds = %196
  %198 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %212

.critedge505:                                     ; preds = %196, %191
  %.sink602 = phi ptr [ %13, %191 ], [ %14, %196 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink602) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  %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 nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %201 unwind label %214

201:                                              ; preds = %.critedge505
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  %202 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC000865604189374BC6A) #7
  %203 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC000865604189374BC6A)
  %204 = fsub x86_fp80 %202, %203
  %205 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %204)
  %206 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %203)
  %207 = fadd x86_fp80 %206, 0xK3FFF8000000000000000
  %208 = fdiv x86_fp80 %205, %207
  %209 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %202)
  br i1 %209, label %210, label %218

210:                                              ; preds = %201
  %211 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %203)
  br i1 %211, label %230, label %218

212:                                              ; preds = %197, %193, %181
  %.pn440 = phi { ptr, i32 } [ %198, %197 ], [ %182, %181 ], [ %194, %193 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %213

213:                                              ; preds = %212, %179
  %.pn440.pn = phi { ptr, i32 } [ %.pn440, %212 ], [ %180, %179 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %860

214:                                              ; preds = %.critedge505
  %215 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  br label %248

216:                                              ; preds = %230, %225
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %247

218:                                              ; preds = %210, %201
  %219 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %202)
  br i1 %219, label %224, label %220

220:                                              ; preds = %218
  %221 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %202)
  %222 = fcmp oeq x86_fp80 %202, %203
  %or.cond506 = and i1 %222, %221
  %223 = fcmp olt x86_fp80 %208, 0xK3FD78CBCCC096F508800
  %or.cond566 = or i1 %223, %or.cond506
  br i1 %or.cond566, label %230, label %225

224:                                              ; preds = %218
  %.old565 = fcmp olt x86_fp80 %208, 0xK3FD78CBCCC096F508800
  br i1 %.old565, label %230, label %225

225:                                              ; preds = %220, %224
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %226 unwind label %216

226:                                              ; preds = %225
  %227 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %17, i32 noundef %227, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %202, x86_fp80 noundef %203, x86_fp80 noundef 0xKC000865604189374BC6A)
          to label %.critedge508 unwind label %228

228:                                              ; preds = %226
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %247

230:                                              ; preds = %210, %220, %224
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %231 unwind label %216

231:                                              ; preds = %230
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %18, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %202, x86_fp80 noundef %208, x86_fp80 noundef 0xKC000865604189374BC6A)
          to label %.critedge508 unwind label %232

232:                                              ; preds = %231
  %233 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %247

.critedge508:                                     ; preds = %231, %226
  %.sink603 = phi ptr [ %17, %226 ], [ %18, %231 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink603) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  %234 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %235 = add nsw i32 %234, 1
  store i32 %235, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %236 unwind label %249

236:                                              ; preds = %.critedge508
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  %237 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKC0008000000000000000) #7
  %238 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKC0008000000000000000)
  %239 = fsub x86_fp80 %237, %238
  %240 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %239)
  %241 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %238)
  %242 = fadd x86_fp80 %241, 0xK3FFF8000000000000000
  %243 = fdiv x86_fp80 %240, %242
  %244 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %237)
  br i1 %244, label %245, label %253

245:                                              ; preds = %236
  %246 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %238)
  br i1 %246, label %265, label %253

247:                                              ; preds = %232, %228, %216
  %.pn443 = phi { ptr, i32 } [ %233, %232 ], [ %217, %216 ], [ %229, %228 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %248

248:                                              ; preds = %247, %214
  %.pn443.pn = phi { ptr, i32 } [ %.pn443, %247 ], [ %215, %214 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %860

249:                                              ; preds = %.critedge508
  %250 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  br label %283

251:                                              ; preds = %265, %260
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %282

253:                                              ; preds = %245, %236
  %254 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %237)
  br i1 %254, label %259, label %255

255:                                              ; preds = %253
  %256 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %237)
  %257 = fcmp oeq x86_fp80 %237, %238
  %or.cond509 = and i1 %257, %256
  %258 = fcmp olt x86_fp80 %243, 0xK3FD78CBCCC096F508800
  %or.cond568 = or i1 %258, %or.cond509
  br i1 %or.cond568, label %265, label %260

259:                                              ; preds = %253
  %.old567 = fcmp olt x86_fp80 %243, 0xK3FD78CBCCC096F508800
  br i1 %.old567, label %265, label %260

260:                                              ; preds = %255, %259
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %261 unwind label %251

261:                                              ; preds = %260
  %262 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %21, i32 noundef %262, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %237, x86_fp80 noundef %238, x86_fp80 noundef 0xKC0008000000000000000)
          to label %.critedge511 unwind label %263

263:                                              ; preds = %261
  %264 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %282

265:                                              ; preds = %245, %255, %259
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %266 unwind label %251

266:                                              ; preds = %265
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %22, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %237, x86_fp80 noundef %243, x86_fp80 noundef 0xKC0008000000000000000)
          to label %.critedge511 unwind label %267

267:                                              ; preds = %266
  %268 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %282

.critedge511:                                     ; preds = %266, %261
  %.sink604 = phi ptr [ %21, %261 ], [ %22, %266 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink604) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  %269 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %270 = add nsw i32 %269, 1
  store i32 %270, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %271 unwind label %284

271:                                              ; preds = %.critedge511
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  %272 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFFA666666666666666) #7
  %273 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKBFFFA666666666666666)
  %274 = fsub x86_fp80 %272, %273
  %275 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %274)
  %276 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %273)
  %277 = fadd x86_fp80 %276, 0xK3FFF8000000000000000
  %278 = fdiv x86_fp80 %275, %277
  %279 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %272)
  br i1 %279, label %280, label %288

280:                                              ; preds = %271
  %281 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %273)
  br i1 %281, label %300, label %288

282:                                              ; preds = %267, %263, %251
  %.pn446 = phi { ptr, i32 } [ %268, %267 ], [ %252, %251 ], [ %264, %263 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %283

283:                                              ; preds = %282, %249
  %.pn446.pn = phi { ptr, i32 } [ %.pn446, %282 ], [ %250, %249 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %860

284:                                              ; preds = %.critedge511
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  br label %318

286:                                              ; preds = %300, %295
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %317

288:                                              ; preds = %280, %271
  %289 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %272)
  br i1 %289, label %294, label %290

290:                                              ; preds = %288
  %291 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %272)
  %292 = fcmp oeq x86_fp80 %272, %273
  %or.cond512 = and i1 %292, %291
  %293 = fcmp olt x86_fp80 %278, 0xK3FD78CBCCC096F508800
  %or.cond570 = or i1 %293, %or.cond512
  br i1 %or.cond570, label %300, label %295

294:                                              ; preds = %288
  %.old569 = fcmp olt x86_fp80 %278, 0xK3FD78CBCCC096F508800
  br i1 %.old569, label %300, label %295

295:                                              ; preds = %290, %294
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %296 unwind label %286

296:                                              ; preds = %295
  %297 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %25, i32 noundef %297, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %272, x86_fp80 noundef %273, x86_fp80 noundef 0xKBFFFA666666666666666)
          to label %.critedge514 unwind label %298

298:                                              ; preds = %296
  %299 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %317

300:                                              ; preds = %280, %290, %294
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %301 unwind label %286

301:                                              ; preds = %300
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %26, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %272, x86_fp80 noundef %278, x86_fp80 noundef 0xKBFFFA666666666666666)
          to label %.critedge514 unwind label %302

302:                                              ; preds = %301
  %303 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %317

.critedge514:                                     ; preds = %301, %296
  %.sink605 = phi ptr [ %25, %296 ], [ %26, %301 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink605) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  %304 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %305 = add nsw i32 %304, 1
  store i32 %305, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %306 unwind label %319

306:                                              ; preds = %.critedge514
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  %307 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFEB333333333333333) #7
  %308 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKBFFEB333333333333333)
  %309 = fsub x86_fp80 %307, %308
  %310 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %309)
  %311 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %308)
  %312 = fadd x86_fp80 %311, 0xK3FFF8000000000000000
  %313 = fdiv x86_fp80 %310, %312
  %314 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %307)
  br i1 %314, label %315, label %323

315:                                              ; preds = %306
  %316 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %308)
  br i1 %316, label %335, label %323

317:                                              ; preds = %302, %298, %286
  %.pn449 = phi { ptr, i32 } [ %303, %302 ], [ %287, %286 ], [ %299, %298 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %318

318:                                              ; preds = %317, %284
  %.pn449.pn = phi { ptr, i32 } [ %.pn449, %317 ], [ %285, %284 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %860

319:                                              ; preds = %.critedge514
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  br label %353

321:                                              ; preds = %335, %330
  %322 = landingpad { ptr, i32 }
          cleanup
  br label %352

323:                                              ; preds = %315, %306
  %324 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %307)
  br i1 %324, label %329, label %325

325:                                              ; preds = %323
  %326 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %307)
  %327 = fcmp oeq x86_fp80 %307, %308
  %or.cond515 = and i1 %327, %326
  %328 = fcmp olt x86_fp80 %313, 0xK3FD78CBCCC096F508800
  %or.cond572 = or i1 %328, %or.cond515
  br i1 %or.cond572, label %335, label %330

329:                                              ; preds = %323
  %.old571 = fcmp olt x86_fp80 %313, 0xK3FD78CBCCC096F508800
  br i1 %.old571, label %335, label %330

330:                                              ; preds = %325, %329
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %331 unwind label %321

331:                                              ; preds = %330
  %332 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %29, i32 noundef %332, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %307, x86_fp80 noundef %308, x86_fp80 noundef 0xKBFFEB333333333333333)
          to label %.critedge517 unwind label %333

333:                                              ; preds = %331
  %334 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %352

335:                                              ; preds = %315, %325, %329
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %336 unwind label %321

336:                                              ; preds = %335
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %30, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %307, x86_fp80 noundef %313, x86_fp80 noundef 0xKBFFEB333333333333333)
          to label %.critedge517 unwind label %337

337:                                              ; preds = %336
  %338 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %352

.critedge517:                                     ; preds = %336, %331
  %.sink606 = phi ptr [ %29, %331 ], [ %30, %336 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink606) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  %339 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %340 = add nsw i32 %339, 1
  store i32 %340, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %341 unwind label %354

341:                                              ; preds = %.critedge517
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  %342 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFBCCCCCCCCCCCCCCCD) #7
  %343 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xKBFFBCCCCCCCCCCCCCCCD)
  %344 = fsub x86_fp80 %342, %343
  %345 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %344)
  %346 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %343)
  %347 = fadd x86_fp80 %346, 0xK3FFF8000000000000000
  %348 = fdiv x86_fp80 %345, %347
  %349 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %342)
  br i1 %349, label %350, label %358

350:                                              ; preds = %341
  %351 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %343)
  br i1 %351, label %370, label %358

352:                                              ; preds = %337, %333, %321
  %.pn452 = phi { ptr, i32 } [ %338, %337 ], [ %322, %321 ], [ %334, %333 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %353

353:                                              ; preds = %352, %319
  %.pn452.pn = phi { ptr, i32 } [ %.pn452, %352 ], [ %320, %319 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %860

354:                                              ; preds = %.critedge517
  %355 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  br label %388

356:                                              ; preds = %370, %365
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %387

358:                                              ; preds = %350, %341
  %359 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %342)
  br i1 %359, label %364, label %360

360:                                              ; preds = %358
  %361 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %342)
  %362 = fcmp oeq x86_fp80 %342, %343
  %or.cond518 = and i1 %362, %361
  %363 = fcmp olt x86_fp80 %348, 0xK3FD78CBCCC096F508800
  %or.cond574 = or i1 %363, %or.cond518
  br i1 %or.cond574, label %370, label %365

364:                                              ; preds = %358
  %.old573 = fcmp olt x86_fp80 %348, 0xK3FD78CBCCC096F508800
  br i1 %.old573, label %370, label %365

365:                                              ; preds = %360, %364
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %366 unwind label %356

366:                                              ; preds = %365
  %367 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %33, i32 noundef %367, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %342, x86_fp80 noundef %343, x86_fp80 noundef 0xKBFFBCCCCCCCCCCCCCCCD)
          to label %.critedge520 unwind label %368

368:                                              ; preds = %366
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %387

370:                                              ; preds = %350, %360, %364
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %371 unwind label %356

371:                                              ; preds = %370
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %34, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %342, x86_fp80 noundef %348, x86_fp80 noundef 0xKBFFBCCCCCCCCCCCCCCCD)
          to label %.critedge520 unwind label %372

372:                                              ; preds = %371
  %373 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %387

.critedge520:                                     ; preds = %371, %366
  %.sink607 = phi ptr [ %33, %366 ], [ %34, %371 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink607) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  %374 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %375 = add nsw i32 %374, 1
  store i32 %375, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %376 unwind label %389

376:                                              ; preds = %.critedge520
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  %377 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK00000000000000000000) #7
  %378 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK00000000000000000000)
  %379 = fsub x86_fp80 %377, %378
  %380 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %379)
  %381 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %378)
  %382 = fadd x86_fp80 %381, 0xK3FFF8000000000000000
  %383 = fdiv x86_fp80 %380, %382
  %384 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %377)
  br i1 %384, label %385, label %393

385:                                              ; preds = %376
  %386 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %378)
  br i1 %386, label %405, label %393

387:                                              ; preds = %372, %368, %356
  %.pn455 = phi { ptr, i32 } [ %373, %372 ], [ %357, %356 ], [ %369, %368 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %388

388:                                              ; preds = %387, %354
  %.pn455.pn = phi { ptr, i32 } [ %.pn455, %387 ], [ %355, %354 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %860

389:                                              ; preds = %.critedge520
  %390 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  br label %423

391:                                              ; preds = %405, %400
  %392 = landingpad { ptr, i32 }
          cleanup
  br label %422

393:                                              ; preds = %385, %376
  %394 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %377)
  br i1 %394, label %399, label %395

395:                                              ; preds = %393
  %396 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %377)
  %397 = fcmp oeq x86_fp80 %377, %378
  %or.cond521 = and i1 %397, %396
  %398 = fcmp olt x86_fp80 %383, 0xK3FD78CBCCC096F508800
  %or.cond576 = or i1 %398, %or.cond521
  br i1 %or.cond576, label %405, label %400

399:                                              ; preds = %393
  %.old575 = fcmp olt x86_fp80 %383, 0xK3FD78CBCCC096F508800
  br i1 %.old575, label %405, label %400

400:                                              ; preds = %395, %399
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %401 unwind label %391

401:                                              ; preds = %400
  %402 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %37, i32 noundef %402, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %377, x86_fp80 noundef %378, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge523 unwind label %403

403:                                              ; preds = %401
  %404 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %422

405:                                              ; preds = %385, %395, %399
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %406 unwind label %391

406:                                              ; preds = %405
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %38, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %377, x86_fp80 noundef %383, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge523 unwind label %407

407:                                              ; preds = %406
  %408 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %422

.critedge523:                                     ; preds = %406, %401
  %.sink608 = phi ptr [ %37, %401 ], [ %38, %406 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink608) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  %409 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %410 = add nsw i32 %409, 1
  store i32 %410, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %411 unwind label %424

411:                                              ; preds = %.critedge523
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  %412 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFBCCCCCCCCCCCCCCCD) #7
  %413 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK3FFBCCCCCCCCCCCCCCCD)
  %414 = fsub x86_fp80 %412, %413
  %415 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %414)
  %416 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %413)
  %417 = fadd x86_fp80 %416, 0xK3FFF8000000000000000
  %418 = fdiv x86_fp80 %415, %417
  %419 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %412)
  br i1 %419, label %420, label %428

420:                                              ; preds = %411
  %421 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %413)
  br i1 %421, label %440, label %428

422:                                              ; preds = %407, %403, %391
  %.pn458 = phi { ptr, i32 } [ %408, %407 ], [ %392, %391 ], [ %404, %403 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %423

423:                                              ; preds = %422, %389
  %.pn458.pn = phi { ptr, i32 } [ %.pn458, %422 ], [ %390, %389 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %860

424:                                              ; preds = %.critedge523
  %425 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br label %458

426:                                              ; preds = %440, %435
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %457

428:                                              ; preds = %420, %411
  %429 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %412)
  br i1 %429, label %434, label %430

430:                                              ; preds = %428
  %431 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %412)
  %432 = fcmp oeq x86_fp80 %412, %413
  %or.cond524 = and i1 %432, %431
  %433 = fcmp olt x86_fp80 %418, 0xK3FD78CBCCC096F508800
  %or.cond578 = or i1 %433, %or.cond524
  br i1 %or.cond578, label %440, label %435

434:                                              ; preds = %428
  %.old577 = fcmp olt x86_fp80 %418, 0xK3FD78CBCCC096F508800
  br i1 %.old577, label %440, label %435

435:                                              ; preds = %430, %434
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %436 unwind label %426

436:                                              ; preds = %435
  %437 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %41, i32 noundef %437, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %412, x86_fp80 noundef %413, x86_fp80 noundef 0xK3FFBCCCCCCCCCCCCCCCD)
          to label %.critedge526 unwind label %438

438:                                              ; preds = %436
  %439 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %457

440:                                              ; preds = %420, %430, %434
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %441 unwind label %426

441:                                              ; preds = %440
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %42, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %412, x86_fp80 noundef %418, x86_fp80 noundef 0xK3FFBCCCCCCCCCCCCCCCD)
          to label %.critedge526 unwind label %442

442:                                              ; preds = %441
  %443 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %457

.critedge526:                                     ; preds = %441, %436
  %.sink609 = phi ptr [ %41, %436 ], [ %42, %441 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink609) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  %444 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %446 unwind label %459

446:                                              ; preds = %.critedge526
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  %447 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFEB333333333333333) #7
  %448 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK3FFEB333333333333333)
  %449 = fsub x86_fp80 %447, %448
  %450 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %449)
  %451 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %448)
  %452 = fadd x86_fp80 %451, 0xK3FFF8000000000000000
  %453 = fdiv x86_fp80 %450, %452
  %454 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %447)
  br i1 %454, label %455, label %463

455:                                              ; preds = %446
  %456 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %448)
  br i1 %456, label %475, label %463

457:                                              ; preds = %442, %438, %426
  %.pn461 = phi { ptr, i32 } [ %443, %442 ], [ %427, %426 ], [ %439, %438 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %458

458:                                              ; preds = %457, %424
  %.pn461.pn = phi { ptr, i32 } [ %.pn461, %457 ], [ %425, %424 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  br label %860

459:                                              ; preds = %.critedge526
  %460 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  br label %493

461:                                              ; preds = %475, %470
  %462 = landingpad { ptr, i32 }
          cleanup
  br label %492

463:                                              ; preds = %455, %446
  %464 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %447)
  br i1 %464, label %469, label %465

465:                                              ; preds = %463
  %466 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %447)
  %467 = fcmp oeq x86_fp80 %447, %448
  %or.cond527 = and i1 %467, %466
  %468 = fcmp olt x86_fp80 %453, 0xK3FD78CBCCC096F508800
  %or.cond580 = or i1 %468, %or.cond527
  br i1 %or.cond580, label %475, label %470

469:                                              ; preds = %463
  %.old579 = fcmp olt x86_fp80 %453, 0xK3FD78CBCCC096F508800
  br i1 %.old579, label %475, label %470

470:                                              ; preds = %465, %469
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %471 unwind label %461

471:                                              ; preds = %470
  %472 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %45, i32 noundef %472, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %447, x86_fp80 noundef %448, x86_fp80 noundef 0xK3FFEB333333333333333)
          to label %.critedge529 unwind label %473

473:                                              ; preds = %471
  %474 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %492

475:                                              ; preds = %455, %465, %469
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %476 unwind label %461

476:                                              ; preds = %475
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %46, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %447, x86_fp80 noundef %453, x86_fp80 noundef 0xK3FFEB333333333333333)
          to label %.critedge529 unwind label %477

477:                                              ; preds = %476
  %478 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %492

.critedge529:                                     ; preds = %476, %471
  %.sink610 = phi ptr [ %45, %471 ], [ %46, %476 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink610) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  %479 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %480 = add nsw i32 %479, 1
  store i32 %480, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %481 unwind label %494

481:                                              ; preds = %.critedge529
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  %482 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFA666666666666666) #7
  %483 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK3FFFA666666666666666)
  %484 = fsub x86_fp80 %482, %483
  %485 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %484)
  %486 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %483)
  %487 = fadd x86_fp80 %486, 0xK3FFF8000000000000000
  %488 = fdiv x86_fp80 %485, %487
  %489 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %482)
  br i1 %489, label %490, label %498

490:                                              ; preds = %481
  %491 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %483)
  br i1 %491, label %510, label %498

492:                                              ; preds = %477, %473, %461
  %.pn464 = phi { ptr, i32 } [ %478, %477 ], [ %462, %461 ], [ %474, %473 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %493

493:                                              ; preds = %492, %459
  %.pn464.pn = phi { ptr, i32 } [ %.pn464, %492 ], [ %460, %459 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %860

494:                                              ; preds = %.critedge529
  %495 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  br label %528

496:                                              ; preds = %510, %505
  %497 = landingpad { ptr, i32 }
          cleanup
  br label %527

498:                                              ; preds = %490, %481
  %499 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %482)
  br i1 %499, label %504, label %500

500:                                              ; preds = %498
  %501 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %482)
  %502 = fcmp oeq x86_fp80 %482, %483
  %or.cond530 = and i1 %502, %501
  %503 = fcmp olt x86_fp80 %488, 0xK3FD78CBCCC096F508800
  %or.cond582 = or i1 %503, %or.cond530
  br i1 %or.cond582, label %510, label %505

504:                                              ; preds = %498
  %.old581 = fcmp olt x86_fp80 %488, 0xK3FD78CBCCC096F508800
  br i1 %.old581, label %510, label %505

505:                                              ; preds = %500, %504
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %506 unwind label %496

506:                                              ; preds = %505
  %507 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %49, i32 noundef %507, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %482, x86_fp80 noundef %483, x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %.critedge532 unwind label %508

508:                                              ; preds = %506
  %509 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %527

510:                                              ; preds = %490, %500, %504
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %511 unwind label %496

511:                                              ; preds = %510
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %50, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %482, x86_fp80 noundef %488, x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %.critedge532 unwind label %512

512:                                              ; preds = %511
  %513 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %527

.critedge532:                                     ; preds = %511, %506
  %.sink611 = phi ptr [ %49, %506 ], [ %50, %511 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink611) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  %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 %51) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %516 unwind label %529

516:                                              ; preds = %.critedge532
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  %517 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFA666666666666666) #7
  %518 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK3FFFA666666666666666)
  %519 = fsub x86_fp80 %517, %518
  %520 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %519)
  %521 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %518)
  %522 = fadd x86_fp80 %521, 0xK3FFF8000000000000000
  %523 = fdiv x86_fp80 %520, %522
  %524 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %517)
  br i1 %524, label %525, label %533

525:                                              ; preds = %516
  %526 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %518)
  br i1 %526, label %545, label %533

527:                                              ; preds = %512, %508, %496
  %.pn467 = phi { ptr, i32 } [ %513, %512 ], [ %497, %496 ], [ %509, %508 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %528

528:                                              ; preds = %527, %494
  %.pn467.pn = phi { ptr, i32 } [ %.pn467, %527 ], [ %495, %494 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  br label %860

529:                                              ; preds = %.critedge532
  %530 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  br label %563

531:                                              ; preds = %545, %540
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %562

533:                                              ; preds = %525, %516
  %534 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %517)
  br i1 %534, label %539, label %535

535:                                              ; preds = %533
  %536 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %517)
  %537 = fcmp oeq x86_fp80 %517, %518
  %or.cond533 = and i1 %537, %536
  %538 = fcmp olt x86_fp80 %523, 0xK3FD78CBCCC096F508800
  %or.cond584 = or i1 %538, %or.cond533
  br i1 %or.cond584, label %545, label %540

539:                                              ; preds = %533
  %.old583 = fcmp olt x86_fp80 %523, 0xK3FD78CBCCC096F508800
  br i1 %.old583, label %545, label %540

540:                                              ; preds = %535, %539
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %541 unwind label %531

541:                                              ; preds = %540
  %542 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %53, i32 noundef %542, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %517, x86_fp80 noundef %518, x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %.critedge535 unwind label %543

543:                                              ; preds = %541
  %544 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %562

545:                                              ; preds = %525, %535, %539
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %546 unwind label %531

546:                                              ; preds = %545
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %54, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %517, x86_fp80 noundef %523, x86_fp80 noundef 0xK3FFFA666666666666666)
          to label %.critedge535 unwind label %547

547:                                              ; preds = %546
  %548 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  br label %562

.critedge535:                                     ; preds = %546, %541
  %.sink612 = phi ptr [ %53, %541 ], [ %54, %546 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink612) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  %549 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %550 = add nsw i32 %549, 1
  store i32 %550, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %551 unwind label %564

551:                                              ; preds = %.critedge535
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  %552 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK40008000000000000000) #7
  %553 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK40008000000000000000)
  %554 = fsub x86_fp80 %552, %553
  %555 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %554)
  %556 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %553)
  %557 = fadd x86_fp80 %556, 0xK3FFF8000000000000000
  %558 = fdiv x86_fp80 %555, %557
  %559 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %552)
  br i1 %559, label %560, label %568

560:                                              ; preds = %551
  %561 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %553)
  br i1 %561, label %580, label %568

562:                                              ; preds = %547, %543, %531
  %.pn470 = phi { ptr, i32 } [ %548, %547 ], [ %532, %531 ], [ %544, %543 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %563

563:                                              ; preds = %562, %529
  %.pn470.pn = phi { ptr, i32 } [ %.pn470, %562 ], [ %530, %529 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  br label %860

564:                                              ; preds = %.critedge535
  %565 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  br label %598

566:                                              ; preds = %580, %575
  %567 = landingpad { ptr, i32 }
          cleanup
  br label %597

568:                                              ; preds = %560, %551
  %569 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %552)
  br i1 %569, label %574, label %570

570:                                              ; preds = %568
  %571 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %552)
  %572 = fcmp oeq x86_fp80 %552, %553
  %or.cond536 = and i1 %572, %571
  %573 = fcmp olt x86_fp80 %558, 0xK3FD78CBCCC096F508800
  %or.cond586 = or i1 %573, %or.cond536
  br i1 %or.cond586, label %580, label %575

574:                                              ; preds = %568
  %.old585 = fcmp olt x86_fp80 %558, 0xK3FD78CBCCC096F508800
  br i1 %.old585, label %580, label %575

575:                                              ; preds = %570, %574
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %576 unwind label %566

576:                                              ; preds = %575
  %577 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %57, i32 noundef %577, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %552, x86_fp80 noundef %553, x86_fp80 noundef 0xK40008000000000000000)
          to label %.critedge538 unwind label %578

578:                                              ; preds = %576
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %597

580:                                              ; preds = %560, %570, %574
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %581 unwind label %566

581:                                              ; preds = %580
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %58, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %552, x86_fp80 noundef %558, x86_fp80 noundef 0xK40008000000000000000)
          to label %.critedge538 unwind label %582

582:                                              ; preds = %581
  %583 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %597

.critedge538:                                     ; preds = %581, %576
  %.sink613 = phi ptr [ %57, %576 ], [ %58, %581 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink613) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  %584 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %585 = add nsw i32 %584, 1
  store i32 %585, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %586 unwind label %599

586:                                              ; preds = %.critedge538
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #7
  %587 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000865604189374BC6A) #7
  %588 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK4000865604189374BC6A)
  %589 = fsub x86_fp80 %587, %588
  %590 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %589)
  %591 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %588)
  %592 = fadd x86_fp80 %591, 0xK3FFF8000000000000000
  %593 = fdiv x86_fp80 %590, %592
  %594 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %587)
  br i1 %594, label %595, label %603

595:                                              ; preds = %586
  %596 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %588)
  br i1 %596, label %615, label %603

597:                                              ; preds = %582, %578, %566
  %.pn473 = phi { ptr, i32 } [ %583, %582 ], [ %567, %566 ], [ %579, %578 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %598

598:                                              ; preds = %597, %564
  %.pn473.pn = phi { ptr, i32 } [ %.pn473, %597 ], [ %565, %564 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %860

599:                                              ; preds = %.critedge538
  %600 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #7
  br label %633

601:                                              ; preds = %615, %610
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %632

603:                                              ; preds = %595, %586
  %604 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %587)
  br i1 %604, label %609, label %605

605:                                              ; preds = %603
  %606 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %587)
  %607 = fcmp oeq x86_fp80 %587, %588
  %or.cond539 = and i1 %607, %606
  %608 = fcmp olt x86_fp80 %593, 0xK3FD78CBCCC096F508800
  %or.cond588 = or i1 %608, %or.cond539
  br i1 %or.cond588, label %615, label %610

609:                                              ; preds = %603
  %.old587 = fcmp olt x86_fp80 %593, 0xK3FD78CBCCC096F508800
  br i1 %.old587, label %615, label %610

610:                                              ; preds = %605, %609
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %611 unwind label %601

611:                                              ; preds = %610
  %612 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %61, i32 noundef %612, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %587, x86_fp80 noundef %588, x86_fp80 noundef 0xK4000865604189374BC6A)
          to label %.critedge541 unwind label %613

613:                                              ; preds = %611
  %614 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %632

615:                                              ; preds = %595, %605, %609
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %616 unwind label %601

616:                                              ; preds = %615
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %62, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %587, x86_fp80 noundef %593, x86_fp80 noundef 0xK4000865604189374BC6A)
          to label %.critedge541 unwind label %617

617:                                              ; preds = %616
  %618 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %632

.critedge541:                                     ; preds = %616, %611
  %.sink614 = phi ptr [ %61, %611 ], [ %62, %616 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink614) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  %619 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %620 = add nsw i32 %619, 1
  store i32 %620, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %621 unwind label %634

621:                                              ; preds = %.critedge541
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #7
  %622 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000870A3D70A3D70A3D) #7
  %623 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK4000870A3D70A3D70A3D)
  %624 = fsub x86_fp80 %622, %623
  %625 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %624)
  %626 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %623)
  %627 = fadd x86_fp80 %626, 0xK3FFF8000000000000000
  %628 = fdiv x86_fp80 %625, %627
  %629 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %622)
  br i1 %629, label %630, label %638

630:                                              ; preds = %621
  %631 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %623)
  br i1 %631, label %650, label %638

632:                                              ; preds = %617, %613, %601
  %.pn476 = phi { ptr, i32 } [ %618, %617 ], [ %602, %601 ], [ %614, %613 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %633

633:                                              ; preds = %632, %599
  %.pn476.pn = phi { ptr, i32 } [ %.pn476, %632 ], [ %600, %599 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %860

634:                                              ; preds = %.critedge541
  %635 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #7
  br label %668

636:                                              ; preds = %650, %645
  %637 = landingpad { ptr, i32 }
          cleanup
  br label %667

638:                                              ; preds = %630, %621
  %639 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %622)
  br i1 %639, label %644, label %640

640:                                              ; preds = %638
  %641 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %622)
  %642 = fcmp oeq x86_fp80 %622, %623
  %or.cond542 = and i1 %642, %641
  %643 = fcmp olt x86_fp80 %628, 0xK3FD78CBCCC096F508800
  %or.cond590 = or i1 %643, %or.cond542
  br i1 %or.cond590, label %650, label %645

644:                                              ; preds = %638
  %.old589 = fcmp olt x86_fp80 %628, 0xK3FD78CBCCC096F508800
  br i1 %.old589, label %650, label %645

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

646:                                              ; preds = %645
  %647 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %65, i32 noundef %647, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %622, x86_fp80 noundef %623, x86_fp80 noundef 0xK4000870A3D70A3D70A3D)
          to label %.critedge544 unwind label %648

648:                                              ; preds = %646
  %649 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %667

650:                                              ; preds = %630, %640, %644
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %651 unwind label %636

651:                                              ; preds = %650
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %66, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %622, x86_fp80 noundef %628, x86_fp80 noundef 0xK4000870A3D70A3D70A3D)
          to label %.critedge544 unwind label %652

652:                                              ; preds = %651
  %653 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  br label %667

.critedge544:                                     ; preds = %651, %646
  %.sink615 = phi ptr [ %65, %646 ], [ %66, %651 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink615) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  %654 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %655 = add nsw i32 %654, 1
  store i32 %655, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %656 unwind label %669

656:                                              ; preds = %.critedge544
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #7
  %657 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000A000000000000000) #7
  %658 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK4000A000000000000000)
  %659 = fsub x86_fp80 %657, %658
  %660 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %659)
  %661 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %658)
  %662 = fadd x86_fp80 %661, 0xK3FFF8000000000000000
  %663 = fdiv x86_fp80 %660, %662
  %664 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %657)
  br i1 %664, label %665, label %673

665:                                              ; preds = %656
  %666 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %658)
  br i1 %666, label %685, label %673

667:                                              ; preds = %652, %648, %636
  %.pn479 = phi { ptr, i32 } [ %653, %652 ], [ %637, %636 ], [ %649, %648 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %668

668:                                              ; preds = %667, %634
  %.pn479.pn = phi { ptr, i32 } [ %.pn479, %667 ], [ %635, %634 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  br label %860

669:                                              ; preds = %.critedge544
  %670 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #7
  br label %703

671:                                              ; preds = %685, %680
  %672 = landingpad { ptr, i32 }
          cleanup
  br label %702

673:                                              ; preds = %665, %656
  %674 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %657)
  br i1 %674, label %679, label %675

675:                                              ; preds = %673
  %676 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %657)
  %677 = fcmp oeq x86_fp80 %657, %658
  %or.cond545 = and i1 %677, %676
  %678 = fcmp olt x86_fp80 %663, 0xK3FD78CBCCC096F508800
  %or.cond592 = or i1 %678, %or.cond545
  br i1 %or.cond592, label %685, label %680

679:                                              ; preds = %673
  %.old591 = fcmp olt x86_fp80 %663, 0xK3FD78CBCCC096F508800
  br i1 %.old591, label %685, label %680

680:                                              ; preds = %675, %679
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %681 unwind label %671

681:                                              ; preds = %680
  %682 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %69, i32 noundef %682, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %657, x86_fp80 noundef %658, x86_fp80 noundef 0xK4000A000000000000000)
          to label %.critedge547 unwind label %683

683:                                              ; preds = %681
  %684 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %702

685:                                              ; preds = %665, %675, %679
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %686 unwind label %671

686:                                              ; preds = %685
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %70, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %657, x86_fp80 noundef %663, x86_fp80 noundef 0xK4000A000000000000000)
          to label %.critedge547 unwind label %687

687:                                              ; preds = %686
  %688 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %702

.critedge547:                                     ; preds = %686, %681
  %.sink616 = phi ptr [ %69, %681 ], [ %70, %686 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink616) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  %689 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %690 = add nsw i32 %689, 1
  store i32 %690, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %691 unwind label %704

691:                                              ; preds = %.critedge547
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  %692 = call noundef x86_fp80 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000C000000000000000) #7
  %693 = call noundef x86_fp80 @_ZSt3erfe(x86_fp80 noundef 0xK4000C000000000000000)
  %694 = fsub x86_fp80 %692, %693
  %695 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %694)
  %696 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %693)
  %697 = fadd x86_fp80 %696, 0xK3FFF8000000000000000
  %698 = fdiv x86_fp80 %695, %697
  %699 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %692)
  br i1 %699, label %700, label %708

700:                                              ; preds = %691
  %701 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %693)
  br i1 %701, label %720, label %708

702:                                              ; preds = %687, %683, %671
  %.pn482 = phi { ptr, i32 } [ %688, %687 ], [ %672, %671 ], [ %684, %683 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  br label %703

703:                                              ; preds = %702, %669
  %.pn482.pn = phi { ptr, i32 } [ %.pn482, %702 ], [ %670, %669 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  br label %860

704:                                              ; preds = %.critedge547
  %705 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  br label %742

706:                                              ; preds = %720, %715
  %707 = landingpad { ptr, i32 }
          cleanup
  br label %741

708:                                              ; preds = %700, %691
  %709 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %692)
  br i1 %709, label %714, label %710

710:                                              ; preds = %708
  %711 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %692)
  %712 = fcmp oeq x86_fp80 %692, %693
  %or.cond548 = and i1 %712, %711
  %713 = fcmp olt x86_fp80 %698, 0xK3FD78CBCCC096F508800
  %or.cond594 = or i1 %713, %or.cond548
  br i1 %or.cond594, label %720, label %715

714:                                              ; preds = %708
  %.old593 = fcmp olt x86_fp80 %698, 0xK3FD78CBCCC096F508800
  br i1 %.old593, label %720, label %715

715:                                              ; preds = %710, %714
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %716 unwind label %706

716:                                              ; preds = %715
  %717 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %73, i32 noundef %717, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %692, x86_fp80 noundef %693, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge550 unwind label %718

718:                                              ; preds = %716
  %719 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %741

720:                                              ; preds = %700, %710, %714
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %721 unwind label %706

721:                                              ; preds = %720
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %74, i32 noundef 3, i32 noundef 3, i32 noundef 10, x86_fp80 noundef %692, x86_fp80 noundef %698, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge550 unwind label %722

722:                                              ; preds = %721
  %723 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br label %741

.critedge550:                                     ; preds = %721, %716
  %.sink617 = phi ptr [ %73, %716 ], [ %74, %721 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink617) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  %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 %75) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %726 unwind label %743

726:                                              ; preds = %.critedge550
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #7
  %727 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %728 = call noundef double @_ZN4gcem3erfIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %727) #7
  %729 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %730 = call double @erf(double noundef %729) #7
  %731 = fsub double %728, %730
  %732 = call noundef double @_ZSt3absd(double noundef %731)
  %733 = call noundef double @_ZSt3absd(double noundef %730)
  %734 = fadd double %733, 1.000000e+00
  %735 = fdiv double %732, %734
  %736 = fpext double %728 to x86_fp80
  %737 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %736)
  br i1 %737, label %738, label %747

738:                                              ; preds = %726
  %739 = fpext double %730 to x86_fp80
  %740 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %739)
  br i1 %740, label %760, label %747

741:                                              ; preds = %722, %718, %706
  %.pn485 = phi { ptr, i32 } [ %723, %722 ], [ %707, %706 ], [ %719, %718 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %742

742:                                              ; preds = %741, %704
  %.pn485.pn = phi { ptr, i32 } [ %.pn485, %741 ], [ %705, %704 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  br label %860

743:                                              ; preds = %.critedge550
  %744 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #7
  br label %783

745:                                              ; preds = %760, %754
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %782

747:                                              ; preds = %738, %726
  %748 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %736)
  br i1 %748, label %753, label %749

749:                                              ; preds = %747
  %750 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %736)
  %751 = fcmp oeq double %728, %730
  %or.cond551 = and i1 %751, %750
  %752 = fcmp olt double %735, 0x3D719799812DEA11
  %or.cond596 = or i1 %752, %or.cond551
  br i1 %or.cond596, label %760, label %754

753:                                              ; preds = %747
  %.old595 = fcmp olt double %735, 0x3D719799812DEA11
  br i1 %.old595, label %760, label %754

754:                                              ; preds = %749, %753
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %755 unwind label %745

755:                                              ; preds = %754
  %756 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %757 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %77, i32 noundef %756, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %728, double noundef %730, double noundef %757)
          to label %.critedge553 unwind label %758

758:                                              ; preds = %755
  %759 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %782

760:                                              ; preds = %738, %749, %753
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %761 unwind label %745

761:                                              ; preds = %760
  %762 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %78, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %728, double noundef %735, double noundef %762)
          to label %.critedge553 unwind label %763

763:                                              ; preds = %761
  %764 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  br label %782

.critedge553:                                     ; preds = %761, %755
  %.sink618 = phi ptr [ %77, %755 ], [ %78, %761 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink618) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #7
  %765 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %766 = add nsw i32 %765, 1
  store i32 %766, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %767 unwind label %784

767:                                              ; preds = %.critedge553
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #7
  %768 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %769 = call noundef double @_ZN4gcem3erfIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %768) #7
  %770 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %771 = call double @erf(double noundef %770) #7
  %772 = fsub double %769, %771
  %773 = call noundef double @_ZSt3absd(double noundef %772)
  %774 = call noundef double @_ZSt3absd(double noundef %771)
  %775 = fadd double %774, 1.000000e+00
  %776 = fdiv double %773, %775
  %777 = fpext double %769 to x86_fp80
  %778 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %777)
  br i1 %778, label %779, label %788

779:                                              ; preds = %767
  %780 = fpext double %771 to x86_fp80
  %781 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %780)
  br i1 %781, label %801, label %788

782:                                              ; preds = %763, %758, %745
  %.pn488 = phi { ptr, i32 } [ %764, %763 ], [ %746, %745 ], [ %759, %758 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  br label %783

783:                                              ; preds = %782, %743
  %.pn488.pn = phi { ptr, i32 } [ %.pn488, %782 ], [ %744, %743 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #7
  br label %860

784:                                              ; preds = %.critedge553
  %785 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #7
  br label %826

786:                                              ; preds = %801, %795
  %787 = landingpad { ptr, i32 }
          cleanup
  br label %825

788:                                              ; preds = %779, %767
  %789 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %777)
  br i1 %789, label %794, label %790

790:                                              ; preds = %788
  %791 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %777)
  %792 = fcmp oeq double %769, %771
  %or.cond554 = and i1 %792, %791
  %793 = fcmp olt double %776, 0x3D719799812DEA11
  %or.cond598 = or i1 %793, %or.cond554
  br i1 %or.cond598, label %801, label %795

794:                                              ; preds = %788
  %.old597 = fcmp olt double %776, 0x3D719799812DEA11
  br i1 %.old597, label %801, label %795

795:                                              ; preds = %790, %794
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %796 unwind label %786

796:                                              ; preds = %795
  %797 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %798 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %81, i32 noundef %797, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %769, double noundef %771, double noundef %798)
          to label %.critedge556 unwind label %799

799:                                              ; preds = %796
  %800 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %825

801:                                              ; preds = %779, %790, %794
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %802 unwind label %786

802:                                              ; preds = %801
  %803 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %82, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %769, double noundef %776, double noundef %803)
          to label %.critedge556 unwind label %804

804:                                              ; preds = %802
  %805 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  br label %825

.critedge556:                                     ; preds = %802, %796
  %.sink619 = phi ptr [ %81, %796 ], [ %82, %802 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink619) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #7
  %806 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %807 = add nsw i32 %806, 1
  store i32 %807, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %808 unwind label %827

808:                                              ; preds = %.critedge556
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #7
  %809 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %810 = fneg double %809
  %811 = call noundef double @_ZN4gcem3erfIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %810) #7
  %812 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %813 = call double @erf(double %812)
  %814 = fneg double %813
  %815 = fadd double %811, %813
  %816 = call noundef double @_ZSt3absd(double noundef %815)
  %817 = call noundef double @_ZSt3absd(double noundef %814)
  %818 = fadd double %817, 1.000000e+00
  %819 = fdiv double %816, %818
  %820 = fpext double %811 to x86_fp80
  %821 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %820)
  br i1 %821, label %822, label %831

822:                                              ; preds = %808
  %823 = fpext double %814 to x86_fp80
  %824 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %823)
  br i1 %824, label %845, label %831

825:                                              ; preds = %804, %799, %786
  %.pn491 = phi { ptr, i32 } [ %805, %804 ], [ %787, %786 ], [ %800, %799 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %826

826:                                              ; preds = %825, %784
  %.pn491.pn = phi { ptr, i32 } [ %.pn491, %825 ], [ %785, %784 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #7
  br label %860

827:                                              ; preds = %.critedge556
  %828 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #7
  br label %854

829:                                              ; preds = %845, %838
  %830 = landingpad { ptr, i32 }
          cleanup
  br label %853

831:                                              ; preds = %822, %808
  %832 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %820)
  br i1 %832, label %837, label %833

833:                                              ; preds = %831
  %834 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %820)
  %835 = fcmp oeq double %811, %814
  %or.cond557 = and i1 %835, %834
  %836 = fcmp olt double %819, 0x3D719799812DEA11
  %or.cond600 = or i1 %836, %or.cond557
  br i1 %or.cond600, label %845, label %838

837:                                              ; preds = %831
  %.old599 = fcmp olt double %819, 0x3D719799812DEA11
  br i1 %.old599, label %845, label %838

838:                                              ; preds = %833, %837
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %839 unwind label %829

839:                                              ; preds = %838
  %840 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %841 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %842 = fneg double %841
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %85, i32 noundef %840, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %811, double noundef %814, double noundef %842)
          to label %.critedge559 unwind label %843

843:                                              ; preds = %839
  %844 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %853

845:                                              ; preds = %822, %833, %837
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %846 unwind label %829

846:                                              ; preds = %845
  %847 = call noundef double @_ZNSt14numeric_limitsIdE8infinityEv() #7
  %848 = fneg double %847
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %86, i32 noundef 3, i32 noundef 3, i32 noundef 10, double noundef %811, double noundef %819, double noundef %848)
          to label %.critedge559 unwind label %849

849:                                              ; preds = %846
  %850 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  br label %853

.critedge559:                                     ; preds = %846, %839
  %.sink620 = phi ptr [ %85, %839 ], [ %86, %846 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink620) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %851 unwind label %855

851:                                              ; preds = %.critedge559
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %87)
          to label %852 unwind label %857

852:                                              ; preds = %851
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  ret i32 0

853:                                              ; preds = %849, %843, %829
  %.pn494 = phi { ptr, i32 } [ %850, %849 ], [ %830, %829 ], [ %844, %843 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  br label %854

854:                                              ; preds = %853, %827
  %.pn494.pn = phi { ptr, i32 } [ %.pn494, %853 ], [ %828, %827 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  br label %860

855:                                              ; preds = %.critedge559
  %856 = landingpad { ptr, i32 }
          cleanup
  br label %859

857:                                              ; preds = %851
  %858 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  br label %859

859:                                              ; preds = %857, %855
  %.pn497 = phi { ptr, i32 } [ %858, %857 ], [ %856, %855 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  br label %860

860:                                              ; preds = %859, %854, %826, %783, %742, %703, %668, %633, %598, %563, %528, %493, %458, %423, %388, %353, %318, %283, %248, %213, %178, %143, %108
  %.pn497.pn = phi { ptr, i32 } [ %.pn497, %859 ], [ %.pn494.pn, %854 ], [ %.pn491.pn, %826 ], [ %.pn488.pn, %783 ], [ %.pn485.pn, %742 ], [ %.pn482.pn, %703 ], [ %.pn479.pn, %668 ], [ %.pn476.pn, %633 ], [ %.pn473.pn, %598 ], [ %.pn470.pn, %563 ], [ %.pn467.pn, %528 ], [ %.pn464.pn, %493 ], [ %.pn461.pn, %458 ], [ %.pn458.pn, %423 ], [ %.pn455.pn, %388 ], [ %.pn452.pn, %353 ], [ %.pn449.pn, %318 ], [ %.pn446.pn, %283 ], [ %.pn443.pn, %248 ], [ %.pn440.pn, %213 ], [ %.pn437.pn, %178 ], [ %.pn434.pn, %143 ], [ %.pn, %108 ]
  resume { ptr, i32 } %.pn497.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 @_ZN4gcem3erfIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3erfe(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_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 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_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZN4gcem3erfIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(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: mustprogress nofree nounwind willreturn memory(write)
declare double @erf(double noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, double noundef) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, double 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 uwtable
declare dso_local void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) local_unnamed_addr #1

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

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nofree nounwind willreturn memory(write) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}


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