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

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca i32, align 4
  %2 = alloca %"class.std::__cxx11::basic_string", align 8
  %3 = alloca %"class.std::allocator", align 1
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::allocator", align 1
  %8 = alloca x86_fp80, align 16
  %9 = alloca x86_fp80, align 16
  %10 = alloca i8, align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca x86_fp80, align 16
  %16 = alloca x86_fp80, align 16
  %17 = alloca i8, align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca x86_fp80, align 16
  %23 = alloca x86_fp80, align 16
  %24 = alloca i8, align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca x86_fp80, align 16
  %30 = alloca x86_fp80, align 16
  %31 = alloca i8, align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator", align 1
  %36 = alloca x86_fp80, align 16
  %37 = alloca x86_fp80, align 16
  %38 = alloca i8, align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca x86_fp80, align 16
  %44 = alloca x86_fp80, align 16
  %45 = alloca i8, align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca x86_fp80, align 16
  %51 = alloca x86_fp80, align 16
  %52 = alloca i8, align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca x86_fp80, align 16
  %58 = alloca x86_fp80, align 16
  %59 = alloca i8, align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::allocator", align 1
  %64 = alloca x86_fp80, align 16
  %65 = alloca x86_fp80, align 16
  %66 = alloca i8, align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::allocator", align 1
  %71 = alloca x86_fp80, align 16
  %72 = alloca x86_fp80, align 16
  %73 = alloca i8, align 1
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::allocator", align 1
  %78 = alloca x86_fp80, align 16
  %79 = alloca x86_fp80, align 16
  %80 = alloca i8, align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::allocator", align 1
  %85 = alloca x86_fp80, align 16
  %86 = alloca x86_fp80, align 16
  %87 = alloca i8, align 1
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::allocator", align 1
  %92 = alloca x86_fp80, align 16
  %93 = alloca x86_fp80, align 16
  %94 = alloca i8, align 1
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::allocator", align 1
  %99 = alloca x86_fp80, align 16
  %100 = alloca x86_fp80, align 16
  %101 = alloca i8, align 1
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::allocator", align 1
  %106 = alloca x86_fp80, align 16
  %107 = alloca x86_fp80, align 16
  %108 = alloca i8, align 1
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca %"class.std::allocator", align 1
  %113 = alloca x86_fp80, align 16
  %114 = alloca x86_fp80, align 16
  %115 = alloca i8, align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::allocator", align 1
  %120 = alloca x86_fp80, align 16
  %121 = alloca x86_fp80, align 16
  %122 = alloca i8, align 1
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::allocator", align 1
  %127 = alloca x86_fp80, align 16
  %128 = alloca x86_fp80, align 16
  %129 = alloca i8, align 1
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::allocator", align 1
  %134 = alloca x86_fp80, align 16
  %135 = alloca x86_fp80, align 16
  %136 = alloca i8, align 1
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::allocator", align 1
  %141 = alloca x86_fp80, align 16
  %142 = alloca x86_fp80, align 16
  %143 = alloca i8, align 1
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::allocator", align 1
  %148 = alloca x86_fp80, align 16
  %149 = alloca x86_fp80, align 16
  %150 = alloca i8, align 1
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::__cxx11::basic_string", align 8
  %153 = alloca %"class.std::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::allocator", align 1
  %155 = alloca x86_fp80, align 16
  %156 = alloca x86_fp80, align 16
  %157 = alloca i8, align 1
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::allocator", align 1
  %162 = alloca x86_fp80, align 16
  %163 = alloca x86_fp80, align 16
  %164 = alloca i8, align 1
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::allocator", align 1
  %169 = alloca x86_fp80, align 16
  %170 = alloca x86_fp80, align 16
  %171 = alloca i8, align 1
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::__cxx11::basic_string", align 8
  %175 = alloca %"class.std::allocator", align 1
  %176 = alloca x86_fp80, align 16
  %177 = alloca x86_fp80, align 16
  %178 = alloca i8, align 1
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %"class.std::__cxx11::basic_string", align 8
  %182 = alloca %"class.std::allocator", align 1
  %183 = alloca x86_fp80, align 16
  %184 = alloca x86_fp80, align 16
  %185 = alloca i8, align 1
  %186 = alloca %"class.std::__cxx11::basic_string", align 8
  %187 = alloca %"class.std::__cxx11::basic_string", align 8
  %188 = alloca %"class.std::__cxx11::basic_string", align 8
  %189 = alloca %"class.std::allocator", align 1
  %190 = alloca x86_fp80, align 16
  %191 = alloca x86_fp80, align 16
  %192 = alloca i8, align 1
  %193 = alloca %"class.std::__cxx11::basic_string", align 8
  %194 = alloca %"class.std::__cxx11::basic_string", align 8
  %195 = alloca %"class.std::__cxx11::basic_string", align 8
  %196 = alloca %"class.std::allocator", align 1
  %197 = alloca x86_fp80, align 16
  %198 = alloca x86_fp80, align 16
  %199 = alloca i8, align 1
  %200 = alloca %"class.std::__cxx11::basic_string", align 8
  %201 = alloca %"class.std::__cxx11::basic_string", align 8
  %202 = alloca %"class.std::__cxx11::basic_string", align 8
  %203 = alloca %"class.std::allocator", align 1
  %204 = alloca x86_fp80, align 16
  %205 = alloca x86_fp80, align 16
  %206 = alloca i8, align 1
  %207 = alloca %"class.std::__cxx11::basic_string", align 8
  %208 = alloca %"class.std::__cxx11::basic_string", align 8
  %209 = alloca %"class.std::__cxx11::basic_string", align 8
  %210 = alloca %"class.std::allocator", align 1
  %211 = alloca x86_fp80, align 16
  %212 = alloca x86_fp80, align 16
  %213 = alloca i8, align 1
  %214 = alloca %"class.std::__cxx11::basic_string", align 8
  %215 = alloca %"class.std::__cxx11::basic_string", align 8
  %216 = alloca %"class.std::__cxx11::basic_string", align 8
  %217 = alloca %"class.std::allocator", align 1
  %218 = alloca x86_fp80, align 16
  %219 = alloca x86_fp80, align 16
  %220 = alloca i8, align 1
  %221 = alloca %"class.std::__cxx11::basic_string", align 8
  %222 = alloca %"class.std::__cxx11::basic_string", align 8
  %223 = alloca %"class.std::__cxx11::basic_string", align 8
  %224 = alloca %"class.std::allocator", align 1
  %225 = alloca x86_fp80, align 16
  %226 = alloca x86_fp80, align 16
  %227 = alloca i8, align 1
  %228 = alloca %"class.std::__cxx11::basic_string", align 8
  %229 = alloca %"class.std::__cxx11::basic_string", align 8
  %230 = alloca %"class.std::__cxx11::basic_string", align 8
  %231 = alloca %"class.std::allocator", align 1
  %232 = alloca x86_fp80, align 16
  %233 = alloca x86_fp80, align 16
  %234 = alloca i8, align 1
  %235 = alloca %"class.std::__cxx11::basic_string", align 8
  %236 = alloca %"class.std::__cxx11::basic_string", align 8
  %237 = alloca %"class.std::__cxx11::basic_string", align 8
  %238 = alloca %"class.std::allocator", align 1
  %239 = alloca x86_fp80, align 16
  %240 = alloca x86_fp80, align 16
  %241 = alloca i8, align 1
  %242 = alloca %"class.std::__cxx11::basic_string", align 8
  %243 = alloca %"class.std::__cxx11::basic_string", align 8
  %244 = alloca %"class.std::__cxx11::basic_string", align 8
  %245 = alloca %"class.std::allocator", align 1
  %246 = alloca x86_fp80, align 16
  %247 = alloca x86_fp80, align 16
  %248 = alloca i8, align 1
  %249 = alloca %"class.std::__cxx11::basic_string", align 8
  %250 = alloca %"class.std::__cxx11::basic_string", align 8
  %251 = alloca %"class.std::__cxx11::basic_string", align 8
  %252 = alloca %"class.std::allocator", align 1
  %253 = alloca x86_fp80, align 16
  %254 = alloca x86_fp80, align 16
  %255 = alloca i8, align 1
  %256 = alloca %"class.std::__cxx11::basic_string", align 8
  %257 = alloca %"class.std::__cxx11::basic_string", align 8
  %258 = alloca %"class.std::__cxx11::basic_string", align 8
  %259 = alloca %"class.std::allocator", align 1
  %260 = alloca x86_fp80, align 16
  %261 = alloca x86_fp80, align 16
  %262 = alloca i8, align 1
  %263 = alloca %"class.std::__cxx11::basic_string", align 8
  %264 = alloca %"class.std::__cxx11::basic_string", align 8
  %265 = alloca %"class.std::__cxx11::basic_string", align 8
  %266 = alloca %"class.std::allocator", align 1
  %267 = alloca x86_fp80, align 16
  %268 = alloca x86_fp80, align 16
  %269 = alloca i8, align 1
  %270 = alloca %"class.std::__cxx11::basic_string", align 8
  %271 = alloca %"class.std::__cxx11::basic_string", align 8
  %272 = alloca %"class.std::__cxx11::basic_string", align 8
  %273 = alloca %"class.std::allocator", align 1
  %274 = alloca x86_fp80, align 16
  %275 = alloca x86_fp80, align 16
  %276 = alloca i8, align 1
  %277 = alloca %"class.std::__cxx11::basic_string", align 8
  %278 = alloca %"class.std::__cxx11::basic_string", align 8
  %279 = alloca %"class.std::__cxx11::basic_string", align 8
  %280 = alloca %"class.std::allocator", align 1
  %281 = alloca double, align 8
  %282 = alloca double, align 8
  %283 = alloca i8, align 1
  %284 = alloca %"class.std::__cxx11::basic_string", align 8
  %285 = alloca %"class.std::__cxx11::basic_string", align 8
  %286 = alloca %"class.std::__cxx11::basic_string", align 8
  %287 = alloca %"class.std::allocator", align 1
  %288 = alloca double, align 8
  %289 = alloca double, align 8
  %290 = alloca i8, align 1
  %291 = alloca %"class.std::__cxx11::basic_string", align 8
  %292 = alloca %"class.std::__cxx11::basic_string", align 8
  %293 = alloca %"class.std::__cxx11::basic_string", align 8
  %294 = alloca %"class.std::allocator", align 1
  %295 = alloca x86_fp80, align 16
  %296 = alloca x86_fp80, align 16
  %297 = alloca i8, align 1
  %298 = alloca %"class.std::__cxx11::basic_string", align 8
  %299 = alloca %"class.std::__cxx11::basic_string", align 8
  %300 = alloca %"class.std::__cxx11::basic_string", align 8
  %301 = alloca %"class.std::allocator", align 1
  %302 = alloca x86_fp80, align 16
  %303 = alloca x86_fp80, align 16
  %304 = alloca i8, align 1
  %305 = alloca %"class.std::__cxx11::basic_string", align 8
  %306 = alloca %"class.std::__cxx11::basic_string", align 8
  %307 = alloca %"class.std::__cxx11::basic_string", align 8
  %308 = alloca %"class.std::allocator", align 1
  store i32 0, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 1, ptr %3) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %3)
          to label %309 unwind label %334

309:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2)
          to label %310 unwind label %338

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

313:                                              ; preds = %310
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #6
  %314 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #6
  store x86_fp80 %314, ptr %8, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #6
  %315 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %316 = fsub x86_fp80 %315, 0xK3FFD874A9C9D310C7800
  %317 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %316)
          to label %318 unwind label %347

318:                                              ; preds = %313
  %319 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFD874A9C9D310C7800)
          to label %320 unwind label %347

320:                                              ; preds = %318
  %321 = fadd x86_fp80 0xK3FFF8000000000000000, %319
  %322 = fdiv x86_fp80 %317, %321
  store x86_fp80 %322, ptr %9, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #6
  store i8 0, ptr %10, align 1, !tbaa !11
  %323 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %324 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %323)
          to label %325 unwind label %351

325:                                              ; preds = %320
  br i1 %324, label %355, label %326

326:                                              ; preds = %325
  %327 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %328 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %327)
          to label %329 unwind label %351

329:                                              ; preds = %326
  br i1 %328, label %330, label %355

330:                                              ; preds = %329
  %331 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %332 = fcmp oeq x86_fp80 %331, 0xK3FFD874A9C9D310C7800
  br i1 %332, label %333, label %355

333:                                              ; preds = %330
  store i8 1, ptr %10, align 1, !tbaa !11
  br label %369

334:                                              ; preds = %0
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %4, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %5, align 4
  br label %342

338:                                              ; preds = %309
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %4, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #6
  br label %342

342:                                              ; preds = %338, %334
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #6
  br label %3190

343:                                              ; preds = %310
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %4, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #6
  br label %407

347:                                              ; preds = %318, %313
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %4, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %5, align 4
  br label %406

351:                                              ; preds = %372, %359, %326, %320
  %352 = landingpad { ptr, i32 }
          cleanup
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %4, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %5, align 4
  br label %405

355:                                              ; preds = %330, %329, %325
  %356 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %357 = fcmp olt x86_fp80 %356, 0xK3FD78CBCCC096F508800
  br i1 %357, label %358, label %359

358:                                              ; preds = %355
  store i8 1, ptr %10, align 1, !tbaa !11
  br label %368

359:                                              ; preds = %355
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %360 unwind label %351

360:                                              ; preds = %359
  %361 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %362 = load x86_fp80, ptr %8, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %11, i32 noundef %361, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %362, x86_fp80 noundef 0xK3FFD874A9C9D310C7800, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %363 unwind label %364

363:                                              ; preds = %360
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %368

364:                                              ; preds = %360
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %4, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %405

368:                                              ; preds = %363, %358
  br label %369

369:                                              ; preds = %368, %333
  %370 = load i8, ptr %10, align 1, !tbaa !11, !range !13, !noundef !14
  %371 = trunc i8 %370 to i1
  br i1 %371, label %372, label %381

372:                                              ; preds = %369
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %373 unwind label %351

373:                                              ; preds = %372
  %374 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %375 = load x86_fp80, ptr %9, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %12, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %374, x86_fp80 noundef %375, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %376 unwind label %377

376:                                              ; preds = %373
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %381

377:                                              ; preds = %373
  %378 = landingpad { ptr, i32 }
          cleanup
  %379 = extractvalue { ptr, i32 } %378, 0
  store ptr %379, ptr %4, align 8
  %380 = extractvalue { ptr, i32 } %378, 1
  store i32 %380, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %405

381:                                              ; preds = %376, %369
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #6
  %382 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %383 = add nsw i32 %382, 1
  store i32 %383, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %384 unwind label %408

384:                                              ; preds = %381
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #6
  %385 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #6
  store x86_fp80 %385, ptr %15, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #6
  %386 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %387 = fsub x86_fp80 %386, 0xK3FFDDAED822892A82800
  %388 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %387)
          to label %389 unwind label %412

389:                                              ; preds = %384
  %390 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDDAED822892A82800)
          to label %391 unwind label %412

391:                                              ; preds = %389
  %392 = fadd x86_fp80 0xK3FFF8000000000000000, %390
  %393 = fdiv x86_fp80 %388, %392
  store x86_fp80 %393, ptr %16, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #6
  store i8 0, ptr %17, align 1, !tbaa !11
  %394 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %395 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %394)
          to label %396 unwind label %416

396:                                              ; preds = %391
  br i1 %395, label %420, label %397

397:                                              ; preds = %396
  %398 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %399 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %398)
          to label %400 unwind label %416

400:                                              ; preds = %397
  br i1 %399, label %401, label %420

401:                                              ; preds = %400
  %402 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %403 = fcmp oeq x86_fp80 %402, 0xK3FFDDAED822892A82800
  br i1 %403, label %404, label %420

404:                                              ; preds = %401
  store i8 1, ptr %17, align 1, !tbaa !11
  br label %434

405:                                              ; preds = %377, %364, %351
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  br label %406

406:                                              ; preds = %405, %347
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  br label %407

407:                                              ; preds = %406, %343
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #6
  br label %3190

408:                                              ; preds = %381
  %409 = landingpad { ptr, i32 }
          cleanup
  %410 = extractvalue { ptr, i32 } %409, 0
  store ptr %410, ptr %4, align 8
  %411 = extractvalue { ptr, i32 } %409, 1
  store i32 %411, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #6
  br label %472

412:                                              ; preds = %389, %384
  %413 = landingpad { ptr, i32 }
          cleanup
  %414 = extractvalue { ptr, i32 } %413, 0
  store ptr %414, ptr %4, align 8
  %415 = extractvalue { ptr, i32 } %413, 1
  store i32 %415, ptr %5, align 4
  br label %471

416:                                              ; preds = %437, %424, %397, %391
  %417 = landingpad { ptr, i32 }
          cleanup
  %418 = extractvalue { ptr, i32 } %417, 0
  store ptr %418, ptr %4, align 8
  %419 = extractvalue { ptr, i32 } %417, 1
  store i32 %419, ptr %5, align 4
  br label %470

420:                                              ; preds = %401, %400, %396
  %421 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %422 = fcmp olt x86_fp80 %421, 0xK3FD78CBCCC096F508800
  br i1 %422, label %423, label %424

423:                                              ; preds = %420
  store i8 1, ptr %17, align 1, !tbaa !11
  br label %433

424:                                              ; preds = %420
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %425 unwind label %416

425:                                              ; preds = %424
  %426 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %427 = load x86_fp80, ptr %15, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %18, i32 noundef %426, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %427, x86_fp80 noundef 0xK3FFDDAED822892A82800, x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %428 unwind label %429

428:                                              ; preds = %425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %433

429:                                              ; preds = %425
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %4, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %470

433:                                              ; preds = %428, %423
  br label %434

434:                                              ; preds = %433, %404
  %435 = load i8, ptr %17, align 1, !tbaa !11, !range !13, !noundef !14
  %436 = trunc i8 %435 to i1
  br i1 %436, label %437, label %446

437:                                              ; preds = %434
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %438 unwind label %416

438:                                              ; preds = %437
  %439 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %440 = load x86_fp80, ptr %16, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %19, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %439, x86_fp80 noundef %440, x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %441 unwind label %442

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

442:                                              ; preds = %438
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %4, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %470

446:                                              ; preds = %441, %434
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  %447 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %448 = add nsw i32 %447, 1
  store i32 %448, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %449 unwind label %473

449:                                              ; preds = %446
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #6
  %450 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4000C000000000000000) #6
  store x86_fp80 %450, ptr %22, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #6
  %451 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %452 = fsub x86_fp80 %451, 0xK3FFECD049E66629EA000
  %453 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %452)
          to label %454 unwind label %477

454:                                              ; preds = %449
  %455 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFECD049E66629EA000)
          to label %456 unwind label %477

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

461:                                              ; preds = %456
  br i1 %460, label %485, label %462

462:                                              ; preds = %461
  %463 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %464 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %463)
          to label %465 unwind label %481

465:                                              ; preds = %462
  br i1 %464, label %466, label %485

466:                                              ; preds = %465
  %467 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %468 = fcmp oeq x86_fp80 %467, 0xK3FFECD049E66629EA000
  br i1 %468, label %469, label %485

469:                                              ; preds = %466
  store i8 1, ptr %24, align 1, !tbaa !11
  br label %499

470:                                              ; preds = %442, %429, %416
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #6
  br label %471

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

472:                                              ; preds = %471, %408
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  br label %3190

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

477:                                              ; preds = %454, %449
  %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 %536

481:                                              ; preds = %502, %489, %462, %456
  %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 %535

485:                                              ; preds = %466, %465, %461
  %486 = load x86_fp80, ptr %23, align 16, !tbaa !9
  %487 = fcmp olt x86_fp80 %486, 0xK3FD78CBCCC096F508800
  br i1 %487, label %488, label %489

488:                                              ; preds = %485
  store i8 1, ptr %24, align 1, !tbaa !11
  br label %498

489:                                              ; preds = %485
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %490 unwind label %481

490:                                              ; preds = %489
  %491 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %492 = load x86_fp80, ptr %22, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %25, i32 noundef %491, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %492, x86_fp80 noundef 0xK3FFECD049E66629EA000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %493 unwind label %494

493:                                              ; preds = %490
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %498

494:                                              ; preds = %490
  %495 = landingpad { ptr, i32 }
          cleanup
  %496 = extractvalue { ptr, i32 } %495, 0
  store ptr %496, ptr %4, align 8
  %497 = extractvalue { ptr, i32 } %495, 1
  store i32 %497, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %535

498:                                              ; preds = %493, %488
  br label %499

499:                                              ; preds = %498, %469
  %500 = load i8, ptr %24, align 1, !tbaa !11, !range !13, !noundef !14
  %501 = trunc i8 %500 to i1
  br i1 %501, label %502, label %511

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

503:                                              ; preds = %502
  %504 = load x86_fp80, ptr %22, align 16, !tbaa !9
  %505 = load x86_fp80, ptr %23, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %26, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %504, x86_fp80 noundef %505, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %506 unwind label %507

506:                                              ; preds = %503
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %511

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

511:                                              ; preds = %506, %499
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  %512 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %513 = add nsw i32 %512, 1
  store i32 %513, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %514 unwind label %538

514:                                              ; preds = %511
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #6
  %515 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4001A000000000000000) #6
  store x86_fp80 %515, ptr %29, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #6
  %516 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %517 = fsub x86_fp80 %516, 0xK3FFEF5A6880BFB00B000
  %518 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %517)
          to label %519 unwind label %542

519:                                              ; preds = %514
  %520 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEF5A6880BFB00B000)
          to label %521 unwind label %542

521:                                              ; preds = %519
  %522 = fadd x86_fp80 0xK3FFF8000000000000000, %520
  %523 = fdiv x86_fp80 %518, %522
  store x86_fp80 %523, ptr %30, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #6
  store i8 0, ptr %31, align 1, !tbaa !11
  %524 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %525 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %524)
          to label %526 unwind label %546

526:                                              ; preds = %521
  br i1 %525, label %550, label %527

527:                                              ; preds = %526
  %528 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %529 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %528)
          to label %530 unwind label %546

530:                                              ; preds = %527
  br i1 %529, label %531, label %550

531:                                              ; preds = %530
  %532 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %533 = fcmp oeq x86_fp80 %532, 0xK3FFEF5A6880BFB00B000
  br i1 %533, label %534, label %550

534:                                              ; preds = %531
  store i8 1, ptr %31, align 1, !tbaa !11
  br label %564

535:                                              ; preds = %507, %494, %481
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #6
  br label %536

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

537:                                              ; preds = %536, %473
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  br label %3190

538:                                              ; preds = %511
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %4, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  br label %602

542:                                              ; preds = %519, %514
  %543 = landingpad { ptr, i32 }
          cleanup
  %544 = extractvalue { ptr, i32 } %543, 0
  store ptr %544, ptr %4, align 8
  %545 = extractvalue { ptr, i32 } %543, 1
  store i32 %545, ptr %5, align 4
  br label %601

546:                                              ; preds = %567, %554, %527, %521
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %4, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %5, align 4
  br label %600

550:                                              ; preds = %531, %530, %526
  %551 = load x86_fp80, ptr %30, align 16, !tbaa !9
  %552 = fcmp olt x86_fp80 %551, 0xK3FD78CBCCC096F508800
  br i1 %552, label %553, label %554

553:                                              ; preds = %550
  store i8 1, ptr %31, align 1, !tbaa !11
  br label %563

554:                                              ; preds = %550
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %555 unwind label %546

555:                                              ; preds = %554
  %556 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %557 = load x86_fp80, ptr %29, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %32, i32 noundef %556, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %557, x86_fp80 noundef 0xK3FFEF5A6880BFB00B000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4001A000000000000000)
          to label %558 unwind label %559

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

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

563:                                              ; preds = %558, %553
  br label %564

564:                                              ; preds = %563, %534
  %565 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %566 = trunc i8 %565 to i1
  br i1 %566, label %567, label %576

567:                                              ; preds = %564
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %568 unwind label %546

568:                                              ; preds = %567
  %569 = load x86_fp80, ptr %29, align 16, !tbaa !9
  %570 = load x86_fp80, ptr %30, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %33, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %569, x86_fp80 noundef %570, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4001A000000000000000)
          to label %571 unwind label %572

571:                                              ; preds = %568
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %576

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

576:                                              ; preds = %571, %564
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  %577 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %578 = add nsw i32 %577, 1
  store i32 %578, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %579 unwind label %603

579:                                              ; preds = %576
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #6
  %580 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK40029000000000000000) #6
  store x86_fp80 %580, ptr %36, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #6
  %581 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %582 = fsub x86_fp80 %581, 0xK3FFEFFAF1F4546405800
  %583 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %582)
          to label %584 unwind label %607

584:                                              ; preds = %579
  %585 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFAF1F4546405800)
          to label %586 unwind label %607

586:                                              ; preds = %584
  %587 = fadd x86_fp80 0xK3FFF8000000000000000, %585
  %588 = fdiv x86_fp80 %583, %587
  store x86_fp80 %588, ptr %37, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #6
  store i8 0, ptr %38, align 1, !tbaa !11
  %589 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %590 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %589)
          to label %591 unwind label %611

591:                                              ; preds = %586
  br i1 %590, label %615, label %592

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

595:                                              ; preds = %592
  br i1 %594, label %596, label %615

596:                                              ; preds = %595
  %597 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %598 = fcmp oeq x86_fp80 %597, 0xK3FFEFFAF1F4546405800
  br i1 %598, label %599, label %615

599:                                              ; preds = %596
  store i8 1, ptr %38, align 1, !tbaa !11
  br label %629

600:                                              ; preds = %572, %559, %546
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  br label %601

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

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

603:                                              ; preds = %576
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %4, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #6
  br label %667

607:                                              ; preds = %584, %579
  %608 = landingpad { ptr, i32 }
          cleanup
  %609 = extractvalue { ptr, i32 } %608, 0
  store ptr %609, ptr %4, align 8
  %610 = extractvalue { ptr, i32 } %608, 1
  store i32 %610, ptr %5, align 4
  br label %666

611:                                              ; preds = %632, %619, %592, %586
  %612 = landingpad { ptr, i32 }
          cleanup
  %613 = extractvalue { ptr, i32 } %612, 0
  store ptr %613, ptr %4, align 8
  %614 = extractvalue { ptr, i32 } %612, 1
  store i32 %614, ptr %5, align 4
  br label %665

615:                                              ; preds = %596, %595, %591
  %616 = load x86_fp80, ptr %37, align 16, !tbaa !9
  %617 = fcmp olt x86_fp80 %616, 0xK3FD78CBCCC096F508800
  br i1 %617, label %618, label %619

618:                                              ; preds = %615
  store i8 1, ptr %38, align 1, !tbaa !11
  br label %628

619:                                              ; preds = %615
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %620 unwind label %611

620:                                              ; preds = %619
  %621 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %622 = load x86_fp80, ptr %36, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %39, i32 noundef %621, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %622, x86_fp80 noundef 0xK3FFEFFAF1F4546405800, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK40029000000000000000)
          to label %623 unwind label %624

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

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

628:                                              ; preds = %623, %618
  br label %629

629:                                              ; preds = %628, %599
  %630 = load i8, ptr %38, align 1, !tbaa !11, !range !13, !noundef !14
  %631 = trunc i8 %630 to i1
  br i1 %631, label %632, label %641

632:                                              ; preds = %629
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %633 unwind label %611

633:                                              ; preds = %632
  %634 = load x86_fp80, ptr %36, align 16, !tbaa !9
  %635 = load x86_fp80, ptr %37, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %40, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %634, x86_fp80 noundef %635, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK40029000000000000000)
          to label %636 unwind label %637

636:                                              ; preds = %633
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %641

637:                                              ; preds = %633
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %4, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %665

641:                                              ; preds = %636, %629
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  %642 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %643 = add nsw i32 %642, 1
  store i32 %643, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %644 unwind label %668

644:                                              ; preds = %641
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #6
  %645 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40029000000000000000) #6
  store x86_fp80 %645, ptr %43, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #6
  %646 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %647 = fsub x86_fp80 %646, 0xK3FFF8000000000000000
  %648 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %647)
          to label %649 unwind label %672

649:                                              ; preds = %644
  %650 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %651 unwind label %672

651:                                              ; preds = %649
  %652 = fadd x86_fp80 0xK3FFF8000000000000000, %650
  %653 = fdiv x86_fp80 %648, %652
  store x86_fp80 %653, ptr %44, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #6
  store i8 0, ptr %45, align 1, !tbaa !11
  %654 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %655 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %654)
          to label %656 unwind label %676

656:                                              ; preds = %651
  br i1 %655, label %680, label %657

657:                                              ; preds = %656
  %658 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %659 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %658)
          to label %660 unwind label %676

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

661:                                              ; preds = %660
  %662 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %663 = fcmp oeq x86_fp80 %662, 0xK3FFF8000000000000000
  br i1 %663, label %664, label %680

664:                                              ; preds = %661
  store i8 1, ptr %45, align 1, !tbaa !11
  br label %694

665:                                              ; preds = %637, %624, %611
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #6
  br label %666

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

667:                                              ; preds = %666, %603
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  br label %3190

668:                                              ; preds = %641
  %669 = landingpad { ptr, i32 }
          cleanup
  %670 = extractvalue { ptr, i32 } %669, 0
  store ptr %670, ptr %4, align 8
  %671 = extractvalue { ptr, i32 } %669, 1
  store i32 %671, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #6
  br label %732

672:                                              ; preds = %649, %644
  %673 = landingpad { ptr, i32 }
          cleanup
  %674 = extractvalue { ptr, i32 } %673, 0
  store ptr %674, ptr %4, align 8
  %675 = extractvalue { ptr, i32 } %673, 1
  store i32 %675, ptr %5, align 4
  br label %731

676:                                              ; preds = %697, %684, %657, %651
  %677 = landingpad { ptr, i32 }
          cleanup
  %678 = extractvalue { ptr, i32 } %677, 0
  store ptr %678, ptr %4, align 8
  %679 = extractvalue { ptr, i32 } %677, 1
  store i32 %679, ptr %5, align 4
  br label %730

680:                                              ; preds = %661, %660, %656
  %681 = load x86_fp80, ptr %44, align 16, !tbaa !9
  %682 = fcmp olt x86_fp80 %681, 0xK3FD78CBCCC096F508800
  br i1 %682, label %683, label %684

683:                                              ; preds = %680
  store i8 1, ptr %45, align 1, !tbaa !11
  br label %693

684:                                              ; preds = %680
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %685 unwind label %676

685:                                              ; preds = %684
  %686 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %687 = load x86_fp80, ptr %43, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %46, i32 noundef %686, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %687, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40029000000000000000)
          to label %688 unwind label %689

688:                                              ; preds = %685
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %693

689:                                              ; preds = %685
  %690 = landingpad { ptr, i32 }
          cleanup
  %691 = extractvalue { ptr, i32 } %690, 0
  store ptr %691, ptr %4, align 8
  %692 = extractvalue { ptr, i32 } %690, 1
  store i32 %692, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %730

693:                                              ; preds = %688, %683
  br label %694

694:                                              ; preds = %693, %664
  %695 = load i8, ptr %45, align 1, !tbaa !11, !range !13, !noundef !14
  %696 = trunc i8 %695 to i1
  br i1 %696, label %697, label %706

697:                                              ; preds = %694
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %698 unwind label %676

698:                                              ; preds = %697
  %699 = load x86_fp80, ptr %43, align 16, !tbaa !9
  %700 = load x86_fp80, ptr %44, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %47, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %699, x86_fp80 noundef %700, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40029000000000000000)
          to label %701 unwind label %702

701:                                              ; preds = %698
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %706

702:                                              ; preds = %698
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %4, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %730

706:                                              ; preds = %701, %694
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  %707 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %708 = add nsw i32 %707, 1
  store i32 %708, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %709 unwind label %733

709:                                              ; preds = %706
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #6
  %710 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000) #6
  store x86_fp80 %710, ptr %50, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #6
  %711 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %712 = fsub x86_fp80 %711, 0xK00000000000000000000
  %713 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %712)
          to label %714 unwind label %737

714:                                              ; preds = %709
  %715 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK00000000000000000000)
          to label %716 unwind label %737

716:                                              ; preds = %714
  %717 = fadd x86_fp80 0xK3FFF8000000000000000, %715
  %718 = fdiv x86_fp80 %713, %717
  store x86_fp80 %718, ptr %51, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #6
  store i8 0, ptr %52, align 1, !tbaa !11
  %719 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %720 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %719)
          to label %721 unwind label %741

721:                                              ; preds = %716
  br i1 %720, label %745, label %722

722:                                              ; preds = %721
  %723 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %724 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %723)
          to label %725 unwind label %741

725:                                              ; preds = %722
  br i1 %724, label %726, label %745

726:                                              ; preds = %725
  %727 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %728 = fcmp oeq x86_fp80 %727, 0xK00000000000000000000
  br i1 %728, label %729, label %745

729:                                              ; preds = %726
  store i8 1, ptr %52, align 1, !tbaa !11
  br label %759

730:                                              ; preds = %702, %689, %676
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #6
  br label %731

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

732:                                              ; preds = %731, %668
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %3190

733:                                              ; preds = %706
  %734 = landingpad { ptr, i32 }
          cleanup
  %735 = extractvalue { ptr, i32 } %734, 0
  store ptr %735, ptr %4, align 8
  %736 = extractvalue { ptr, i32 } %734, 1
  store i32 %736, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #6
  br label %797

737:                                              ; preds = %714, %709
  %738 = landingpad { ptr, i32 }
          cleanup
  %739 = extractvalue { ptr, i32 } %738, 0
  store ptr %739, ptr %4, align 8
  %740 = extractvalue { ptr, i32 } %738, 1
  store i32 %740, ptr %5, align 4
  br label %796

741:                                              ; preds = %762, %749, %722, %716
  %742 = landingpad { ptr, i32 }
          cleanup
  %743 = extractvalue { ptr, i32 } %742, 0
  store ptr %743, ptr %4, align 8
  %744 = extractvalue { ptr, i32 } %742, 1
  store i32 %744, ptr %5, align 4
  br label %795

745:                                              ; preds = %726, %725, %721
  %746 = load x86_fp80, ptr %51, align 16, !tbaa !9
  %747 = fcmp olt x86_fp80 %746, 0xK3FD78CBCCC096F508800
  br i1 %747, label %748, label %749

748:                                              ; preds = %745
  store i8 1, ptr %52, align 1, !tbaa !11
  br label %758

749:                                              ; preds = %745
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %750 unwind label %741

750:                                              ; preds = %749
  %751 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %752 = load x86_fp80, ptr %50, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %53, i32 noundef %751, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %752, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %753 unwind label %754

753:                                              ; preds = %750
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %758

754:                                              ; preds = %750
  %755 = landingpad { ptr, i32 }
          cleanup
  %756 = extractvalue { ptr, i32 } %755, 0
  store ptr %756, ptr %4, align 8
  %757 = extractvalue { ptr, i32 } %755, 1
  store i32 %757, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %795

758:                                              ; preds = %753, %748
  br label %759

759:                                              ; preds = %758, %729
  %760 = load i8, ptr %52, align 1, !tbaa !11, !range !13, !noundef !14
  %761 = trunc i8 %760 to i1
  br i1 %761, label %762, label %771

762:                                              ; preds = %759
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %763 unwind label %741

763:                                              ; preds = %762
  %764 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %765 = load x86_fp80, ptr %51, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %54, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %764, x86_fp80 noundef %765, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %766 unwind label %767

766:                                              ; preds = %763
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %771

767:                                              ; preds = %763
  %768 = landingpad { ptr, i32 }
          cleanup
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %4, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %795

771:                                              ; preds = %766, %759
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  %772 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %773 = add nsw i32 %772, 1
  store i32 %773, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %774 unwind label %798

774:                                              ; preds = %771
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #6
  %775 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #6
  store x86_fp80 %775, ptr %57, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #6
  %776 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %777 = fsub x86_fp80 %776, 0xK00000000000000000000
  %778 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %777)
          to label %779 unwind label %802

779:                                              ; preds = %774
  %780 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK00000000000000000000)
          to label %781 unwind label %802

781:                                              ; preds = %779
  %782 = fadd x86_fp80 0xK3FFF8000000000000000, %780
  %783 = fdiv x86_fp80 %778, %782
  store x86_fp80 %783, ptr %58, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #6
  store i8 0, ptr %59, align 1, !tbaa !11
  %784 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %785 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %784)
          to label %786 unwind label %806

786:                                              ; preds = %781
  br i1 %785, label %810, label %787

787:                                              ; preds = %786
  %788 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %789 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %788)
          to label %790 unwind label %806

790:                                              ; preds = %787
  br i1 %789, label %791, label %810

791:                                              ; preds = %790
  %792 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %793 = fcmp oeq x86_fp80 %792, 0xK00000000000000000000
  br i1 %793, label %794, label %810

794:                                              ; preds = %791
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %824

795:                                              ; preds = %767, %754, %741
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #6
  br label %796

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

797:                                              ; preds = %796, %733
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  br label %3190

798:                                              ; preds = %771
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %4, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #6
  br label %862

802:                                              ; preds = %779, %774
  %803 = landingpad { ptr, i32 }
          cleanup
  %804 = extractvalue { ptr, i32 } %803, 0
  store ptr %804, ptr %4, align 8
  %805 = extractvalue { ptr, i32 } %803, 1
  store i32 %805, ptr %5, align 4
  br label %861

806:                                              ; preds = %827, %814, %787, %781
  %807 = landingpad { ptr, i32 }
          cleanup
  %808 = extractvalue { ptr, i32 } %807, 0
  store ptr %808, ptr %4, align 8
  %809 = extractvalue { ptr, i32 } %807, 1
  store i32 %809, ptr %5, align 4
  br label %860

810:                                              ; preds = %791, %790, %786
  %811 = load x86_fp80, ptr %58, align 16, !tbaa !9
  %812 = fcmp olt x86_fp80 %811, 0xK3FD78CBCCC096F508800
  br i1 %812, label %813, label %814

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

814:                                              ; preds = %810
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %815 unwind label %806

815:                                              ; preds = %814
  %816 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %817 = load x86_fp80, ptr %57, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %60, i32 noundef %816, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %817, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %818 unwind label %819

818:                                              ; preds = %815
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %823

819:                                              ; preds = %815
  %820 = landingpad { ptr, i32 }
          cleanup
  %821 = extractvalue { ptr, i32 } %820, 0
  store ptr %821, ptr %4, align 8
  %822 = extractvalue { ptr, i32 } %820, 1
  store i32 %822, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %860

823:                                              ; preds = %818, %813
  br label %824

824:                                              ; preds = %823, %794
  %825 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %826 = trunc i8 %825 to i1
  br i1 %826, label %827, label %836

827:                                              ; preds = %824
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %828 unwind label %806

828:                                              ; preds = %827
  %829 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %830 = load x86_fp80, ptr %58, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %61, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %829, x86_fp80 noundef %830, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %831 unwind label %832

831:                                              ; preds = %828
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %836

832:                                              ; preds = %828
  %833 = landingpad { ptr, i32 }
          cleanup
  %834 = extractvalue { ptr, i32 } %833, 0
  store ptr %834, ptr %4, align 8
  %835 = extractvalue { ptr, i32 } %833, 1
  store i32 %835, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %860

836:                                              ; preds = %831, %824
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  %837 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %838 = add nsw i32 %837, 1
  store i32 %838, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %839 unwind label %863

839:                                              ; preds = %836
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #6
  %840 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK4002B000000000000000) #6
  store x86_fp80 %840, ptr %64, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #6
  %841 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %842 = fsub x86_fp80 %841, 0xK3FFDF5A18F02FC517000
  %843 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %842)
          to label %844 unwind label %867

844:                                              ; preds = %839
  %845 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF5A18F02FC517000)
          to label %846 unwind label %867

846:                                              ; preds = %844
  %847 = fadd x86_fp80 0xK3FFF8000000000000000, %845
  %848 = fdiv x86_fp80 %843, %847
  store x86_fp80 %848, ptr %65, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #6
  store i8 0, ptr %66, align 1, !tbaa !11
  %849 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %850 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %849)
          to label %851 unwind label %871

851:                                              ; preds = %846
  br i1 %850, label %875, label %852

852:                                              ; preds = %851
  %853 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %854 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %853)
          to label %855 unwind label %871

855:                                              ; preds = %852
  br i1 %854, label %856, label %875

856:                                              ; preds = %855
  %857 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %858 = fcmp oeq x86_fp80 %857, 0xK3FFDF5A18F02FC517000
  br i1 %858, label %859, label %875

859:                                              ; preds = %856
  store i8 1, ptr %66, align 1, !tbaa !11
  br label %889

860:                                              ; preds = %832, %819, %806
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #6
  br label %861

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

862:                                              ; preds = %861, %798
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  br label %3190

863:                                              ; preds = %836
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %4, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #6
  br label %927

867:                                              ; preds = %844, %839
  %868 = landingpad { ptr, i32 }
          cleanup
  %869 = extractvalue { ptr, i32 } %868, 0
  store ptr %869, ptr %4, align 8
  %870 = extractvalue { ptr, i32 } %868, 1
  store i32 %870, ptr %5, align 4
  br label %926

871:                                              ; preds = %892, %879, %852, %846
  %872 = landingpad { ptr, i32 }
          cleanup
  %873 = extractvalue { ptr, i32 } %872, 0
  store ptr %873, ptr %4, align 8
  %874 = extractvalue { ptr, i32 } %872, 1
  store i32 %874, ptr %5, align 4
  br label %925

875:                                              ; preds = %856, %855, %851
  %876 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %877 = fcmp olt x86_fp80 %876, 0xK3FD78CBCCC096F508800
  br i1 %877, label %878, label %879

878:                                              ; preds = %875
  store i8 1, ptr %66, align 1, !tbaa !11
  br label %888

879:                                              ; preds = %875
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %880 unwind label %871

880:                                              ; preds = %879
  %881 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %882 = load x86_fp80, ptr %64, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %67, i32 noundef %881, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %882, x86_fp80 noundef 0xK3FFDF5A18F02FC517000, x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK4002B000000000000000)
          to label %883 unwind label %884

883:                                              ; preds = %880
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %888

884:                                              ; preds = %880
  %885 = landingpad { ptr, i32 }
          cleanup
  %886 = extractvalue { ptr, i32 } %885, 0
  store ptr %886, ptr %4, align 8
  %887 = extractvalue { ptr, i32 } %885, 1
  store i32 %887, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %925

888:                                              ; preds = %883, %878
  br label %889

889:                                              ; preds = %888, %859
  %890 = load i8, ptr %66, align 1, !tbaa !11, !range !13, !noundef !14
  %891 = trunc i8 %890 to i1
  br i1 %891, label %892, label %901

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

893:                                              ; preds = %892
  %894 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %895 = load x86_fp80, ptr %65, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %68, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %894, x86_fp80 noundef %895, x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK4002B000000000000000)
          to label %896 unwind label %897

896:                                              ; preds = %893
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %901

897:                                              ; preds = %893
  %898 = landingpad { ptr, i32 }
          cleanup
  %899 = extractvalue { ptr, i32 } %898, 0
  store ptr %899, ptr %4, align 8
  %900 = extractvalue { ptr, i32 } %898, 1
  store i32 %900, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %925

901:                                              ; preds = %896, %889
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  %902 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %903 = add nsw i32 %902, 1
  store i32 %903, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %904 unwind label %928

904:                                              ; preds = %901
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #6
  %905 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK40039000000000000000) #6
  store x86_fp80 %905, ptr %71, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #6
  %906 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %907 = fsub x86_fp80 %906, 0xK3FFEC10D1BD011526000
  %908 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %907)
          to label %909 unwind label %932

909:                                              ; preds = %904
  %910 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEC10D1BD011526000)
          to label %911 unwind label %932

911:                                              ; preds = %909
  %912 = fadd x86_fp80 0xK3FFF8000000000000000, %910
  %913 = fdiv x86_fp80 %908, %912
  store x86_fp80 %913, ptr %72, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %73) #6
  store i8 0, ptr %73, align 1, !tbaa !11
  %914 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %915 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %914)
          to label %916 unwind label %936

916:                                              ; preds = %911
  br i1 %915, label %940, label %917

917:                                              ; preds = %916
  %918 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %919 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %918)
          to label %920 unwind label %936

920:                                              ; preds = %917
  br i1 %919, label %921, label %940

921:                                              ; preds = %920
  %922 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %923 = fcmp oeq x86_fp80 %922, 0xK3FFEC10D1BD011526000
  br i1 %923, label %924, label %940

924:                                              ; preds = %921
  store i8 1, ptr %73, align 1, !tbaa !11
  br label %954

925:                                              ; preds = %897, %884, %871
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  br label %926

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

927:                                              ; preds = %926, %863
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  br label %3190

928:                                              ; preds = %901
  %929 = landingpad { ptr, i32 }
          cleanup
  %930 = extractvalue { ptr, i32 } %929, 0
  store ptr %930, ptr %4, align 8
  %931 = extractvalue { ptr, i32 } %929, 1
  store i32 %931, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  br label %992

932:                                              ; preds = %909, %904
  %933 = landingpad { ptr, i32 }
          cleanup
  %934 = extractvalue { ptr, i32 } %933, 0
  store ptr %934, ptr %4, align 8
  %935 = extractvalue { ptr, i32 } %933, 1
  store i32 %935, ptr %5, align 4
  br label %991

936:                                              ; preds = %957, %944, %917, %911
  %937 = landingpad { ptr, i32 }
          cleanup
  %938 = extractvalue { ptr, i32 } %937, 0
  store ptr %938, ptr %4, align 8
  %939 = extractvalue { ptr, i32 } %937, 1
  store i32 %939, ptr %5, align 4
  br label %990

940:                                              ; preds = %921, %920, %916
  %941 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %942 = fcmp olt x86_fp80 %941, 0xK3FD78CBCCC096F508800
  br i1 %942, label %943, label %944

943:                                              ; preds = %940
  store i8 1, ptr %73, align 1, !tbaa !11
  br label %953

944:                                              ; preds = %940
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %945 unwind label %936

945:                                              ; preds = %944
  %946 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %947 = load x86_fp80, ptr %71, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %74, i32 noundef %946, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %947, x86_fp80 noundef 0xK3FFEC10D1BD011526000, x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK40039000000000000000)
          to label %948 unwind label %949

948:                                              ; preds = %945
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %953

949:                                              ; preds = %945
  %950 = landingpad { ptr, i32 }
          cleanup
  %951 = extractvalue { ptr, i32 } %950, 0
  store ptr %951, ptr %4, align 8
  %952 = extractvalue { ptr, i32 } %950, 1
  store i32 %952, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %990

953:                                              ; preds = %948, %943
  br label %954

954:                                              ; preds = %953, %924
  %955 = load i8, ptr %73, align 1, !tbaa !11, !range !13, !noundef !14
  %956 = trunc i8 %955 to i1
  br i1 %956, label %957, label %966

957:                                              ; preds = %954
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %958 unwind label %936

958:                                              ; preds = %957
  %959 = load x86_fp80, ptr %71, align 16, !tbaa !9
  %960 = load x86_fp80, ptr %72, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %75, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %959, x86_fp80 noundef %960, x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK40039000000000000000)
          to label %961 unwind label %962

961:                                              ; preds = %958
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %966

962:                                              ; preds = %958
  %963 = landingpad { ptr, i32 }
          cleanup
  %964 = extractvalue { ptr, i32 } %963, 0
  store ptr %964, ptr %4, align 8
  %965 = extractvalue { ptr, i32 } %963, 1
  store i32 %965, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %990

966:                                              ; preds = %961, %954
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  %967 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %968 = add nsw i32 %967, 1
  store i32 %968, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %77) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %77)
          to label %969 unwind label %993

969:                                              ; preds = %966
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #6
  %970 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK40039000000000000000) #6
  store x86_fp80 %970, ptr %78, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %79) #6
  %971 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %972 = fsub x86_fp80 %971, 0xK3FFDE0216CD933A6F800
  %973 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %972)
          to label %974 unwind label %997

974:                                              ; preds = %969
  %975 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDE0216CD933A6F800)
          to label %976 unwind label %997

976:                                              ; preds = %974
  %977 = fadd x86_fp80 0xK3FFF8000000000000000, %975
  %978 = fdiv x86_fp80 %973, %977
  store x86_fp80 %978, ptr %79, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #6
  store i8 0, ptr %80, align 1, !tbaa !11
  %979 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %980 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %979)
          to label %981 unwind label %1001

981:                                              ; preds = %976
  br i1 %980, label %1005, label %982

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

985:                                              ; preds = %982
  br i1 %984, label %986, label %1005

986:                                              ; preds = %985
  %987 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %988 = fcmp oeq x86_fp80 %987, 0xK3FFDE0216CD933A6F800
  br i1 %988, label %989, label %1005

989:                                              ; preds = %986
  store i8 1, ptr %80, align 1, !tbaa !11
  br label %1019

990:                                              ; preds = %962, %949, %936
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #6
  br label %991

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

992:                                              ; preds = %991, %928
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  br label %3190

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

997:                                              ; preds = %974, %969
  %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 %1056

1001:                                             ; preds = %1022, %1009, %982, %976
  %1002 = landingpad { ptr, i32 }
          cleanup
  %1003 = extractvalue { ptr, i32 } %1002, 0
  store ptr %1003, ptr %4, align 8
  %1004 = extractvalue { ptr, i32 } %1002, 1
  store i32 %1004, ptr %5, align 4
  br label %1055

1005:                                             ; preds = %986, %985, %981
  %1006 = load x86_fp80, ptr %79, align 16, !tbaa !9
  %1007 = fcmp olt x86_fp80 %1006, 0xK3FD78CBCCC096F508800
  br i1 %1007, label %1008, label %1009

1008:                                             ; preds = %1005
  store i8 1, ptr %80, align 1, !tbaa !11
  br label %1018

1009:                                             ; preds = %1005
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %1010 unwind label %1001

1010:                                             ; preds = %1009
  %1011 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1012 = load x86_fp80, ptr %78, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %81, i32 noundef %1011, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1012, x86_fp80 noundef 0xK3FFDE0216CD933A6F800, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK40039000000000000000)
          to label %1013 unwind label %1014

1013:                                             ; preds = %1010
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %1018

1014:                                             ; preds = %1010
  %1015 = landingpad { ptr, i32 }
          cleanup
  %1016 = extractvalue { ptr, i32 } %1015, 0
  store ptr %1016, ptr %4, align 8
  %1017 = extractvalue { ptr, i32 } %1015, 1
  store i32 %1017, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %1055

1018:                                             ; preds = %1013, %1008
  br label %1019

1019:                                             ; preds = %1018, %989
  %1020 = load i8, ptr %80, align 1, !tbaa !11, !range !13, !noundef !14
  %1021 = trunc i8 %1020 to i1
  br i1 %1021, label %1022, label %1031

1022:                                             ; preds = %1019
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %1023 unwind label %1001

1023:                                             ; preds = %1022
  %1024 = load x86_fp80, ptr %78, align 16, !tbaa !9
  %1025 = load x86_fp80, ptr %79, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %82, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1024, x86_fp80 noundef %1025, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK40039000000000000000)
          to label %1026 unwind label %1027

1026:                                             ; preds = %1023
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %1031

1027:                                             ; preds = %1023
  %1028 = landingpad { ptr, i32 }
          cleanup
  %1029 = extractvalue { ptr, i32 } %1028, 0
  store ptr %1029, ptr %4, align 8
  %1030 = extractvalue { ptr, i32 } %1028, 1
  store i32 %1030, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %1055

1031:                                             ; preds = %1026, %1019
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #6
  %1032 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1033 = add nsw i32 %1032, 1
  store i32 %1033, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %84) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %1034 unwind label %1058

1034:                                             ; preds = %1031
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %85) #6
  %1035 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK40039800000000000000) #6
  store x86_fp80 %1035, ptr %85, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %86) #6
  %1036 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %1037 = fsub x86_fp80 %1036, 0xK3FFDE0F8117955C6E000
  %1038 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1037)
          to label %1039 unwind label %1062

1039:                                             ; preds = %1034
  %1040 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDE0F8117955C6E000)
          to label %1041 unwind label %1062

1041:                                             ; preds = %1039
  %1042 = fadd x86_fp80 0xK3FFF8000000000000000, %1040
  %1043 = fdiv x86_fp80 %1038, %1042
  store x86_fp80 %1043, ptr %86, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #6
  store i8 0, ptr %87, align 1, !tbaa !11
  %1044 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %1045 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1044)
          to label %1046 unwind label %1066

1046:                                             ; preds = %1041
  br i1 %1045, label %1070, label %1047

1047:                                             ; preds = %1046
  %1048 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %1049 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1048)
          to label %1050 unwind label %1066

1050:                                             ; preds = %1047
  br i1 %1049, label %1051, label %1070

1051:                                             ; preds = %1050
  %1052 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %1053 = fcmp oeq x86_fp80 %1052, 0xK3FFDE0F8117955C6E000
  br i1 %1053, label %1054, label %1070

1054:                                             ; preds = %1051
  store i8 1, ptr %87, align 1, !tbaa !11
  br label %1084

1055:                                             ; preds = %1027, %1014, %1001
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #6
  br label %1056

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

1057:                                             ; preds = %1056, %993
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #6
  br label %3190

1058:                                             ; preds = %1031
  %1059 = landingpad { ptr, i32 }
          cleanup
  %1060 = extractvalue { ptr, i32 } %1059, 0
  store ptr %1060, ptr %4, align 8
  %1061 = extractvalue { ptr, i32 } %1059, 1
  store i32 %1061, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #6
  br label %1122

1062:                                             ; preds = %1039, %1034
  %1063 = landingpad { ptr, i32 }
          cleanup
  %1064 = extractvalue { ptr, i32 } %1063, 0
  store ptr %1064, ptr %4, align 8
  %1065 = extractvalue { ptr, i32 } %1063, 1
  store i32 %1065, ptr %5, align 4
  br label %1121

1066:                                             ; preds = %1087, %1074, %1047, %1041
  %1067 = landingpad { ptr, i32 }
          cleanup
  %1068 = extractvalue { ptr, i32 } %1067, 0
  store ptr %1068, ptr %4, align 8
  %1069 = extractvalue { ptr, i32 } %1067, 1
  store i32 %1069, ptr %5, align 4
  br label %1120

1070:                                             ; preds = %1051, %1050, %1046
  %1071 = load x86_fp80, ptr %86, align 16, !tbaa !9
  %1072 = fcmp olt x86_fp80 %1071, 0xK3FD78CBCCC096F508800
  br i1 %1072, label %1073, label %1074

1073:                                             ; preds = %1070
  store i8 1, ptr %87, align 1, !tbaa !11
  br label %1083

1074:                                             ; preds = %1070
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %1075 unwind label %1066

1075:                                             ; preds = %1074
  %1076 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1077 = load x86_fp80, ptr %85, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %88, i32 noundef %1076, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1077, x86_fp80 noundef 0xK3FFDE0F8117955C6E000, x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK40039800000000000000)
          to label %1078 unwind label %1079

1078:                                             ; preds = %1075
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %1083

1079:                                             ; preds = %1075
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %1120

1083:                                             ; preds = %1078, %1073
  br label %1084

1084:                                             ; preds = %1083, %1054
  %1085 = load i8, ptr %87, align 1, !tbaa !11, !range !13, !noundef !14
  %1086 = trunc i8 %1085 to i1
  br i1 %1086, label %1087, label %1096

1087:                                             ; preds = %1084
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %1088 unwind label %1066

1088:                                             ; preds = %1087
  %1089 = load x86_fp80, ptr %85, align 16, !tbaa !9
  %1090 = load x86_fp80, ptr %86, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %89, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1089, x86_fp80 noundef %1090, x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK40039800000000000000)
          to label %1091 unwind label %1092

1091:                                             ; preds = %1088
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %1096

1092:                                             ; preds = %1088
  %1093 = landingpad { ptr, i32 }
          cleanup
  %1094 = extractvalue { ptr, i32 } %1093, 0
  store ptr %1094, ptr %4, align 8
  %1095 = extractvalue { ptr, i32 } %1093, 1
  store i32 %1095, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %1120

1096:                                             ; preds = %1091, %1084
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %85) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  %1097 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1098 = add nsw i32 %1097, 1
  store i32 %1098, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %1099 unwind label %1123

1099:                                             ; preds = %1096
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %92) #6
  %1100 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK40049C00000000000000) #6
  store x86_fp80 %1100, ptr %92, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %93) #6
  %1101 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1102 = fsub x86_fp80 %1101, 0xK3FFE95C5561570411000
  %1103 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1102)
          to label %1104 unwind label %1127

1104:                                             ; preds = %1099
  %1105 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFE95C5561570411000)
          to label %1106 unwind label %1127

1106:                                             ; preds = %1104
  %1107 = fadd x86_fp80 0xK3FFF8000000000000000, %1105
  %1108 = fdiv x86_fp80 %1103, %1107
  store x86_fp80 %1108, ptr %93, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %94) #6
  store i8 0, ptr %94, align 1, !tbaa !11
  %1109 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1110 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1109)
          to label %1111 unwind label %1131

1111:                                             ; preds = %1106
  br i1 %1110, label %1135, label %1112

1112:                                             ; preds = %1111
  %1113 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1114 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1113)
          to label %1115 unwind label %1131

1115:                                             ; preds = %1112
  br i1 %1114, label %1116, label %1135

1116:                                             ; preds = %1115
  %1117 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1118 = fcmp oeq x86_fp80 %1117, 0xK3FFE95C5561570411000
  br i1 %1118, label %1119, label %1135

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

1120:                                             ; preds = %1092, %1079, %1066
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #6
  br label %1121

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

1122:                                             ; preds = %1121, %1058
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  br label %3190

1123:                                             ; preds = %1096
  %1124 = landingpad { ptr, i32 }
          cleanup
  %1125 = extractvalue { ptr, i32 } %1124, 0
  store ptr %1125, ptr %4, align 8
  %1126 = extractvalue { ptr, i32 } %1124, 1
  store i32 %1126, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #6
  br label %1187

1127:                                             ; preds = %1104, %1099
  %1128 = landingpad { ptr, i32 }
          cleanup
  %1129 = extractvalue { ptr, i32 } %1128, 0
  store ptr %1129, ptr %4, align 8
  %1130 = extractvalue { ptr, i32 } %1128, 1
  store i32 %1130, ptr %5, align 4
  br label %1186

1131:                                             ; preds = %1152, %1139, %1112, %1106
  %1132 = landingpad { ptr, i32 }
          cleanup
  %1133 = extractvalue { ptr, i32 } %1132, 0
  store ptr %1133, ptr %4, align 8
  %1134 = extractvalue { ptr, i32 } %1132, 1
  store i32 %1134, ptr %5, align 4
  br label %1185

1135:                                             ; preds = %1116, %1115, %1111
  %1136 = load x86_fp80, ptr %93, align 16, !tbaa !9
  %1137 = fcmp olt x86_fp80 %1136, 0xK3FD78CBCCC096F508800
  br i1 %1137, label %1138, label %1139

1138:                                             ; preds = %1135
  store i8 1, ptr %94, align 1, !tbaa !11
  br label %1148

1139:                                             ; preds = %1135
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %1140 unwind label %1131

1140:                                             ; preds = %1139
  %1141 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1142 = load x86_fp80, ptr %92, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %95, i32 noundef %1141, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1142, x86_fp80 noundef 0xK3FFE95C5561570411000, x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK40049C00000000000000)
          to label %1143 unwind label %1144

1143:                                             ; preds = %1140
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %1148

1144:                                             ; preds = %1140
  %1145 = landingpad { ptr, i32 }
          cleanup
  %1146 = extractvalue { ptr, i32 } %1145, 0
  store ptr %1146, ptr %4, align 8
  %1147 = extractvalue { ptr, i32 } %1145, 1
  store i32 %1147, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %1185

1148:                                             ; preds = %1143, %1138
  br label %1149

1149:                                             ; preds = %1148, %1119
  %1150 = load i8, ptr %94, align 1, !tbaa !11, !range !13, !noundef !14
  %1151 = trunc i8 %1150 to i1
  br i1 %1151, label %1152, label %1161

1152:                                             ; preds = %1149
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %1153 unwind label %1131

1153:                                             ; preds = %1152
  %1154 = load x86_fp80, ptr %92, align 16, !tbaa !9
  %1155 = load x86_fp80, ptr %93, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %96, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1154, x86_fp80 noundef %1155, x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK40049C00000000000000)
          to label %1156 unwind label %1157

1156:                                             ; preds = %1153
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %1161

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

1161:                                             ; preds = %1156, %1149
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #6
  %1162 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1163 = add nsw i32 %1162, 1
  store i32 %1163, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %98) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %1164 unwind label %1188

1164:                                             ; preds = %1161
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %99) #6
  %1165 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK4004DC00000000000000) #6
  store x86_fp80 %1165, ptr %99, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %100) #6
  %1166 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1167 = fsub x86_fp80 %1166, 0xK3FFDEDAE5DD3D1D4F800
  %1168 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1167)
          to label %1169 unwind label %1192

1169:                                             ; preds = %1164
  %1170 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800)
          to label %1171 unwind label %1192

1171:                                             ; preds = %1169
  %1172 = fadd x86_fp80 0xK3FFF8000000000000000, %1170
  %1173 = fdiv x86_fp80 %1168, %1172
  store x86_fp80 %1173, ptr %100, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %101) #6
  store i8 0, ptr %101, align 1, !tbaa !11
  %1174 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1175 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1174)
          to label %1176 unwind label %1196

1176:                                             ; preds = %1171
  br i1 %1175, label %1200, label %1177

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

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

1181:                                             ; preds = %1180
  %1182 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1183 = fcmp oeq x86_fp80 %1182, 0xK3FFDEDAE5DD3D1D4F800
  br i1 %1183, label %1184, label %1200

1184:                                             ; preds = %1181
  store i8 1, ptr %101, align 1, !tbaa !11
  br label %1214

1185:                                             ; preds = %1157, %1144, %1131
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #6
  br label %1186

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

1187:                                             ; preds = %1186, %1123
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #6
  br label %3190

1188:                                             ; preds = %1161
  %1189 = landingpad { ptr, i32 }
          cleanup
  %1190 = extractvalue { ptr, i32 } %1189, 0
  store ptr %1190, ptr %4, align 8
  %1191 = extractvalue { ptr, i32 } %1189, 1
  store i32 %1191, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #6
  br label %1252

1192:                                             ; preds = %1169, %1164
  %1193 = landingpad { ptr, i32 }
          cleanup
  %1194 = extractvalue { ptr, i32 } %1193, 0
  store ptr %1194, ptr %4, align 8
  %1195 = extractvalue { ptr, i32 } %1193, 1
  store i32 %1195, ptr %5, align 4
  br label %1251

1196:                                             ; preds = %1217, %1204, %1177, %1171
  %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
  br label %1250

1200:                                             ; preds = %1181, %1180, %1176
  %1201 = load x86_fp80, ptr %100, align 16, !tbaa !9
  %1202 = fcmp olt x86_fp80 %1201, 0xK3FD78CBCCC096F508800
  br i1 %1202, label %1203, label %1204

1203:                                             ; preds = %1200
  store i8 1, ptr %101, align 1, !tbaa !11
  br label %1213

1204:                                             ; preds = %1200
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %1205 unwind label %1196

1205:                                             ; preds = %1204
  %1206 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1207 = load x86_fp80, ptr %99, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %102, i32 noundef %1206, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1207, x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800, x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK4004DC00000000000000)
          to label %1208 unwind label %1209

1208:                                             ; preds = %1205
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %1213

1209:                                             ; preds = %1205
  %1210 = landingpad { ptr, i32 }
          cleanup
  %1211 = extractvalue { ptr, i32 } %1210, 0
  store ptr %1211, ptr %4, align 8
  %1212 = extractvalue { ptr, i32 } %1210, 1
  store i32 %1212, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %1250

1213:                                             ; preds = %1208, %1203
  br label %1214

1214:                                             ; preds = %1213, %1184
  %1215 = load i8, ptr %101, align 1, !tbaa !11, !range !13, !noundef !14
  %1216 = trunc i8 %1215 to i1
  br i1 %1216, label %1217, label %1226

1217:                                             ; preds = %1214
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %1218 unwind label %1196

1218:                                             ; preds = %1217
  %1219 = load x86_fp80, ptr %99, align 16, !tbaa !9
  %1220 = load x86_fp80, ptr %100, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %103, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1219, x86_fp80 noundef %1220, x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK4004DC00000000000000)
          to label %1221 unwind label %1222

1221:                                             ; preds = %1218
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %1226

1222:                                             ; preds = %1218
  %1223 = landingpad { ptr, i32 }
          cleanup
  %1224 = extractvalue { ptr, i32 } %1223, 0
  store ptr %1224, ptr %4, align 8
  %1225 = extractvalue { ptr, i32 } %1223, 1
  store i32 %1225, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %1250

1226:                                             ; preds = %1221, %1214
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %99) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  %1227 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1228 = add nsw i32 %1227, 1
  store i32 %1228, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %1229 unwind label %1253

1229:                                             ; preds = %1226
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #6
  %1230 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK4005C600000000000000) #6
  store x86_fp80 %1230, ptr %106, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %107) #6
  %1231 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1232 = fsub x86_fp80 %1231, 0xK3FFE8DAD68EBAB941000
  %1233 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1232)
          to label %1234 unwind label %1257

1234:                                             ; preds = %1229
  %1235 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFE8DAD68EBAB941000)
          to label %1236 unwind label %1257

1236:                                             ; preds = %1234
  %1237 = fadd x86_fp80 0xK3FFF8000000000000000, %1235
  %1238 = fdiv x86_fp80 %1233, %1237
  store x86_fp80 %1238, ptr %107, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %108) #6
  store i8 0, ptr %108, align 1, !tbaa !11
  %1239 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1240 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1239)
          to label %1241 unwind label %1261

1241:                                             ; preds = %1236
  br i1 %1240, label %1265, label %1242

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

1245:                                             ; preds = %1242
  br i1 %1244, label %1246, label %1265

1246:                                             ; preds = %1245
  %1247 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1248 = fcmp oeq x86_fp80 %1247, 0xK3FFE8DAD68EBAB941000
  br i1 %1248, label %1249, label %1265

1249:                                             ; preds = %1246
  store i8 1, ptr %108, align 1, !tbaa !11
  br label %1279

1250:                                             ; preds = %1222, %1209, %1196
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #6
  br label %1251

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

1252:                                             ; preds = %1251, %1188
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  br label %3190

1253:                                             ; preds = %1226
  %1254 = landingpad { ptr, i32 }
          cleanup
  %1255 = extractvalue { ptr, i32 } %1254, 0
  store ptr %1255, ptr %4, align 8
  %1256 = extractvalue { ptr, i32 } %1254, 1
  store i32 %1256, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #6
  br label %1317

1257:                                             ; preds = %1234, %1229
  %1258 = landingpad { ptr, i32 }
          cleanup
  %1259 = extractvalue { ptr, i32 } %1258, 0
  store ptr %1259, ptr %4, align 8
  %1260 = extractvalue { ptr, i32 } %1258, 1
  store i32 %1260, ptr %5, align 4
  br label %1316

1261:                                             ; preds = %1282, %1269, %1242, %1236
  %1262 = landingpad { ptr, i32 }
          cleanup
  %1263 = extractvalue { ptr, i32 } %1262, 0
  store ptr %1263, ptr %4, align 8
  %1264 = extractvalue { ptr, i32 } %1262, 1
  store i32 %1264, ptr %5, align 4
  br label %1315

1265:                                             ; preds = %1246, %1245, %1241
  %1266 = load x86_fp80, ptr %107, align 16, !tbaa !9
  %1267 = fcmp olt x86_fp80 %1266, 0xK3FD78CBCCC096F508800
  br i1 %1267, label %1268, label %1269

1268:                                             ; preds = %1265
  store i8 1, ptr %108, align 1, !tbaa !11
  br label %1278

1269:                                             ; preds = %1265
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %1270 unwind label %1261

1270:                                             ; preds = %1269
  %1271 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1272 = load x86_fp80, ptr %106, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %109, i32 noundef %1271, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1272, x86_fp80 noundef 0xK3FFE8DAD68EBAB941000, x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK4005C600000000000000)
          to label %1273 unwind label %1274

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

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

1278:                                             ; preds = %1273, %1268
  br label %1279

1279:                                             ; preds = %1278, %1249
  %1280 = load i8, ptr %108, align 1, !tbaa !11, !range !13, !noundef !14
  %1281 = trunc i8 %1280 to i1
  br i1 %1281, label %1282, label %1291

1282:                                             ; preds = %1279
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %1283 unwind label %1261

1283:                                             ; preds = %1282
  %1284 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1285 = load x86_fp80, ptr %107, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %110, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1284, x86_fp80 noundef %1285, x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK4005C600000000000000)
          to label %1286 unwind label %1287

1286:                                             ; preds = %1283
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %1291

1287:                                             ; preds = %1283
  %1288 = landingpad { ptr, i32 }
          cleanup
  %1289 = extractvalue { ptr, i32 } %1288, 0
  store ptr %1289, ptr %4, align 8
  %1290 = extractvalue { ptr, i32 } %1288, 1
  store i32 %1290, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %1315

1291:                                             ; preds = %1286, %1279
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  %1292 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1293 = add nsw i32 %1292, 1
  store i32 %1293, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %111) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %1294 unwind label %1318

1294:                                             ; preds = %1291
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #6
  %1295 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK4005CA00000000000000) #6
  store x86_fp80 %1295, ptr %113, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #6
  %1296 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1297 = fsub x86_fp80 %1296, 0xK3FFDF277AC8D5687B800
  %1298 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1297)
          to label %1299 unwind label %1322

1299:                                             ; preds = %1294
  %1300 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF277AC8D5687B800)
          to label %1301 unwind label %1322

1301:                                             ; preds = %1299
  %1302 = fadd x86_fp80 0xK3FFF8000000000000000, %1300
  %1303 = fdiv x86_fp80 %1298, %1302
  store x86_fp80 %1303, ptr %114, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #6
  store i8 0, ptr %115, align 1, !tbaa !11
  %1304 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1305 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1304)
          to label %1306 unwind label %1326

1306:                                             ; preds = %1301
  br i1 %1305, label %1330, label %1307

1307:                                             ; preds = %1306
  %1308 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1309 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1308)
          to label %1310 unwind label %1326

1310:                                             ; preds = %1307
  br i1 %1309, label %1311, label %1330

1311:                                             ; preds = %1310
  %1312 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1313 = fcmp oeq x86_fp80 %1312, 0xK3FFDF277AC8D5687B800
  br i1 %1313, label %1314, label %1330

1314:                                             ; preds = %1311
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1344

1315:                                             ; preds = %1287, %1274, %1261
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #6
  br label %1316

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

1317:                                             ; preds = %1316, %1253
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  br label %3190

1318:                                             ; preds = %1291
  %1319 = landingpad { ptr, i32 }
          cleanup
  %1320 = extractvalue { ptr, i32 } %1319, 0
  store ptr %1320, ptr %4, align 8
  %1321 = extractvalue { ptr, i32 } %1319, 1
  store i32 %1321, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #6
  br label %1382

1322:                                             ; preds = %1299, %1294
  %1323 = landingpad { ptr, i32 }
          cleanup
  %1324 = extractvalue { ptr, i32 } %1323, 0
  store ptr %1324, ptr %4, align 8
  %1325 = extractvalue { ptr, i32 } %1323, 1
  store i32 %1325, ptr %5, align 4
  br label %1381

1326:                                             ; preds = %1347, %1334, %1307, %1301
  %1327 = landingpad { ptr, i32 }
          cleanup
  %1328 = extractvalue { ptr, i32 } %1327, 0
  store ptr %1328, ptr %4, align 8
  %1329 = extractvalue { ptr, i32 } %1327, 1
  store i32 %1329, ptr %5, align 4
  br label %1380

1330:                                             ; preds = %1311, %1310, %1306
  %1331 = load x86_fp80, ptr %114, align 16, !tbaa !9
  %1332 = fcmp olt x86_fp80 %1331, 0xK3FD78CBCCC096F508800
  br i1 %1332, label %1333, label %1334

1333:                                             ; preds = %1330
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1343

1334:                                             ; preds = %1330
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1335 unwind label %1326

1335:                                             ; preds = %1334
  %1336 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1337 = load x86_fp80, ptr %113, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %116, i32 noundef %1336, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1337, x86_fp80 noundef 0xK3FFDF277AC8D5687B800, x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK4005CA00000000000000)
          to label %1338 unwind label %1339

1338:                                             ; preds = %1335
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %1343

1339:                                             ; preds = %1335
  %1340 = landingpad { ptr, i32 }
          cleanup
  %1341 = extractvalue { ptr, i32 } %1340, 0
  store ptr %1341, ptr %4, align 8
  %1342 = extractvalue { ptr, i32 } %1340, 1
  store i32 %1342, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %1380

1343:                                             ; preds = %1338, %1333
  br label %1344

1344:                                             ; preds = %1343, %1314
  %1345 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %1346 = trunc i8 %1345 to i1
  br i1 %1346, label %1347, label %1356

1347:                                             ; preds = %1344
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1348 unwind label %1326

1348:                                             ; preds = %1347
  %1349 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1350 = load x86_fp80, ptr %114, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %117, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1349, x86_fp80 noundef %1350, x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK4005CA00000000000000)
          to label %1351 unwind label %1352

1351:                                             ; preds = %1348
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %1356

1352:                                             ; preds = %1348
  %1353 = landingpad { ptr, i32 }
          cleanup
  %1354 = extractvalue { ptr, i32 } %1353, 0
  store ptr %1354, ptr %4, align 8
  %1355 = extractvalue { ptr, i32 } %1353, 1
  store i32 %1355, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %1380

1356:                                             ; preds = %1351, %1344
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #6
  %1357 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1358 = add nsw i32 %1357, 1
  store i32 %1358, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1359 unwind label %1383

1359:                                             ; preds = %1356
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #6
  %1360 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK40079480000000000000) #6
  store x86_fp80 %1360, ptr %120, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #6
  %1361 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1362 = fsub x86_fp80 %1361, 0xK3FFDF81A14D32F2BC000
  %1363 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1362)
          to label %1364 unwind label %1387

1364:                                             ; preds = %1359
  %1365 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF81A14D32F2BC000)
          to label %1366 unwind label %1387

1366:                                             ; preds = %1364
  %1367 = fadd x86_fp80 0xK3FFF8000000000000000, %1365
  %1368 = fdiv x86_fp80 %1363, %1367
  store x86_fp80 %1368, ptr %121, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %122) #6
  store i8 0, ptr %122, align 1, !tbaa !11
  %1369 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1370 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1369)
          to label %1371 unwind label %1391

1371:                                             ; preds = %1366
  br i1 %1370, label %1395, label %1372

1372:                                             ; preds = %1371
  %1373 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1374 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1373)
          to label %1375 unwind label %1391

1375:                                             ; preds = %1372
  br i1 %1374, label %1376, label %1395

1376:                                             ; preds = %1375
  %1377 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1378 = fcmp oeq x86_fp80 %1377, 0xK3FFDF81A14D32F2BC000
  br i1 %1378, label %1379, label %1395

1379:                                             ; preds = %1376
  store i8 1, ptr %122, align 1, !tbaa !11
  br label %1409

1380:                                             ; preds = %1352, %1339, %1326
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #6
  br label %1381

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

1382:                                             ; preds = %1381, %1318
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #6
  br label %3190

1383:                                             ; preds = %1356
  %1384 = landingpad { ptr, i32 }
          cleanup
  %1385 = extractvalue { ptr, i32 } %1384, 0
  store ptr %1385, ptr %4, align 8
  %1386 = extractvalue { ptr, i32 } %1384, 1
  store i32 %1386, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #6
  br label %1447

1387:                                             ; preds = %1364, %1359
  %1388 = landingpad { ptr, i32 }
          cleanup
  %1389 = extractvalue { ptr, i32 } %1388, 0
  store ptr %1389, ptr %4, align 8
  %1390 = extractvalue { ptr, i32 } %1388, 1
  store i32 %1390, ptr %5, align 4
  br label %1446

1391:                                             ; preds = %1412, %1399, %1372, %1366
  %1392 = landingpad { ptr, i32 }
          cleanup
  %1393 = extractvalue { ptr, i32 } %1392, 0
  store ptr %1393, ptr %4, align 8
  %1394 = extractvalue { ptr, i32 } %1392, 1
  store i32 %1394, ptr %5, align 4
  br label %1445

1395:                                             ; preds = %1376, %1375, %1371
  %1396 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1397 = fcmp olt x86_fp80 %1396, 0xK3FD78CBCCC096F508800
  br i1 %1397, label %1398, label %1399

1398:                                             ; preds = %1395
  store i8 1, ptr %122, align 1, !tbaa !11
  br label %1408

1399:                                             ; preds = %1395
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1400 unwind label %1391

1400:                                             ; preds = %1399
  %1401 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1402 = load x86_fp80, ptr %120, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %123, i32 noundef %1401, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1402, x86_fp80 noundef 0xK3FFDF81A14D32F2BC000, x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK40079480000000000000)
          to label %1403 unwind label %1404

1403:                                             ; preds = %1400
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1408

1404:                                             ; preds = %1400
  %1405 = landingpad { ptr, i32 }
          cleanup
  %1406 = extractvalue { ptr, i32 } %1405, 0
  store ptr %1406, ptr %4, align 8
  %1407 = extractvalue { ptr, i32 } %1405, 1
  store i32 %1407, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1445

1408:                                             ; preds = %1403, %1398
  br label %1409

1409:                                             ; preds = %1408, %1379
  %1410 = load i8, ptr %122, align 1, !tbaa !11, !range !13, !noundef !14
  %1411 = trunc i8 %1410 to i1
  br i1 %1411, label %1412, label %1421

1412:                                             ; preds = %1409
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1413 unwind label %1391

1413:                                             ; preds = %1412
  %1414 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1415 = load x86_fp80, ptr %121, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %124, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1414, x86_fp80 noundef %1415, x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK40079480000000000000)
          to label %1416 unwind label %1417

1416:                                             ; preds = %1413
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %1421

1417:                                             ; preds = %1413
  %1418 = landingpad { ptr, i32 }
          cleanup
  %1419 = extractvalue { ptr, i32 } %1418, 0
  store ptr %1419, ptr %4, align 8
  %1420 = extractvalue { ptr, i32 } %1418, 1
  store i32 %1420, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %1445

1421:                                             ; preds = %1416, %1409
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #6
  %1422 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1423 = add nsw i32 %1422, 1
  store i32 %1423, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %126) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %126)
          to label %1424 unwind label %1448

1424:                                             ; preds = %1421
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %126) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %127) #6
  %1425 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK40079680000000000000) #6
  store x86_fp80 %1425, ptr %127, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %128) #6
  %1426 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1427 = fsub x86_fp80 %1426, 0xK3FFDF8278CAA5B211800
  %1428 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1427)
          to label %1429 unwind label %1452

1429:                                             ; preds = %1424
  %1430 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF8278CAA5B211800)
          to label %1431 unwind label %1452

1431:                                             ; preds = %1429
  %1432 = fadd x86_fp80 0xK3FFF8000000000000000, %1430
  %1433 = fdiv x86_fp80 %1428, %1432
  store x86_fp80 %1433, ptr %128, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #6
  store i8 0, ptr %129, align 1, !tbaa !11
  %1434 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1435 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1434)
          to label %1436 unwind label %1456

1436:                                             ; preds = %1431
  br i1 %1435, label %1460, label %1437

1437:                                             ; preds = %1436
  %1438 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1439 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1438)
          to label %1440 unwind label %1456

1440:                                             ; preds = %1437
  br i1 %1439, label %1441, label %1460

1441:                                             ; preds = %1440
  %1442 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1443 = fcmp oeq x86_fp80 %1442, 0xK3FFDF8278CAA5B211800
  br i1 %1443, label %1444, label %1460

1444:                                             ; preds = %1441
  store i8 1, ptr %129, align 1, !tbaa !11
  br label %1474

1445:                                             ; preds = %1417, %1404, %1391
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #6
  br label %1446

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

1447:                                             ; preds = %1446, %1383
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #6
  br label %3190

1448:                                             ; preds = %1421
  %1449 = landingpad { ptr, i32 }
          cleanup
  %1450 = extractvalue { ptr, i32 } %1449, 0
  store ptr %1450, ptr %4, align 8
  %1451 = extractvalue { ptr, i32 } %1449, 1
  store i32 %1451, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %126) #6
  br label %1512

1452:                                             ; preds = %1429, %1424
  %1453 = landingpad { ptr, i32 }
          cleanup
  %1454 = extractvalue { ptr, i32 } %1453, 0
  store ptr %1454, ptr %4, align 8
  %1455 = extractvalue { ptr, i32 } %1453, 1
  store i32 %1455, ptr %5, align 4
  br label %1511

1456:                                             ; preds = %1477, %1464, %1437, %1431
  %1457 = landingpad { ptr, i32 }
          cleanup
  %1458 = extractvalue { ptr, i32 } %1457, 0
  store ptr %1458, ptr %4, align 8
  %1459 = extractvalue { ptr, i32 } %1457, 1
  store i32 %1459, ptr %5, align 4
  br label %1510

1460:                                             ; preds = %1441, %1440, %1436
  %1461 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1462 = fcmp olt x86_fp80 %1461, 0xK3FD78CBCCC096F508800
  br i1 %1462, label %1463, label %1464

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

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

1465:                                             ; preds = %1464
  %1466 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1467 = load x86_fp80, ptr %127, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %130, i32 noundef %1466, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1467, x86_fp80 noundef 0xK3FFDF8278CAA5B211800, x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK40079680000000000000)
          to label %1468 unwind label %1469

1468:                                             ; preds = %1465
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1473

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

1473:                                             ; preds = %1468, %1463
  br label %1474

1474:                                             ; preds = %1473, %1444
  %1475 = load i8, ptr %129, align 1, !tbaa !11, !range !13, !noundef !14
  %1476 = trunc i8 %1475 to i1
  br i1 %1476, label %1477, label %1486

1477:                                             ; preds = %1474
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1478 unwind label %1456

1478:                                             ; preds = %1477
  %1479 = load x86_fp80, ptr %127, align 16, !tbaa !9
  %1480 = load x86_fp80, ptr %128, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %131, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1479, x86_fp80 noundef %1480, x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK40079680000000000000)
          to label %1481 unwind label %1482

1481:                                             ; preds = %1478
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1486

1482:                                             ; preds = %1478
  %1483 = landingpad { ptr, i32 }
          cleanup
  %1484 = extractvalue { ptr, i32 } %1483, 0
  store ptr %1484, ptr %4, align 8
  %1485 = extractvalue { ptr, i32 } %1483, 1
  store i32 %1485, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1510

1486:                                             ; preds = %1481, %1474
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %127) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  %1487 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1488 = add nsw i32 %1487, 1
  store i32 %1488, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %133) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %1489 unwind label %1513

1489:                                             ; preds = %1486
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %134) #6
  %1490 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK4007F880000000000000) #6
  store x86_fp80 %1490, ptr %134, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %135) #6
  %1491 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1492 = fsub x86_fp80 %1491, 0xK3FFDF9E4B65EA8D39000
  %1493 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1492)
          to label %1494 unwind label %1517

1494:                                             ; preds = %1489
  %1495 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000)
          to label %1496 unwind label %1517

1496:                                             ; preds = %1494
  %1497 = fadd x86_fp80 0xK3FFF8000000000000000, %1495
  %1498 = fdiv x86_fp80 %1493, %1497
  store x86_fp80 %1498, ptr %135, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %136) #6
  store i8 0, ptr %136, align 1, !tbaa !11
  %1499 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1500 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1499)
          to label %1501 unwind label %1521

1501:                                             ; preds = %1496
  br i1 %1500, label %1525, label %1502

1502:                                             ; preds = %1501
  %1503 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1504 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1503)
          to label %1505 unwind label %1521

1505:                                             ; preds = %1502
  br i1 %1504, label %1506, label %1525

1506:                                             ; preds = %1505
  %1507 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1508 = fcmp oeq x86_fp80 %1507, 0xK3FFDF9E4B65EA8D39000
  br i1 %1508, label %1509, label %1525

1509:                                             ; preds = %1506
  store i8 1, ptr %136, align 1, !tbaa !11
  br label %1539

1510:                                             ; preds = %1482, %1469, %1456
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #6
  br label %1511

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

1512:                                             ; preds = %1511, %1448
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  br label %3190

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

1517:                                             ; preds = %1494, %1489
  %1518 = landingpad { ptr, i32 }
          cleanup
  %1519 = extractvalue { ptr, i32 } %1518, 0
  store ptr %1519, ptr %4, align 8
  %1520 = extractvalue { ptr, i32 } %1518, 1
  store i32 %1520, ptr %5, align 4
  br label %1576

1521:                                             ; preds = %1542, %1529, %1502, %1496
  %1522 = landingpad { ptr, i32 }
          cleanup
  %1523 = extractvalue { ptr, i32 } %1522, 0
  store ptr %1523, ptr %4, align 8
  %1524 = extractvalue { ptr, i32 } %1522, 1
  store i32 %1524, ptr %5, align 4
  br label %1575

1525:                                             ; preds = %1506, %1505, %1501
  %1526 = load x86_fp80, ptr %135, align 16, !tbaa !9
  %1527 = fcmp olt x86_fp80 %1526, 0xK3FD78CBCCC096F508800
  br i1 %1527, label %1528, label %1529

1528:                                             ; preds = %1525
  store i8 1, ptr %136, align 1, !tbaa !11
  br label %1538

1529:                                             ; preds = %1525
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %1530 unwind label %1521

1530:                                             ; preds = %1529
  %1531 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1532 = load x86_fp80, ptr %134, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %137, i32 noundef %1531, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1532, x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000, x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK4007F880000000000000)
          to label %1533 unwind label %1534

1533:                                             ; preds = %1530
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1538

1534:                                             ; preds = %1530
  %1535 = landingpad { ptr, i32 }
          cleanup
  %1536 = extractvalue { ptr, i32 } %1535, 0
  store ptr %1536, ptr %4, align 8
  %1537 = extractvalue { ptr, i32 } %1535, 1
  store i32 %1537, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1575

1538:                                             ; preds = %1533, %1528
  br label %1539

1539:                                             ; preds = %1538, %1509
  %1540 = load i8, ptr %136, align 1, !tbaa !11, !range !13, !noundef !14
  %1541 = trunc i8 %1540 to i1
  br i1 %1541, label %1542, label %1551

1542:                                             ; preds = %1539
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %1543 unwind label %1521

1543:                                             ; preds = %1542
  %1544 = load x86_fp80, ptr %134, align 16, !tbaa !9
  %1545 = load x86_fp80, ptr %135, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %138, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1544, x86_fp80 noundef %1545, x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK4007F880000000000000)
          to label %1546 unwind label %1547

1546:                                             ; preds = %1543
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1551

1547:                                             ; preds = %1543
  %1548 = landingpad { ptr, i32 }
          cleanup
  %1549 = extractvalue { ptr, i32 } %1548, 0
  store ptr %1549, ptr %4, align 8
  %1550 = extractvalue { ptr, i32 } %1548, 1
  store i32 %1550, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1575

1551:                                             ; preds = %1546, %1539
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %135) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %134) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  %1552 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1553 = add nsw i32 %1552, 1
  store i32 %1553, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %139) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %140) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %140)
          to label %1554 unwind label %1578

1554:                                             ; preds = %1551
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %140) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %141) #6
  %1555 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK4007FA80000000000000) #6
  store x86_fp80 %1555, ptr %141, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %142) #6
  %1556 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1557 = fsub x86_fp80 %1556, 0xK3FFDF9EAF65D555B4800
  %1558 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1557)
          to label %1559 unwind label %1582

1559:                                             ; preds = %1554
  %1560 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF9EAF65D555B4800)
          to label %1561 unwind label %1582

1561:                                             ; preds = %1559
  %1562 = fadd x86_fp80 0xK3FFF8000000000000000, %1560
  %1563 = fdiv x86_fp80 %1558, %1562
  store x86_fp80 %1563, ptr %142, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %143) #6
  store i8 0, ptr %143, align 1, !tbaa !11
  %1564 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1565 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1564)
          to label %1566 unwind label %1586

1566:                                             ; preds = %1561
  br i1 %1565, label %1590, label %1567

1567:                                             ; preds = %1566
  %1568 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1569 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1568)
          to label %1570 unwind label %1586

1570:                                             ; preds = %1567
  br i1 %1569, label %1571, label %1590

1571:                                             ; preds = %1570
  %1572 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1573 = fcmp oeq x86_fp80 %1572, 0xK3FFDF9EAF65D555B4800
  br i1 %1573, label %1574, label %1590

1574:                                             ; preds = %1571
  store i8 1, ptr %143, align 1, !tbaa !11
  br label %1604

1575:                                             ; preds = %1547, %1534, %1521
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #6
  br label %1576

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

1577:                                             ; preds = %1576, %1513
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  br label %3190

1578:                                             ; preds = %1551
  %1579 = landingpad { ptr, i32 }
          cleanup
  %1580 = extractvalue { ptr, i32 } %1579, 0
  store ptr %1580, ptr %4, align 8
  %1581 = extractvalue { ptr, i32 } %1579, 1
  store i32 %1581, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %140) #6
  br label %1642

1582:                                             ; preds = %1559, %1554
  %1583 = landingpad { ptr, i32 }
          cleanup
  %1584 = extractvalue { ptr, i32 } %1583, 0
  store ptr %1584, ptr %4, align 8
  %1585 = extractvalue { ptr, i32 } %1583, 1
  store i32 %1585, ptr %5, align 4
  br label %1641

1586:                                             ; preds = %1607, %1594, %1567, %1561
  %1587 = landingpad { ptr, i32 }
          cleanup
  %1588 = extractvalue { ptr, i32 } %1587, 0
  store ptr %1588, ptr %4, align 8
  %1589 = extractvalue { ptr, i32 } %1587, 1
  store i32 %1589, ptr %5, align 4
  br label %1640

1590:                                             ; preds = %1571, %1570, %1566
  %1591 = load x86_fp80, ptr %142, align 16, !tbaa !9
  %1592 = fcmp olt x86_fp80 %1591, 0xK3FD78CBCCC096F508800
  br i1 %1592, label %1593, label %1594

1593:                                             ; preds = %1590
  store i8 1, ptr %143, align 1, !tbaa !11
  br label %1603

1594:                                             ; preds = %1590
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1595 unwind label %1586

1595:                                             ; preds = %1594
  %1596 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1597 = load x86_fp80, ptr %141, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %144, i32 noundef %1596, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1597, x86_fp80 noundef 0xK3FFDF9EAF65D555B4800, x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK4007FA80000000000000)
          to label %1598 unwind label %1599

1598:                                             ; preds = %1595
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %1603

1599:                                             ; preds = %1595
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %1640

1603:                                             ; preds = %1598, %1593
  br label %1604

1604:                                             ; preds = %1603, %1574
  %1605 = load i8, ptr %143, align 1, !tbaa !11, !range !13, !noundef !14
  %1606 = trunc i8 %1605 to i1
  br i1 %1606, label %1607, label %1616

1607:                                             ; preds = %1604
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1608 unwind label %1586

1608:                                             ; preds = %1607
  %1609 = load x86_fp80, ptr %141, align 16, !tbaa !9
  %1610 = load x86_fp80, ptr %142, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %145, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1609, x86_fp80 noundef %1610, x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK4007FA80000000000000)
          to label %1611 unwind label %1612

1611:                                             ; preds = %1608
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  br label %1616

1612:                                             ; preds = %1608
  %1613 = landingpad { ptr, i32 }
          cleanup
  %1614 = extractvalue { ptr, i32 } %1613, 0
  store ptr %1614, ptr %4, align 8
  %1615 = extractvalue { ptr, i32 } %1613, 1
  store i32 %1615, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  br label %1640

1616:                                             ; preds = %1611, %1604
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #6
  %1617 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1618 = add nsw i32 %1617, 1
  store i32 %1618, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %146) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %147)
          to label %1619 unwind label %1643

1619:                                             ; preds = %1616
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %148) #6
  %1620 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK4008C7C0000000000000) #6
  store x86_fp80 %1620, ptr %148, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %149) #6
  %1621 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1622 = fsub x86_fp80 %1621, 0xK3FFE84D12AEB6F94E800
  %1623 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1622)
          to label %1624 unwind label %1647

1624:                                             ; preds = %1619
  %1625 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFE84D12AEB6F94E800)
          to label %1626 unwind label %1647

1626:                                             ; preds = %1624
  %1627 = fadd x86_fp80 0xK3FFF8000000000000000, %1625
  %1628 = fdiv x86_fp80 %1623, %1627
  store x86_fp80 %1628, ptr %149, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %150) #6
  store i8 0, ptr %150, align 1, !tbaa !11
  %1629 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1630 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1629)
          to label %1631 unwind label %1651

1631:                                             ; preds = %1626
  br i1 %1630, label %1655, label %1632

1632:                                             ; preds = %1631
  %1633 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1634 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1633)
          to label %1635 unwind label %1651

1635:                                             ; preds = %1632
  br i1 %1634, label %1636, label %1655

1636:                                             ; preds = %1635
  %1637 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1638 = fcmp oeq x86_fp80 %1637, 0xK3FFE84D12AEB6F94E800
  br i1 %1638, label %1639, label %1655

1639:                                             ; preds = %1636
  store i8 1, ptr %150, align 1, !tbaa !11
  br label %1669

1640:                                             ; preds = %1612, %1599, %1586
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #6
  br label %1641

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

1642:                                             ; preds = %1641, %1578
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #6
  br label %3190

1643:                                             ; preds = %1616
  %1644 = landingpad { ptr, i32 }
          cleanup
  %1645 = extractvalue { ptr, i32 } %1644, 0
  store ptr %1645, ptr %4, align 8
  %1646 = extractvalue { ptr, i32 } %1644, 1
  store i32 %1646, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #6
  br label %1707

1647:                                             ; preds = %1624, %1619
  %1648 = landingpad { ptr, i32 }
          cleanup
  %1649 = extractvalue { ptr, i32 } %1648, 0
  store ptr %1649, ptr %4, align 8
  %1650 = extractvalue { ptr, i32 } %1648, 1
  store i32 %1650, ptr %5, align 4
  br label %1706

1651:                                             ; preds = %1672, %1659, %1632, %1626
  %1652 = landingpad { ptr, i32 }
          cleanup
  %1653 = extractvalue { ptr, i32 } %1652, 0
  store ptr %1653, ptr %4, align 8
  %1654 = extractvalue { ptr, i32 } %1652, 1
  store i32 %1654, ptr %5, align 4
  br label %1705

1655:                                             ; preds = %1636, %1635, %1631
  %1656 = load x86_fp80, ptr %149, align 16, !tbaa !9
  %1657 = fcmp olt x86_fp80 %1656, 0xK3FD78CBCCC096F508800
  br i1 %1657, label %1658, label %1659

1658:                                             ; preds = %1655
  store i8 1, ptr %150, align 1, !tbaa !11
  br label %1668

1659:                                             ; preds = %1655
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1660 unwind label %1651

1660:                                             ; preds = %1659
  %1661 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1662 = load x86_fp80, ptr %148, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %151, i32 noundef %1661, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1662, x86_fp80 noundef 0xK3FFE84D12AEB6F94E800, x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK4008C7C0000000000000)
          to label %1663 unwind label %1664

1663:                                             ; preds = %1660
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1668

1664:                                             ; preds = %1660
  %1665 = landingpad { ptr, i32 }
          cleanup
  %1666 = extractvalue { ptr, i32 } %1665, 0
  store ptr %1666, ptr %4, align 8
  %1667 = extractvalue { ptr, i32 } %1665, 1
  store i32 %1667, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1705

1668:                                             ; preds = %1663, %1658
  br label %1669

1669:                                             ; preds = %1668, %1639
  %1670 = load i8, ptr %150, align 1, !tbaa !11, !range !13, !noundef !14
  %1671 = trunc i8 %1670 to i1
  br i1 %1671, label %1672, label %1681

1672:                                             ; preds = %1669
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %152, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1673 unwind label %1651

1673:                                             ; preds = %1672
  %1674 = load x86_fp80, ptr %148, align 16, !tbaa !9
  %1675 = load x86_fp80, ptr %149, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %152, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1674, x86_fp80 noundef %1675, x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK4008C7C0000000000000)
          to label %1676 unwind label %1677

1676:                                             ; preds = %1673
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1681

1677:                                             ; preds = %1673
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1705

1681:                                             ; preds = %1676, %1669
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %149) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %148) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  %1682 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1683 = add nsw i32 %1682, 1
  store i32 %1683, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %153) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %154) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %154) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %153, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %154)
          to label %1684 unwind label %1708

1684:                                             ; preds = %1681
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %154) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %154) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %155) #6
  %1685 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK4008C800000000000000) #6
  store x86_fp80 %1685, ptr %155, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %156) #6
  %1686 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1687 = fsub x86_fp80 %1686, 0xK3FFDFB2FB4B4B9615000
  %1688 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1687)
          to label %1689 unwind label %1712

1689:                                             ; preds = %1684
  %1690 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000)
          to label %1691 unwind label %1712

1691:                                             ; preds = %1689
  %1692 = fadd x86_fp80 0xK3FFF8000000000000000, %1690
  %1693 = fdiv x86_fp80 %1688, %1692
  store x86_fp80 %1693, ptr %156, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %157) #6
  store i8 0, ptr %157, align 1, !tbaa !11
  %1694 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1695 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1694)
          to label %1696 unwind label %1716

1696:                                             ; preds = %1691
  br i1 %1695, label %1720, label %1697

1697:                                             ; preds = %1696
  %1698 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1699 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1698)
          to label %1700 unwind label %1716

1700:                                             ; preds = %1697
  br i1 %1699, label %1701, label %1720

1701:                                             ; preds = %1700
  %1702 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1703 = fcmp oeq x86_fp80 %1702, 0xK3FFDFB2FB4B4B9615000
  br i1 %1703, label %1704, label %1720

1704:                                             ; preds = %1701
  store i8 1, ptr %157, align 1, !tbaa !11
  br label %1734

1705:                                             ; preds = %1677, %1664, %1651
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #6
  br label %1706

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

1707:                                             ; preds = %1706, %1643
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  br label %3190

1708:                                             ; preds = %1681
  %1709 = landingpad { ptr, i32 }
          cleanup
  %1710 = extractvalue { ptr, i32 } %1709, 0
  store ptr %1710, ptr %4, align 8
  %1711 = extractvalue { ptr, i32 } %1709, 1
  store i32 %1711, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %154) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %154) #6
  br label %1772

1712:                                             ; preds = %1689, %1684
  %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
  br label %1771

1716:                                             ; preds = %1737, %1724, %1697, %1691
  %1717 = landingpad { ptr, i32 }
          cleanup
  %1718 = extractvalue { ptr, i32 } %1717, 0
  store ptr %1718, ptr %4, align 8
  %1719 = extractvalue { ptr, i32 } %1717, 1
  store i32 %1719, ptr %5, align 4
  br label %1770

1720:                                             ; preds = %1701, %1700, %1696
  %1721 = load x86_fp80, ptr %156, align 16, !tbaa !9
  %1722 = fcmp olt x86_fp80 %1721, 0xK3FD78CBCCC096F508800
  br i1 %1722, label %1723, label %1724

1723:                                             ; preds = %1720
  store i8 1, ptr %157, align 1, !tbaa !11
  br label %1733

1724:                                             ; preds = %1720
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %1725 unwind label %1716

1725:                                             ; preds = %1724
  %1726 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1727 = load x86_fp80, ptr %155, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %158, i32 noundef %1726, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1727, x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000, x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK4008C800000000000000)
          to label %1728 unwind label %1729

1728:                                             ; preds = %1725
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1733

1729:                                             ; preds = %1725
  %1730 = landingpad { ptr, i32 }
          cleanup
  %1731 = extractvalue { ptr, i32 } %1730, 0
  store ptr %1731, ptr %4, align 8
  %1732 = extractvalue { ptr, i32 } %1730, 1
  store i32 %1732, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1770

1733:                                             ; preds = %1728, %1723
  br label %1734

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

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

1738:                                             ; preds = %1737
  %1739 = load x86_fp80, ptr %155, align 16, !tbaa !9
  %1740 = load x86_fp80, ptr %156, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %159, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1739, x86_fp80 noundef %1740, x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK4008C800000000000000)
          to label %1741 unwind label %1742

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

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

1746:                                             ; preds = %1741, %1734
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %156) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %155) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #6
  %1747 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1748 = add nsw i32 %1747, 1
  store i32 %1748, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %160) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %161) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %161)
          to label %1749 unwind label %1773

1749:                                             ; preds = %1746
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %162) #6
  %1750 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK4008F9C0000000000000) #6
  store x86_fp80 %1750, ptr %162, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %163) #6
  %1751 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1752 = fsub x86_fp80 %1751, 0xK3FFE8789278472004800
  %1753 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1752)
          to label %1754 unwind label %1777

1754:                                             ; preds = %1749
  %1755 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFE8789278472004800)
          to label %1756 unwind label %1777

1756:                                             ; preds = %1754
  %1757 = fadd x86_fp80 0xK3FFF8000000000000000, %1755
  %1758 = fdiv x86_fp80 %1753, %1757
  store x86_fp80 %1758, ptr %163, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %164) #6
  store i8 0, ptr %164, align 1, !tbaa !11
  %1759 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1760 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1759)
          to label %1761 unwind label %1781

1761:                                             ; preds = %1756
  br i1 %1760, label %1785, label %1762

1762:                                             ; preds = %1761
  %1763 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1764 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1763)
          to label %1765 unwind label %1781

1765:                                             ; preds = %1762
  br i1 %1764, label %1766, label %1785

1766:                                             ; preds = %1765
  %1767 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1768 = fcmp oeq x86_fp80 %1767, 0xK3FFE8789278472004800
  br i1 %1768, label %1769, label %1785

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

1770:                                             ; preds = %1742, %1729, %1716
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #6
  br label %1771

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

1772:                                             ; preds = %1771, %1708
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #6
  br label %3190

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

1777:                                             ; preds = %1754, %1749
  %1778 = landingpad { ptr, i32 }
          cleanup
  %1779 = extractvalue { ptr, i32 } %1778, 0
  store ptr %1779, ptr %4, align 8
  %1780 = extractvalue { ptr, i32 } %1778, 1
  store i32 %1780, ptr %5, align 4
  br label %1836

1781:                                             ; preds = %1802, %1789, %1762, %1756
  %1782 = landingpad { ptr, i32 }
          cleanup
  %1783 = extractvalue { ptr, i32 } %1782, 0
  store ptr %1783, ptr %4, align 8
  %1784 = extractvalue { ptr, i32 } %1782, 1
  store i32 %1784, ptr %5, align 4
  br label %1835

1785:                                             ; preds = %1766, %1765, %1761
  %1786 = load x86_fp80, ptr %163, align 16, !tbaa !9
  %1787 = fcmp olt x86_fp80 %1786, 0xK3FD78CBCCC096F508800
  br i1 %1787, label %1788, label %1789

1788:                                             ; preds = %1785
  store i8 1, ptr %164, align 1, !tbaa !11
  br label %1798

1789:                                             ; preds = %1785
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(32) %160)
          to label %1790 unwind label %1781

1790:                                             ; preds = %1789
  %1791 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1792 = load x86_fp80, ptr %162, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %165, i32 noundef %1791, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1792, x86_fp80 noundef 0xK3FFE8789278472004800, x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK4008F9C0000000000000)
          to label %1793 unwind label %1794

1793:                                             ; preds = %1790
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1798

1794:                                             ; preds = %1790
  %1795 = landingpad { ptr, i32 }
          cleanup
  %1796 = extractvalue { ptr, i32 } %1795, 0
  store ptr %1796, ptr %4, align 8
  %1797 = extractvalue { ptr, i32 } %1795, 1
  store i32 %1797, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1835

1798:                                             ; preds = %1793, %1788
  br label %1799

1799:                                             ; preds = %1798, %1769
  %1800 = load i8, ptr %164, align 1, !tbaa !11, !range !13, !noundef !14
  %1801 = trunc i8 %1800 to i1
  br i1 %1801, label %1802, label %1811

1802:                                             ; preds = %1799
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef nonnull align 8 dereferenceable(32) %160)
          to label %1803 unwind label %1781

1803:                                             ; preds = %1802
  %1804 = load x86_fp80, ptr %162, align 16, !tbaa !9
  %1805 = load x86_fp80, ptr %163, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %166, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1804, x86_fp80 noundef %1805, x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK4008F9C0000000000000)
          to label %1806 unwind label %1807

1806:                                             ; preds = %1803
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  br label %1811

1807:                                             ; preds = %1803
  %1808 = landingpad { ptr, i32 }
          cleanup
  %1809 = extractvalue { ptr, i32 } %1808, 0
  store ptr %1809, ptr %4, align 8
  %1810 = extractvalue { ptr, i32 } %1808, 1
  store i32 %1810, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  br label %1835

1811:                                             ; preds = %1806, %1799
  call void @llvm.lifetime.end.p0(i64 1, ptr %164) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %163) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  %1812 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1813 = add nsw i32 %1812, 1
  store i32 %1813, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %167) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %168) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %168)
          to label %1814 unwind label %1838

1814:                                             ; preds = %1811
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %169) #6
  %1815 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK4008FA40000000000000) #6
  store x86_fp80 %1815, ptr %169, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %170) #6
  %1816 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1817 = fsub x86_fp80 %1816, 0xK3FFDE864FBE9D964C800
  %1818 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1817)
          to label %1819 unwind label %1842

1819:                                             ; preds = %1814
  %1820 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDE864FBE9D964C800)
          to label %1821 unwind label %1842

1821:                                             ; preds = %1819
  %1822 = fadd x86_fp80 0xK3FFF8000000000000000, %1820
  %1823 = fdiv x86_fp80 %1818, %1822
  store x86_fp80 %1823, ptr %170, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %171) #6
  store i8 0, ptr %171, align 1, !tbaa !11
  %1824 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1825 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1824)
          to label %1826 unwind label %1846

1826:                                             ; preds = %1821
  br i1 %1825, label %1850, label %1827

1827:                                             ; preds = %1826
  %1828 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1829 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1828)
          to label %1830 unwind label %1846

1830:                                             ; preds = %1827
  br i1 %1829, label %1831, label %1850

1831:                                             ; preds = %1830
  %1832 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1833 = fcmp oeq x86_fp80 %1832, 0xK3FFDE864FBE9D964C800
  br i1 %1833, label %1834, label %1850

1834:                                             ; preds = %1831
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1864

1835:                                             ; preds = %1807, %1794, %1781
  call void @llvm.lifetime.end.p0(i64 1, ptr %164) #6
  br label %1836

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

1837:                                             ; preds = %1836, %1773
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  br label %3190

1838:                                             ; preds = %1811
  %1839 = landingpad { ptr, i32 }
          cleanup
  %1840 = extractvalue { ptr, i32 } %1839, 0
  store ptr %1840, ptr %4, align 8
  %1841 = extractvalue { ptr, i32 } %1839, 1
  store i32 %1841, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #6
  br label %1902

1842:                                             ; preds = %1819, %1814
  %1843 = landingpad { ptr, i32 }
          cleanup
  %1844 = extractvalue { ptr, i32 } %1843, 0
  store ptr %1844, ptr %4, align 8
  %1845 = extractvalue { ptr, i32 } %1843, 1
  store i32 %1845, ptr %5, align 4
  br label %1901

1846:                                             ; preds = %1867, %1854, %1827, %1821
  %1847 = landingpad { ptr, i32 }
          cleanup
  %1848 = extractvalue { ptr, i32 } %1847, 0
  store ptr %1848, ptr %4, align 8
  %1849 = extractvalue { ptr, i32 } %1847, 1
  store i32 %1849, ptr %5, align 4
  br label %1900

1850:                                             ; preds = %1831, %1830, %1826
  %1851 = load x86_fp80, ptr %170, align 16, !tbaa !9
  %1852 = fcmp olt x86_fp80 %1851, 0xK3FD78CBCCC096F508800
  br i1 %1852, label %1853, label %1854

1853:                                             ; preds = %1850
  store i8 1, ptr %171, align 1, !tbaa !11
  br label %1863

1854:                                             ; preds = %1850
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1855 unwind label %1846

1855:                                             ; preds = %1854
  %1856 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1857 = load x86_fp80, ptr %169, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %172, i32 noundef %1856, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1857, x86_fp80 noundef 0xK3FFDE864FBE9D964C800, x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK4008FA40000000000000)
          to label %1858 unwind label %1859

1858:                                             ; preds = %1855
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1863

1859:                                             ; preds = %1855
  %1860 = landingpad { ptr, i32 }
          cleanup
  %1861 = extractvalue { ptr, i32 } %1860, 0
  store ptr %1861, ptr %4, align 8
  %1862 = extractvalue { ptr, i32 } %1860, 1
  store i32 %1862, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1900

1863:                                             ; preds = %1858, %1853
  br label %1864

1864:                                             ; preds = %1863, %1834
  %1865 = load i8, ptr %171, align 1, !tbaa !11, !range !13, !noundef !14
  %1866 = trunc i8 %1865 to i1
  br i1 %1866, label %1867, label %1876

1867:                                             ; preds = %1864
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1868 unwind label %1846

1868:                                             ; preds = %1867
  %1869 = load x86_fp80, ptr %169, align 16, !tbaa !9
  %1870 = load x86_fp80, ptr %170, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %173, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1869, x86_fp80 noundef %1870, x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK4008FA40000000000000)
          to label %1871 unwind label %1872

1871:                                             ; preds = %1868
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1876

1872:                                             ; preds = %1868
  %1873 = landingpad { ptr, i32 }
          cleanup
  %1874 = extractvalue { ptr, i32 } %1873, 0
  store ptr %1874, ptr %4, align 8
  %1875 = extractvalue { ptr, i32 } %1873, 1
  store i32 %1875, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1900

1876:                                             ; preds = %1871, %1864
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %169) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %167) #6
  %1877 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1878 = add nsw i32 %1877, 1
  store i32 %1878, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %175) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %175)
          to label %1879 unwind label %1903

1879:                                             ; preds = %1876
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %176) #6
  %1880 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4000C000000000000000, x86_fp80 noundef 0xK4002C000000000000000) #6
  store x86_fp80 %1880, ptr %176, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %177) #6
  %1881 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %1882 = fsub x86_fp80 %1881, 0xK3FFEFFDDC5F6C14A0800
  %1883 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1882)
          to label %1884 unwind label %1907

1884:                                             ; preds = %1879
  %1885 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFDDC5F6C14A0800)
          to label %1886 unwind label %1907

1886:                                             ; preds = %1884
  %1887 = fadd x86_fp80 0xK3FFF8000000000000000, %1885
  %1888 = fdiv x86_fp80 %1883, %1887
  store x86_fp80 %1888, ptr %177, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %178) #6
  store i8 0, ptr %178, align 1, !tbaa !11
  %1889 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %1890 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1889)
          to label %1891 unwind label %1911

1891:                                             ; preds = %1886
  br i1 %1890, label %1915, label %1892

1892:                                             ; preds = %1891
  %1893 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %1894 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1893)
          to label %1895 unwind label %1911

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

1896:                                             ; preds = %1895
  %1897 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %1898 = fcmp oeq x86_fp80 %1897, 0xK3FFEFFDDC5F6C14A0800
  br i1 %1898, label %1899, label %1915

1899:                                             ; preds = %1896
  store i8 1, ptr %178, align 1, !tbaa !11
  br label %1929

1900:                                             ; preds = %1872, %1859, %1846
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #6
  br label %1901

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

1902:                                             ; preds = %1901, %1838
  call void @llvm.lifetime.end.p0(i64 32, ptr %167) #6
  br label %3190

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

1907:                                             ; preds = %1884, %1879
  %1908 = landingpad { ptr, i32 }
          cleanup
  %1909 = extractvalue { ptr, i32 } %1908, 0
  store ptr %1909, ptr %4, align 8
  %1910 = extractvalue { ptr, i32 } %1908, 1
  store i32 %1910, ptr %5, align 4
  br label %1966

1911:                                             ; preds = %1932, %1919, %1892, %1886
  %1912 = landingpad { ptr, i32 }
          cleanup
  %1913 = extractvalue { ptr, i32 } %1912, 0
  store ptr %1913, ptr %4, align 8
  %1914 = extractvalue { ptr, i32 } %1912, 1
  store i32 %1914, ptr %5, align 4
  br label %1965

1915:                                             ; preds = %1896, %1895, %1891
  %1916 = load x86_fp80, ptr %177, align 16, !tbaa !9
  %1917 = fcmp olt x86_fp80 %1916, 0xK3FD78CBCCC096F508800
  br i1 %1917, label %1918, label %1919

1918:                                             ; preds = %1915
  store i8 1, ptr %178, align 1, !tbaa !11
  br label %1928

1919:                                             ; preds = %1915
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %179, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1920 unwind label %1911

1920:                                             ; preds = %1919
  %1921 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1922 = load x86_fp80, ptr %176, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %179, i32 noundef %1921, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1922, x86_fp80 noundef 0xK3FFEFFDDC5F6C14A0800, x86_fp80 noundef 0xK4000C000000000000000, x86_fp80 noundef 0xK4002C000000000000000)
          to label %1923 unwind label %1924

1923:                                             ; preds = %1920
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  br label %1928

1924:                                             ; preds = %1920
  %1925 = landingpad { ptr, i32 }
          cleanup
  %1926 = extractvalue { ptr, i32 } %1925, 0
  store ptr %1926, ptr %4, align 8
  %1927 = extractvalue { ptr, i32 } %1925, 1
  store i32 %1927, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  br label %1965

1928:                                             ; preds = %1923, %1918
  br label %1929

1929:                                             ; preds = %1928, %1899
  %1930 = load i8, ptr %178, align 1, !tbaa !11, !range !13, !noundef !14
  %1931 = trunc i8 %1930 to i1
  br i1 %1931, label %1932, label %1941

1932:                                             ; preds = %1929
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1933 unwind label %1911

1933:                                             ; preds = %1932
  %1934 = load x86_fp80, ptr %176, align 16, !tbaa !9
  %1935 = load x86_fp80, ptr %177, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %180, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1934, x86_fp80 noundef %1935, x86_fp80 noundef 0xK4000C000000000000000, x86_fp80 noundef 0xK4002C000000000000000)
          to label %1936 unwind label %1937

1936:                                             ; preds = %1933
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %1941

1937:                                             ; preds = %1933
  %1938 = landingpad { ptr, i32 }
          cleanup
  %1939 = extractvalue { ptr, i32 } %1938, 0
  store ptr %1939, ptr %4, align 8
  %1940 = extractvalue { ptr, i32 } %1938, 1
  store i32 %1940, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %1965

1941:                                             ; preds = %1936, %1929
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  %1942 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1943 = add nsw i32 %1942, 1
  store i32 %1943, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %181) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %182) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %182)
          to label %1944 unwind label %1968

1944:                                             ; preds = %1941
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %183) #6
  %1945 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4002F000000000000000) #6
  store x86_fp80 %1945, ptr %183, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %184) #6
  %1946 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1947 = fsub x86_fp80 %1946, 0xK3FFEFFC7DBF203EBA000
  %1948 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1947)
          to label %1949 unwind label %1972

1949:                                             ; preds = %1944
  %1950 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFC7DBF203EBA000)
          to label %1951 unwind label %1972

1951:                                             ; preds = %1949
  %1952 = fadd x86_fp80 0xK3FFF8000000000000000, %1950
  %1953 = fdiv x86_fp80 %1948, %1952
  store x86_fp80 %1953, ptr %184, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %185) #6
  store i8 0, ptr %185, align 1, !tbaa !11
  %1954 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1955 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1954)
          to label %1956 unwind label %1976

1956:                                             ; preds = %1951
  br i1 %1955, label %1980, label %1957

1957:                                             ; preds = %1956
  %1958 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1959 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1958)
          to label %1960 unwind label %1976

1960:                                             ; preds = %1957
  br i1 %1959, label %1961, label %1980

1961:                                             ; preds = %1960
  %1962 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %1963 = fcmp oeq x86_fp80 %1962, 0xK3FFEFFC7DBF203EBA000
  br i1 %1963, label %1964, label %1980

1964:                                             ; preds = %1961
  store i8 1, ptr %185, align 1, !tbaa !11
  br label %1994

1965:                                             ; preds = %1937, %1924, %1911
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #6
  br label %1966

1966:                                             ; preds = %1965, %1907
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  br label %1967

1967:                                             ; preds = %1966, %1903
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  br label %3190

1968:                                             ; preds = %1941
  %1969 = landingpad { ptr, i32 }
          cleanup
  %1970 = extractvalue { ptr, i32 } %1969, 0
  store ptr %1970, ptr %4, align 8
  %1971 = extractvalue { ptr, i32 } %1969, 1
  store i32 %1971, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #6
  br label %2032

1972:                                             ; preds = %1949, %1944
  %1973 = landingpad { ptr, i32 }
          cleanup
  %1974 = extractvalue { ptr, i32 } %1973, 0
  store ptr %1974, ptr %4, align 8
  %1975 = extractvalue { ptr, i32 } %1973, 1
  store i32 %1975, ptr %5, align 4
  br label %2031

1976:                                             ; preds = %1997, %1984, %1957, %1951
  %1977 = landingpad { ptr, i32 }
          cleanup
  %1978 = extractvalue { ptr, i32 } %1977, 0
  store ptr %1978, ptr %4, align 8
  %1979 = extractvalue { ptr, i32 } %1977, 1
  store i32 %1979, ptr %5, align 4
  br label %2030

1980:                                             ; preds = %1961, %1960, %1956
  %1981 = load x86_fp80, ptr %184, align 16, !tbaa !9
  %1982 = fcmp olt x86_fp80 %1981, 0xK3FD78CBCCC096F508800
  br i1 %1982, label %1983, label %1984

1983:                                             ; preds = %1980
  store i8 1, ptr %185, align 1, !tbaa !11
  br label %1993

1984:                                             ; preds = %1980
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %186, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %1985 unwind label %1976

1985:                                             ; preds = %1984
  %1986 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1987 = load x86_fp80, ptr %183, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %186, i32 noundef %1986, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1987, x86_fp80 noundef 0xK3FFEFFC7DBF203EBA000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4002F000000000000000)
          to label %1988 unwind label %1989

1988:                                             ; preds = %1985
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #6
  br label %1993

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

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

1994:                                             ; preds = %1993, %1964
  %1995 = load i8, ptr %185, align 1, !tbaa !11, !range !13, !noundef !14
  %1996 = trunc i8 %1995 to i1
  br i1 %1996, label %1997, label %2006

1997:                                             ; preds = %1994
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %1998 unwind label %1976

1998:                                             ; preds = %1997
  %1999 = load x86_fp80, ptr %183, align 16, !tbaa !9
  %2000 = load x86_fp80, ptr %184, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %187, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1999, x86_fp80 noundef %2000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4002F000000000000000)
          to label %2001 unwind label %2002

2001:                                             ; preds = %1998
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %2006

2002:                                             ; preds = %1998
  %2003 = landingpad { ptr, i32 }
          cleanup
  %2004 = extractvalue { ptr, i32 } %2003, 0
  store ptr %2004, ptr %4, align 8
  %2005 = extractvalue { ptr, i32 } %2003, 1
  store i32 %2005, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %2030

2006:                                             ; preds = %2001, %1994
  call void @llvm.lifetime.end.p0(i64 1, ptr %185) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %184) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %183) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #6
  %2007 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2008 = add nsw i32 %2007, 1
  store i32 %2008, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %188) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %189) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %189)
          to label %2009 unwind label %2033

2009:                                             ; preds = %2006
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %189) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %190) #6
  %2010 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003A000000000000000) #6
  store x86_fp80 %2010, ptr %190, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %191) #6
  %2011 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %2012 = fsub x86_fp80 %2011, 0xK3FFEFFFEE3B6E104E800
  %2013 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2012)
          to label %2014 unwind label %2037

2014:                                             ; preds = %2009
  %2015 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFEE3B6E104E800)
          to label %2016 unwind label %2037

2016:                                             ; preds = %2014
  %2017 = fadd x86_fp80 0xK3FFF8000000000000000, %2015
  %2018 = fdiv x86_fp80 %2013, %2017
  store x86_fp80 %2018, ptr %191, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %192) #6
  store i8 0, ptr %192, align 1, !tbaa !11
  %2019 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %2020 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2019)
          to label %2021 unwind label %2041

2021:                                             ; preds = %2016
  br i1 %2020, label %2045, label %2022

2022:                                             ; preds = %2021
  %2023 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %2024 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2023)
          to label %2025 unwind label %2041

2025:                                             ; preds = %2022
  br i1 %2024, label %2026, label %2045

2026:                                             ; preds = %2025
  %2027 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %2028 = fcmp oeq x86_fp80 %2027, 0xK3FFEFFFEE3B6E104E800
  br i1 %2028, label %2029, label %2045

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

2030:                                             ; preds = %2002, %1989, %1976
  call void @llvm.lifetime.end.p0(i64 1, ptr %185) #6
  br label %2031

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

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

2033:                                             ; preds = %2006
  %2034 = landingpad { ptr, i32 }
          cleanup
  %2035 = extractvalue { ptr, i32 } %2034, 0
  store ptr %2035, ptr %4, align 8
  %2036 = extractvalue { ptr, i32 } %2034, 1
  store i32 %2036, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %189) #6
  br label %2097

2037:                                             ; preds = %2014, %2009
  %2038 = landingpad { ptr, i32 }
          cleanup
  %2039 = extractvalue { ptr, i32 } %2038, 0
  store ptr %2039, ptr %4, align 8
  %2040 = extractvalue { ptr, i32 } %2038, 1
  store i32 %2040, ptr %5, align 4
  br label %2096

2041:                                             ; preds = %2062, %2049, %2022, %2016
  %2042 = landingpad { ptr, i32 }
          cleanup
  %2043 = extractvalue { ptr, i32 } %2042, 0
  store ptr %2043, ptr %4, align 8
  %2044 = extractvalue { ptr, i32 } %2042, 1
  store i32 %2044, ptr %5, align 4
  br label %2095

2045:                                             ; preds = %2026, %2025, %2021
  %2046 = load x86_fp80, ptr %191, align 16, !tbaa !9
  %2047 = fcmp olt x86_fp80 %2046, 0xK3FD78CBCCC096F508800
  br i1 %2047, label %2048, label %2049

2048:                                             ; preds = %2045
  store i8 1, ptr %192, align 1, !tbaa !11
  br label %2058

2049:                                             ; preds = %2045
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %2050 unwind label %2041

2050:                                             ; preds = %2049
  %2051 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2052 = load x86_fp80, ptr %190, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %193, i32 noundef %2051, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2052, x86_fp80 noundef 0xK3FFEFFFEE3B6E104E800, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %2053 unwind label %2054

2053:                                             ; preds = %2050
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %2058

2054:                                             ; preds = %2050
  %2055 = landingpad { ptr, i32 }
          cleanup
  %2056 = extractvalue { ptr, i32 } %2055, 0
  store ptr %2056, ptr %4, align 8
  %2057 = extractvalue { ptr, i32 } %2055, 1
  store i32 %2057, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %2095

2058:                                             ; preds = %2053, %2048
  br label %2059

2059:                                             ; preds = %2058, %2029
  %2060 = load i8, ptr %192, align 1, !tbaa !11, !range !13, !noundef !14
  %2061 = trunc i8 %2060 to i1
  br i1 %2061, label %2062, label %2071

2062:                                             ; preds = %2059
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %194, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %2063 unwind label %2041

2063:                                             ; preds = %2062
  %2064 = load x86_fp80, ptr %190, align 16, !tbaa !9
  %2065 = load x86_fp80, ptr %191, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %194, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2064, x86_fp80 noundef %2065, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %2066 unwind label %2067

2066:                                             ; preds = %2063
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  br label %2071

2067:                                             ; preds = %2063
  %2068 = landingpad { ptr, i32 }
          cleanup
  %2069 = extractvalue { ptr, i32 } %2068, 0
  store ptr %2069, ptr %4, align 8
  %2070 = extractvalue { ptr, i32 } %2068, 1
  store i32 %2070, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  br label %2095

2071:                                             ; preds = %2066, %2059
  call void @llvm.lifetime.end.p0(i64 1, ptr %192) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %191) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %190) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #6
  %2072 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2073 = add nsw i32 %2072, 1
  store i32 %2073, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %195) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %196) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %195, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %196)
          to label %2074 unwind label %2098

2074:                                             ; preds = %2071
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %197) #6
  %2075 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003C800000000000000) #6
  store x86_fp80 %2075, ptr %197, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %198) #6
  %2076 = load x86_fp80, ptr %197, align 16, !tbaa !9
  %2077 = fsub x86_fp80 %2076, 0xK3FFEFFFFFB85A32C8000
  %2078 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2077)
          to label %2079 unwind label %2102

2079:                                             ; preds = %2074
  %2080 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFFB85A32C8000)
          to label %2081 unwind label %2102

2081:                                             ; preds = %2079
  %2082 = fadd x86_fp80 0xK3FFF8000000000000000, %2080
  %2083 = fdiv x86_fp80 %2078, %2082
  store x86_fp80 %2083, ptr %198, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %199) #6
  store i8 0, ptr %199, align 1, !tbaa !11
  %2084 = load x86_fp80, ptr %197, align 16, !tbaa !9
  %2085 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2084)
          to label %2086 unwind label %2106

2086:                                             ; preds = %2081
  br i1 %2085, label %2110, label %2087

2087:                                             ; preds = %2086
  %2088 = load x86_fp80, ptr %197, align 16, !tbaa !9
  %2089 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2088)
          to label %2090 unwind label %2106

2090:                                             ; preds = %2087
  br i1 %2089, label %2091, label %2110

2091:                                             ; preds = %2090
  %2092 = load x86_fp80, ptr %197, align 16, !tbaa !9
  %2093 = fcmp oeq x86_fp80 %2092, 0xK3FFEFFFFFB85A32C8000
  br i1 %2093, label %2094, label %2110

2094:                                             ; preds = %2091
  store i8 1, ptr %199, align 1, !tbaa !11
  br label %2124

2095:                                             ; preds = %2067, %2054, %2041
  call void @llvm.lifetime.end.p0(i64 1, ptr %192) #6
  br label %2096

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

2097:                                             ; preds = %2096, %2033
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #6
  br label %3190

2098:                                             ; preds = %2071
  %2099 = landingpad { ptr, i32 }
          cleanup
  %2100 = extractvalue { ptr, i32 } %2099, 0
  store ptr %2100, ptr %4, align 8
  %2101 = extractvalue { ptr, i32 } %2099, 1
  store i32 %2101, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #6
  br label %2162

2102:                                             ; preds = %2079, %2074
  %2103 = landingpad { ptr, i32 }
          cleanup
  %2104 = extractvalue { ptr, i32 } %2103, 0
  store ptr %2104, ptr %4, align 8
  %2105 = extractvalue { ptr, i32 } %2103, 1
  store i32 %2105, ptr %5, align 4
  br label %2161

2106:                                             ; preds = %2127, %2114, %2087, %2081
  %2107 = landingpad { ptr, i32 }
          cleanup
  %2108 = extractvalue { ptr, i32 } %2107, 0
  store ptr %2108, ptr %4, align 8
  %2109 = extractvalue { ptr, i32 } %2107, 1
  store i32 %2109, ptr %5, align 4
  br label %2160

2110:                                             ; preds = %2091, %2090, %2086
  %2111 = load x86_fp80, ptr %198, align 16, !tbaa !9
  %2112 = fcmp olt x86_fp80 %2111, 0xK3FD78CBCCC096F508800
  br i1 %2112, label %2113, label %2114

2113:                                             ; preds = %2110
  store i8 1, ptr %199, align 1, !tbaa !11
  br label %2123

2114:                                             ; preds = %2110
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %200, ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %2115 unwind label %2106

2115:                                             ; preds = %2114
  %2116 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2117 = load x86_fp80, ptr %197, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %200, i32 noundef %2116, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2117, x86_fp80 noundef 0xK3FFEFFFFFB85A32C8000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003C800000000000000)
          to label %2118 unwind label %2119

2118:                                             ; preds = %2115
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #6
  br label %2123

2119:                                             ; preds = %2115
  %2120 = landingpad { ptr, i32 }
          cleanup
  %2121 = extractvalue { ptr, i32 } %2120, 0
  store ptr %2121, ptr %4, align 8
  %2122 = extractvalue { ptr, i32 } %2120, 1
  store i32 %2122, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #6
  br label %2160

2123:                                             ; preds = %2118, %2113
  br label %2124

2124:                                             ; preds = %2123, %2094
  %2125 = load i8, ptr %199, align 1, !tbaa !11, !range !13, !noundef !14
  %2126 = trunc i8 %2125 to i1
  br i1 %2126, label %2127, label %2136

2127:                                             ; preds = %2124
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %201, ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %2128 unwind label %2106

2128:                                             ; preds = %2127
  %2129 = load x86_fp80, ptr %197, align 16, !tbaa !9
  %2130 = load x86_fp80, ptr %198, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %201, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2129, x86_fp80 noundef %2130, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003C800000000000000)
          to label %2131 unwind label %2132

2131:                                             ; preds = %2128
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  br label %2136

2132:                                             ; preds = %2128
  %2133 = landingpad { ptr, i32 }
          cleanup
  %2134 = extractvalue { ptr, i32 } %2133, 0
  store ptr %2134, ptr %4, align 8
  %2135 = extractvalue { ptr, i32 } %2133, 1
  store i32 %2135, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  br label %2160

2136:                                             ; preds = %2131, %2124
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %198) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %197) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #6
  %2137 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2138 = add nsw i32 %2137, 1
  store i32 %2138, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %202) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %203) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %203) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %202, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %203)
          to label %2139 unwind label %2163

2139:                                             ; preds = %2136
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %203) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %204) #6
  %2140 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK40048C00000000000000) #6
  store x86_fp80 %2140, ptr %204, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %205) #6
  %2141 = load x86_fp80, ptr %204, align 16, !tbaa !9
  %2142 = fsub x86_fp80 %2141, 0xK3FFEFFFFFFFFCF400000
  %2143 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2142)
          to label %2144 unwind label %2167

2144:                                             ; preds = %2139
  %2145 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFFFFFCF400000)
          to label %2146 unwind label %2167

2146:                                             ; preds = %2144
  %2147 = fadd x86_fp80 0xK3FFF8000000000000000, %2145
  %2148 = fdiv x86_fp80 %2143, %2147
  store x86_fp80 %2148, ptr %205, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %206) #6
  store i8 0, ptr %206, align 1, !tbaa !11
  %2149 = load x86_fp80, ptr %204, align 16, !tbaa !9
  %2150 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2149)
          to label %2151 unwind label %2171

2151:                                             ; preds = %2146
  br i1 %2150, label %2175, label %2152

2152:                                             ; preds = %2151
  %2153 = load x86_fp80, ptr %204, align 16, !tbaa !9
  %2154 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2153)
          to label %2155 unwind label %2171

2155:                                             ; preds = %2152
  br i1 %2154, label %2156, label %2175

2156:                                             ; preds = %2155
  %2157 = load x86_fp80, ptr %204, align 16, !tbaa !9
  %2158 = fcmp oeq x86_fp80 %2157, 0xK3FFEFFFFFFFFCF400000
  br i1 %2158, label %2159, label %2175

2159:                                             ; preds = %2156
  store i8 1, ptr %206, align 1, !tbaa !11
  br label %2189

2160:                                             ; preds = %2132, %2119, %2106
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #6
  br label %2161

2161:                                             ; preds = %2160, %2102
  call void @llvm.lifetime.end.p0(i64 16, ptr %198) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %197) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  br label %2162

2162:                                             ; preds = %2161, %2098
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #6
  br label %3190

2163:                                             ; preds = %2136
  %2164 = landingpad { ptr, i32 }
          cleanup
  %2165 = extractvalue { ptr, i32 } %2164, 0
  store ptr %2165, ptr %4, align 8
  %2166 = extractvalue { ptr, i32 } %2164, 1
  store i32 %2166, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %203) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #6
  br label %2227

2167:                                             ; preds = %2144, %2139
  %2168 = landingpad { ptr, i32 }
          cleanup
  %2169 = extractvalue { ptr, i32 } %2168, 0
  store ptr %2169, ptr %4, align 8
  %2170 = extractvalue { ptr, i32 } %2168, 1
  store i32 %2170, ptr %5, align 4
  br label %2226

2171:                                             ; preds = %2192, %2179, %2152, %2146
  %2172 = landingpad { ptr, i32 }
          cleanup
  %2173 = extractvalue { ptr, i32 } %2172, 0
  store ptr %2173, ptr %4, align 8
  %2174 = extractvalue { ptr, i32 } %2172, 1
  store i32 %2174, ptr %5, align 4
  br label %2225

2175:                                             ; preds = %2156, %2155, %2151
  %2176 = load x86_fp80, ptr %205, align 16, !tbaa !9
  %2177 = fcmp olt x86_fp80 %2176, 0xK3FD78CBCCC096F508800
  br i1 %2177, label %2178, label %2179

2178:                                             ; preds = %2175
  store i8 1, ptr %206, align 1, !tbaa !11
  br label %2188

2179:                                             ; preds = %2175
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %207, ptr noundef nonnull align 8 dereferenceable(32) %202)
          to label %2180 unwind label %2171

2180:                                             ; preds = %2179
  %2181 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2182 = load x86_fp80, ptr %204, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %207, i32 noundef %2181, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2182, x86_fp80 noundef 0xK3FFEFFFFFFFFCF400000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK40048C00000000000000)
          to label %2183 unwind label %2184

2183:                                             ; preds = %2180
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #6
  br label %2188

2184:                                             ; preds = %2180
  %2185 = landingpad { ptr, i32 }
          cleanup
  %2186 = extractvalue { ptr, i32 } %2185, 0
  store ptr %2186, ptr %4, align 8
  %2187 = extractvalue { ptr, i32 } %2185, 1
  store i32 %2187, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #6
  br label %2225

2188:                                             ; preds = %2183, %2178
  br label %2189

2189:                                             ; preds = %2188, %2159
  %2190 = load i8, ptr %206, align 1, !tbaa !11, !range !13, !noundef !14
  %2191 = trunc i8 %2190 to i1
  br i1 %2191, label %2192, label %2201

2192:                                             ; preds = %2189
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef nonnull align 8 dereferenceable(32) %202)
          to label %2193 unwind label %2171

2193:                                             ; preds = %2192
  %2194 = load x86_fp80, ptr %204, align 16, !tbaa !9
  %2195 = load x86_fp80, ptr %205, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %208, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2194, x86_fp80 noundef %2195, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK40048C00000000000000)
          to label %2196 unwind label %2197

2196:                                             ; preds = %2193
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %2201

2197:                                             ; preds = %2193
  %2198 = landingpad { ptr, i32 }
          cleanup
  %2199 = extractvalue { ptr, i32 } %2198, 0
  store ptr %2199, ptr %4, align 8
  %2200 = extractvalue { ptr, i32 } %2198, 1
  store i32 %2200, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %2225

2201:                                             ; preds = %2196, %2189
  call void @llvm.lifetime.end.p0(i64 1, ptr %206) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %205) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %204) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %202) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #6
  %2202 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2203 = add nsw i32 %2202, 1
  store i32 %2203, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %209) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %210) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %210)
          to label %2204 unwind label %2228

2204:                                             ; preds = %2201
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %211) #6
  %2205 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4004C800000000000000) #6
  store x86_fp80 %2205, ptr %211, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %212) #6
  %2206 = load x86_fp80, ptr %211, align 16, !tbaa !9
  %2207 = fsub x86_fp80 %2206, 0xK3FFF8000000000000000
  %2208 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2207)
          to label %2209 unwind label %2232

2209:                                             ; preds = %2204
  %2210 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %2211 unwind label %2232

2211:                                             ; preds = %2209
  %2212 = fadd x86_fp80 0xK3FFF8000000000000000, %2210
  %2213 = fdiv x86_fp80 %2208, %2212
  store x86_fp80 %2213, ptr %212, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %213) #6
  store i8 0, ptr %213, align 1, !tbaa !11
  %2214 = load x86_fp80, ptr %211, align 16, !tbaa !9
  %2215 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2214)
          to label %2216 unwind label %2236

2216:                                             ; preds = %2211
  br i1 %2215, label %2240, label %2217

2217:                                             ; preds = %2216
  %2218 = load x86_fp80, ptr %211, align 16, !tbaa !9
  %2219 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2218)
          to label %2220 unwind label %2236

2220:                                             ; preds = %2217
  br i1 %2219, label %2221, label %2240

2221:                                             ; preds = %2220
  %2222 = load x86_fp80, ptr %211, align 16, !tbaa !9
  %2223 = fcmp oeq x86_fp80 %2222, 0xK3FFF8000000000000000
  br i1 %2223, label %2224, label %2240

2224:                                             ; preds = %2221
  store i8 1, ptr %213, align 1, !tbaa !11
  br label %2254

2225:                                             ; preds = %2197, %2184, %2171
  call void @llvm.lifetime.end.p0(i64 1, ptr %206) #6
  br label %2226

2226:                                             ; preds = %2225, %2167
  call void @llvm.lifetime.end.p0(i64 16, ptr %205) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %204) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %202) #6
  br label %2227

2227:                                             ; preds = %2226, %2163
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #6
  br label %3190

2228:                                             ; preds = %2201
  %2229 = landingpad { ptr, i32 }
          cleanup
  %2230 = extractvalue { ptr, i32 } %2229, 0
  store ptr %2230, ptr %4, align 8
  %2231 = extractvalue { ptr, i32 } %2229, 1
  store i32 %2231, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #6
  br label %2292

2232:                                             ; preds = %2209, %2204
  %2233 = landingpad { ptr, i32 }
          cleanup
  %2234 = extractvalue { ptr, i32 } %2233, 0
  store ptr %2234, ptr %4, align 8
  %2235 = extractvalue { ptr, i32 } %2233, 1
  store i32 %2235, ptr %5, align 4
  br label %2291

2236:                                             ; preds = %2257, %2244, %2217, %2211
  %2237 = landingpad { ptr, i32 }
          cleanup
  %2238 = extractvalue { ptr, i32 } %2237, 0
  store ptr %2238, ptr %4, align 8
  %2239 = extractvalue { ptr, i32 } %2237, 1
  store i32 %2239, ptr %5, align 4
  br label %2290

2240:                                             ; preds = %2221, %2220, %2216
  %2241 = load x86_fp80, ptr %212, align 16, !tbaa !9
  %2242 = fcmp olt x86_fp80 %2241, 0xK3FD78CBCCC096F508800
  br i1 %2242, label %2243, label %2244

2243:                                             ; preds = %2240
  store i8 1, ptr %213, align 1, !tbaa !11
  br label %2253

2244:                                             ; preds = %2240
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %214, ptr noundef nonnull align 8 dereferenceable(32) %209)
          to label %2245 unwind label %2236

2245:                                             ; preds = %2244
  %2246 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2247 = load x86_fp80, ptr %211, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %214, i32 noundef %2246, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2247, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4004C800000000000000)
          to label %2248 unwind label %2249

2248:                                             ; preds = %2245
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #6
  br label %2253

2249:                                             ; preds = %2245
  %2250 = landingpad { ptr, i32 }
          cleanup
  %2251 = extractvalue { ptr, i32 } %2250, 0
  store ptr %2251, ptr %4, align 8
  %2252 = extractvalue { ptr, i32 } %2250, 1
  store i32 %2252, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #6
  br label %2290

2253:                                             ; preds = %2248, %2243
  br label %2254

2254:                                             ; preds = %2253, %2224
  %2255 = load i8, ptr %213, align 1, !tbaa !11, !range !13, !noundef !14
  %2256 = trunc i8 %2255 to i1
  br i1 %2256, label %2257, label %2266

2257:                                             ; preds = %2254
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef nonnull align 8 dereferenceable(32) %209)
          to label %2258 unwind label %2236

2258:                                             ; preds = %2257
  %2259 = load x86_fp80, ptr %211, align 16, !tbaa !9
  %2260 = load x86_fp80, ptr %212, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %215, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2259, x86_fp80 noundef %2260, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4004C800000000000000)
          to label %2261 unwind label %2262

2261:                                             ; preds = %2258
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  br label %2266

2262:                                             ; preds = %2258
  %2263 = landingpad { ptr, i32 }
          cleanup
  %2264 = extractvalue { ptr, i32 } %2263, 0
  store ptr %2264, ptr %4, align 8
  %2265 = extractvalue { ptr, i32 } %2263, 1
  store i32 %2265, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  br label %2290

2266:                                             ; preds = %2261, %2254
  call void @llvm.lifetime.end.p0(i64 1, ptr %213) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %212) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %211) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #6
  %2267 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2268 = add nsw i32 %2267, 1
  store i32 %2268, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %216) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %217) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %217) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %217)
          to label %2269 unwind label %2293

2269:                                             ; preds = %2266
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %217) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %217) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %218) #6
  %2270 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4007FA00000000000000) #6
  store x86_fp80 %2270, ptr %218, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %219) #6
  %2271 = load x86_fp80, ptr %218, align 16, !tbaa !9
  %2272 = fsub x86_fp80 %2271, 0xK3FFF8000000000000000
  %2273 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2272)
          to label %2274 unwind label %2297

2274:                                             ; preds = %2269
  %2275 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %2276 unwind label %2297

2276:                                             ; preds = %2274
  %2277 = fadd x86_fp80 0xK3FFF8000000000000000, %2275
  %2278 = fdiv x86_fp80 %2273, %2277
  store x86_fp80 %2278, ptr %219, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %220) #6
  store i8 0, ptr %220, align 1, !tbaa !11
  %2279 = load x86_fp80, ptr %218, align 16, !tbaa !9
  %2280 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2279)
          to label %2281 unwind label %2301

2281:                                             ; preds = %2276
  br i1 %2280, label %2305, label %2282

2282:                                             ; preds = %2281
  %2283 = load x86_fp80, ptr %218, align 16, !tbaa !9
  %2284 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2283)
          to label %2285 unwind label %2301

2285:                                             ; preds = %2282
  br i1 %2284, label %2286, label %2305

2286:                                             ; preds = %2285
  %2287 = load x86_fp80, ptr %218, align 16, !tbaa !9
  %2288 = fcmp oeq x86_fp80 %2287, 0xK3FFF8000000000000000
  br i1 %2288, label %2289, label %2305

2289:                                             ; preds = %2286
  store i8 1, ptr %220, align 1, !tbaa !11
  br label %2319

2290:                                             ; preds = %2262, %2249, %2236
  call void @llvm.lifetime.end.p0(i64 1, ptr %213) #6
  br label %2291

2291:                                             ; preds = %2290, %2232
  call void @llvm.lifetime.end.p0(i64 16, ptr %212) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %211) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #6
  br label %2292

2292:                                             ; preds = %2291, %2228
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #6
  br label %3190

2293:                                             ; preds = %2266
  %2294 = landingpad { ptr, i32 }
          cleanup
  %2295 = extractvalue { ptr, i32 } %2294, 0
  store ptr %2295, ptr %4, align 8
  %2296 = extractvalue { ptr, i32 } %2294, 1
  store i32 %2296, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %217) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %217) #6
  br label %2357

2297:                                             ; preds = %2274, %2269
  %2298 = landingpad { ptr, i32 }
          cleanup
  %2299 = extractvalue { ptr, i32 } %2298, 0
  store ptr %2299, ptr %4, align 8
  %2300 = extractvalue { ptr, i32 } %2298, 1
  store i32 %2300, ptr %5, align 4
  br label %2356

2301:                                             ; preds = %2322, %2309, %2282, %2276
  %2302 = landingpad { ptr, i32 }
          cleanup
  %2303 = extractvalue { ptr, i32 } %2302, 0
  store ptr %2303, ptr %4, align 8
  %2304 = extractvalue { ptr, i32 } %2302, 1
  store i32 %2304, ptr %5, align 4
  br label %2355

2305:                                             ; preds = %2286, %2285, %2281
  %2306 = load x86_fp80, ptr %219, align 16, !tbaa !9
  %2307 = fcmp olt x86_fp80 %2306, 0xK3FD78CBCCC096F508800
  br i1 %2307, label %2308, label %2309

2308:                                             ; preds = %2305
  store i8 1, ptr %220, align 1, !tbaa !11
  br label %2318

2309:                                             ; preds = %2305
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %221, ptr noundef nonnull align 8 dereferenceable(32) %216)
          to label %2310 unwind label %2301

2310:                                             ; preds = %2309
  %2311 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2312 = load x86_fp80, ptr %218, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %221, i32 noundef %2311, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2312, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4007FA00000000000000)
          to label %2313 unwind label %2314

2313:                                             ; preds = %2310
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #6
  br label %2318

2314:                                             ; preds = %2310
  %2315 = landingpad { ptr, i32 }
          cleanup
  %2316 = extractvalue { ptr, i32 } %2315, 0
  store ptr %2316, ptr %4, align 8
  %2317 = extractvalue { ptr, i32 } %2315, 1
  store i32 %2317, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #6
  br label %2355

2318:                                             ; preds = %2313, %2308
  br label %2319

2319:                                             ; preds = %2318, %2289
  %2320 = load i8, ptr %220, align 1, !tbaa !11, !range !13, !noundef !14
  %2321 = trunc i8 %2320 to i1
  br i1 %2321, label %2322, label %2331

2322:                                             ; preds = %2319
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %222, ptr noundef nonnull align 8 dereferenceable(32) %216)
          to label %2323 unwind label %2301

2323:                                             ; preds = %2322
  %2324 = load x86_fp80, ptr %218, align 16, !tbaa !9
  %2325 = load x86_fp80, ptr %219, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %222, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2324, x86_fp80 noundef %2325, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4007FA00000000000000)
          to label %2326 unwind label %2327

2326:                                             ; preds = %2323
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #6
  br label %2331

2327:                                             ; preds = %2323
  %2328 = landingpad { ptr, i32 }
          cleanup
  %2329 = extractvalue { ptr, i32 } %2328, 0
  store ptr %2329, ptr %4, align 8
  %2330 = extractvalue { ptr, i32 } %2328, 1
  store i32 %2330, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #6
  br label %2355

2331:                                             ; preds = %2326, %2319
  call void @llvm.lifetime.end.p0(i64 1, ptr %220) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %219) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %218) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #6
  %2332 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2333 = add nsw i32 %2332, 1
  store i32 %2333, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %223) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %224) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %223, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %224)
          to label %2334 unwind label %2358

2334:                                             ; preds = %2331
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %224) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %225) #6
  %2335 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4003A000000000000000) #6
  store x86_fp80 %2335, ptr %225, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %226) #6
  %2336 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2337 = fsub x86_fp80 %2336, 0xK3FFEFF77359AA54BA000
  %2338 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2337)
          to label %2339 unwind label %2362

2339:                                             ; preds = %2334
  %2340 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFF77359AA54BA000)
          to label %2341 unwind label %2362

2341:                                             ; preds = %2339
  %2342 = fadd x86_fp80 0xK3FFF8000000000000000, %2340
  %2343 = fdiv x86_fp80 %2338, %2342
  store x86_fp80 %2343, ptr %226, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %227) #6
  store i8 0, ptr %227, align 1, !tbaa !11
  %2344 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2345 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2344)
          to label %2346 unwind label %2366

2346:                                             ; preds = %2341
  br i1 %2345, label %2370, label %2347

2347:                                             ; preds = %2346
  %2348 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2349 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2348)
          to label %2350 unwind label %2366

2350:                                             ; preds = %2347
  br i1 %2349, label %2351, label %2370

2351:                                             ; preds = %2350
  %2352 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2353 = fcmp oeq x86_fp80 %2352, 0xK3FFEFF77359AA54BA000
  br i1 %2353, label %2354, label %2370

2354:                                             ; preds = %2351
  store i8 1, ptr %227, align 1, !tbaa !11
  br label %2384

2355:                                             ; preds = %2327, %2314, %2301
  call void @llvm.lifetime.end.p0(i64 1, ptr %220) #6
  br label %2356

2356:                                             ; preds = %2355, %2297
  call void @llvm.lifetime.end.p0(i64 16, ptr %219) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %218) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #6
  br label %2357

2357:                                             ; preds = %2356, %2293
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #6
  br label %3190

2358:                                             ; preds = %2331
  %2359 = landingpad { ptr, i32 }
          cleanup
  %2360 = extractvalue { ptr, i32 } %2359, 0
  store ptr %2360, ptr %4, align 8
  %2361 = extractvalue { ptr, i32 } %2359, 1
  store i32 %2361, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %224) #6
  br label %2422

2362:                                             ; preds = %2339, %2334
  %2363 = landingpad { ptr, i32 }
          cleanup
  %2364 = extractvalue { ptr, i32 } %2363, 0
  store ptr %2364, ptr %4, align 8
  %2365 = extractvalue { ptr, i32 } %2363, 1
  store i32 %2365, ptr %5, align 4
  br label %2421

2366:                                             ; preds = %2387, %2374, %2347, %2341
  %2367 = landingpad { ptr, i32 }
          cleanup
  %2368 = extractvalue { ptr, i32 } %2367, 0
  store ptr %2368, ptr %4, align 8
  %2369 = extractvalue { ptr, i32 } %2367, 1
  store i32 %2369, ptr %5, align 4
  br label %2420

2370:                                             ; preds = %2351, %2350, %2346
  %2371 = load x86_fp80, ptr %226, align 16, !tbaa !9
  %2372 = fcmp olt x86_fp80 %2371, 0xK3FD78CBCCC096F508800
  br i1 %2372, label %2373, label %2374

2373:                                             ; preds = %2370
  store i8 1, ptr %227, align 1, !tbaa !11
  br label %2383

2374:                                             ; preds = %2370
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %228, ptr noundef nonnull align 8 dereferenceable(32) %223)
          to label %2375 unwind label %2366

2375:                                             ; preds = %2374
  %2376 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2377 = load x86_fp80, ptr %225, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %228, i32 noundef %2376, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2377, x86_fp80 noundef 0xK3FFEFF77359AA54BA000, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %2378 unwind label %2379

2378:                                             ; preds = %2375
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #6
  br label %2383

2379:                                             ; preds = %2375
  %2380 = landingpad { ptr, i32 }
          cleanup
  %2381 = extractvalue { ptr, i32 } %2380, 0
  store ptr %2381, ptr %4, align 8
  %2382 = extractvalue { ptr, i32 } %2380, 1
  store i32 %2382, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #6
  br label %2420

2383:                                             ; preds = %2378, %2373
  br label %2384

2384:                                             ; preds = %2383, %2354
  %2385 = load i8, ptr %227, align 1, !tbaa !11, !range !13, !noundef !14
  %2386 = trunc i8 %2385 to i1
  br i1 %2386, label %2387, label %2396

2387:                                             ; preds = %2384
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef nonnull align 8 dereferenceable(32) %223)
          to label %2388 unwind label %2366

2388:                                             ; preds = %2387
  %2389 = load x86_fp80, ptr %225, align 16, !tbaa !9
  %2390 = load x86_fp80, ptr %226, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %229, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2389, x86_fp80 noundef %2390, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %2391 unwind label %2392

2391:                                             ; preds = %2388
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #6
  br label %2396

2392:                                             ; preds = %2388
  %2393 = landingpad { ptr, i32 }
          cleanup
  %2394 = extractvalue { ptr, i32 } %2393, 0
  store ptr %2394, ptr %4, align 8
  %2395 = extractvalue { ptr, i32 } %2393, 1
  store i32 %2395, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #6
  br label %2420

2396:                                             ; preds = %2391, %2384
  call void @llvm.lifetime.end.p0(i64 1, ptr %227) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %226) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %225) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %223) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %223) #6
  %2397 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2398 = add nsw i32 %2397, 1
  store i32 %2398, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %230) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %231) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %231) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %230, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %231)
          to label %2399 unwind label %2423

2399:                                             ; preds = %2396
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %231) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %231) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %232) #6
  %2400 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4004A000000000000000) #6
  store x86_fp80 %2400, ptr %232, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %233) #6
  %2401 = load x86_fp80, ptr %232, align 16, !tbaa !9
  %2402 = fsub x86_fp80 %2401, 0xK3FFEFFFFFFFC51CC7800
  %2403 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2402)
          to label %2404 unwind label %2427

2404:                                             ; preds = %2399
  %2405 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFFFFC51CC7800)
          to label %2406 unwind label %2427

2406:                                             ; preds = %2404
  %2407 = fadd x86_fp80 0xK3FFF8000000000000000, %2405
  %2408 = fdiv x86_fp80 %2403, %2407
  store x86_fp80 %2408, ptr %233, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %234) #6
  store i8 0, ptr %234, align 1, !tbaa !11
  %2409 = load x86_fp80, ptr %232, align 16, !tbaa !9
  %2410 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2409)
          to label %2411 unwind label %2431

2411:                                             ; preds = %2406
  br i1 %2410, label %2435, label %2412

2412:                                             ; preds = %2411
  %2413 = load x86_fp80, ptr %232, align 16, !tbaa !9
  %2414 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2413)
          to label %2415 unwind label %2431

2415:                                             ; preds = %2412
  br i1 %2414, label %2416, label %2435

2416:                                             ; preds = %2415
  %2417 = load x86_fp80, ptr %232, align 16, !tbaa !9
  %2418 = fcmp oeq x86_fp80 %2417, 0xK3FFEFFFFFFFC51CC7800
  br i1 %2418, label %2419, label %2435

2419:                                             ; preds = %2416
  store i8 1, ptr %234, align 1, !tbaa !11
  br label %2449

2420:                                             ; preds = %2392, %2379, %2366
  call void @llvm.lifetime.end.p0(i64 1, ptr %227) #6
  br label %2421

2421:                                             ; preds = %2420, %2362
  call void @llvm.lifetime.end.p0(i64 16, ptr %226) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %225) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %223) #6
  br label %2422

2422:                                             ; preds = %2421, %2358
  call void @llvm.lifetime.end.p0(i64 32, ptr %223) #6
  br label %3190

2423:                                             ; preds = %2396
  %2424 = landingpad { ptr, i32 }
          cleanup
  %2425 = extractvalue { ptr, i32 } %2424, 0
  store ptr %2425, ptr %4, align 8
  %2426 = extractvalue { ptr, i32 } %2424, 1
  store i32 %2426, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %231) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %231) #6
  br label %2487

2427:                                             ; preds = %2404, %2399
  %2428 = landingpad { ptr, i32 }
          cleanup
  %2429 = extractvalue { ptr, i32 } %2428, 0
  store ptr %2429, ptr %4, align 8
  %2430 = extractvalue { ptr, i32 } %2428, 1
  store i32 %2430, ptr %5, align 4
  br label %2486

2431:                                             ; preds = %2452, %2439, %2412, %2406
  %2432 = landingpad { ptr, i32 }
          cleanup
  %2433 = extractvalue { ptr, i32 } %2432, 0
  store ptr %2433, ptr %4, align 8
  %2434 = extractvalue { ptr, i32 } %2432, 1
  store i32 %2434, ptr %5, align 4
  br label %2485

2435:                                             ; preds = %2416, %2415, %2411
  %2436 = load x86_fp80, ptr %233, align 16, !tbaa !9
  %2437 = fcmp olt x86_fp80 %2436, 0xK3FD78CBCCC096F508800
  br i1 %2437, label %2438, label %2439

2438:                                             ; preds = %2435
  store i8 1, ptr %234, align 1, !tbaa !11
  br label %2448

2439:                                             ; preds = %2435
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %235, ptr noundef nonnull align 8 dereferenceable(32) %230)
          to label %2440 unwind label %2431

2440:                                             ; preds = %2439
  %2441 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2442 = load x86_fp80, ptr %232, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %235, i32 noundef %2441, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2442, x86_fp80 noundef 0xK3FFEFFFFFFFC51CC7800, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4004A000000000000000)
          to label %2443 unwind label %2444

2443:                                             ; preds = %2440
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #6
  br label %2448

2444:                                             ; preds = %2440
  %2445 = landingpad { ptr, i32 }
          cleanup
  %2446 = extractvalue { ptr, i32 } %2445, 0
  store ptr %2446, ptr %4, align 8
  %2447 = extractvalue { ptr, i32 } %2445, 1
  store i32 %2447, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #6
  br label %2485

2448:                                             ; preds = %2443, %2438
  br label %2449

2449:                                             ; preds = %2448, %2419
  %2450 = load i8, ptr %234, align 1, !tbaa !11, !range !13, !noundef !14
  %2451 = trunc i8 %2450 to i1
  br i1 %2451, label %2452, label %2461

2452:                                             ; preds = %2449
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %236, ptr noundef nonnull align 8 dereferenceable(32) %230)
          to label %2453 unwind label %2431

2453:                                             ; preds = %2452
  %2454 = load x86_fp80, ptr %232, align 16, !tbaa !9
  %2455 = load x86_fp80, ptr %233, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %236, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2454, x86_fp80 noundef %2455, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4004A000000000000000)
          to label %2456 unwind label %2457

2456:                                             ; preds = %2453
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #6
  br label %2461

2457:                                             ; preds = %2453
  %2458 = landingpad { ptr, i32 }
          cleanup
  %2459 = extractvalue { ptr, i32 } %2458, 0
  store ptr %2459, ptr %4, align 8
  %2460 = extractvalue { ptr, i32 } %2458, 1
  store i32 %2460, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #6
  br label %2485

2461:                                             ; preds = %2456, %2449
  call void @llvm.lifetime.end.p0(i64 1, ptr %234) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %233) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %232) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %230) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #6
  %2462 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2463 = add nsw i32 %2462, 1
  store i32 %2463, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %237) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %238) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %238) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %237, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %238)
          to label %2464 unwind label %2488

2464:                                             ; preds = %2461
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %238) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %238) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %239) #6
  %2465 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4002F000000000000000) #6
  store x86_fp80 %2465, ptr %239, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %240) #6
  %2466 = load x86_fp80, ptr %239, align 16, !tbaa !9
  %2467 = fsub x86_fp80 %2466, 0xK3FFEE1AC50FABE34E000
  %2468 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2467)
          to label %2469 unwind label %2492

2469:                                             ; preds = %2464
  %2470 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEE1AC50FABE34E000)
          to label %2471 unwind label %2492

2471:                                             ; preds = %2469
  %2472 = fadd x86_fp80 0xK3FFF8000000000000000, %2470
  %2473 = fdiv x86_fp80 %2468, %2472
  store x86_fp80 %2473, ptr %240, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %241) #6
  store i8 0, ptr %241, align 1, !tbaa !11
  %2474 = load x86_fp80, ptr %239, align 16, !tbaa !9
  %2475 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2474)
          to label %2476 unwind label %2496

2476:                                             ; preds = %2471
  br i1 %2475, label %2500, label %2477

2477:                                             ; preds = %2476
  %2478 = load x86_fp80, ptr %239, align 16, !tbaa !9
  %2479 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2478)
          to label %2480 unwind label %2496

2480:                                             ; preds = %2477
  br i1 %2479, label %2481, label %2500

2481:                                             ; preds = %2480
  %2482 = load x86_fp80, ptr %239, align 16, !tbaa !9
  %2483 = fcmp oeq x86_fp80 %2482, 0xK3FFEE1AC50FABE34E000
  br i1 %2483, label %2484, label %2500

2484:                                             ; preds = %2481
  store i8 1, ptr %241, align 1, !tbaa !11
  br label %2514

2485:                                             ; preds = %2457, %2444, %2431
  call void @llvm.lifetime.end.p0(i64 1, ptr %234) #6
  br label %2486

2486:                                             ; preds = %2485, %2427
  call void @llvm.lifetime.end.p0(i64 16, ptr %233) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %232) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %230) #6
  br label %2487

2487:                                             ; preds = %2486, %2423
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #6
  br label %3190

2488:                                             ; preds = %2461
  %2489 = landingpad { ptr, i32 }
          cleanup
  %2490 = extractvalue { ptr, i32 } %2489, 0
  store ptr %2490, ptr %4, align 8
  %2491 = extractvalue { ptr, i32 } %2489, 1
  store i32 %2491, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %238) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %238) #6
  br label %2552

2492:                                             ; preds = %2469, %2464
  %2493 = landingpad { ptr, i32 }
          cleanup
  %2494 = extractvalue { ptr, i32 } %2493, 0
  store ptr %2494, ptr %4, align 8
  %2495 = extractvalue { ptr, i32 } %2493, 1
  store i32 %2495, ptr %5, align 4
  br label %2551

2496:                                             ; preds = %2517, %2504, %2477, %2471
  %2497 = landingpad { ptr, i32 }
          cleanup
  %2498 = extractvalue { ptr, i32 } %2497, 0
  store ptr %2498, ptr %4, align 8
  %2499 = extractvalue { ptr, i32 } %2497, 1
  store i32 %2499, ptr %5, align 4
  br label %2550

2500:                                             ; preds = %2481, %2480, %2476
  %2501 = load x86_fp80, ptr %240, align 16, !tbaa !9
  %2502 = fcmp olt x86_fp80 %2501, 0xK3FD78CBCCC096F508800
  br i1 %2502, label %2503, label %2504

2503:                                             ; preds = %2500
  store i8 1, ptr %241, align 1, !tbaa !11
  br label %2513

2504:                                             ; preds = %2500
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %242, ptr noundef nonnull align 8 dereferenceable(32) %237)
          to label %2505 unwind label %2496

2505:                                             ; preds = %2504
  %2506 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2507 = load x86_fp80, ptr %239, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %242, i32 noundef %2506, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2507, x86_fp80 noundef 0xK3FFEE1AC50FABE34E000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4002F000000000000000)
          to label %2508 unwind label %2509

2508:                                             ; preds = %2505
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %242) #6
  br label %2513

2509:                                             ; preds = %2505
  %2510 = landingpad { ptr, i32 }
          cleanup
  %2511 = extractvalue { ptr, i32 } %2510, 0
  store ptr %2511, ptr %4, align 8
  %2512 = extractvalue { ptr, i32 } %2510, 1
  store i32 %2512, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %242) #6
  br label %2550

2513:                                             ; preds = %2508, %2503
  br label %2514

2514:                                             ; preds = %2513, %2484
  %2515 = load i8, ptr %241, align 1, !tbaa !11, !range !13, !noundef !14
  %2516 = trunc i8 %2515 to i1
  br i1 %2516, label %2517, label %2526

2517:                                             ; preds = %2514
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %243, ptr noundef nonnull align 8 dereferenceable(32) %237)
          to label %2518 unwind label %2496

2518:                                             ; preds = %2517
  %2519 = load x86_fp80, ptr %239, align 16, !tbaa !9
  %2520 = load x86_fp80, ptr %240, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %243, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2519, x86_fp80 noundef %2520, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4002F000000000000000)
          to label %2521 unwind label %2522

2521:                                             ; preds = %2518
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %243) #6
  br label %2526

2522:                                             ; preds = %2518
  %2523 = landingpad { ptr, i32 }
          cleanup
  %2524 = extractvalue { ptr, i32 } %2523, 0
  store ptr %2524, ptr %4, align 8
  %2525 = extractvalue { ptr, i32 } %2523, 1
  store i32 %2525, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %243) #6
  br label %2550

2526:                                             ; preds = %2521, %2514
  call void @llvm.lifetime.end.p0(i64 1, ptr %241) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %240) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %239) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %237) #6
  %2527 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2528 = add nsw i32 %2527, 1
  store i32 %2528, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %244) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %245) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %245) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %244, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %245)
          to label %2529 unwind label %2553

2529:                                             ; preds = %2526
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %245) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %245) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %246) #6
  %2530 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003A000000000000000) #6
  store x86_fp80 %2530, ptr %246, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %247) #6
  %2531 = load x86_fp80, ptr %246, align 16, !tbaa !9
  %2532 = fsub x86_fp80 %2531, 0xK3FFEFD3B717539D9C800
  %2533 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2532)
          to label %2534 unwind label %2557

2534:                                             ; preds = %2529
  %2535 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFD3B717539D9C800)
          to label %2536 unwind label %2557

2536:                                             ; preds = %2534
  %2537 = fadd x86_fp80 0xK3FFF8000000000000000, %2535
  %2538 = fdiv x86_fp80 %2533, %2537
  store x86_fp80 %2538, ptr %247, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %248) #6
  store i8 0, ptr %248, align 1, !tbaa !11
  %2539 = load x86_fp80, ptr %246, align 16, !tbaa !9
  %2540 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2539)
          to label %2541 unwind label %2561

2541:                                             ; preds = %2536
  br i1 %2540, label %2565, label %2542

2542:                                             ; preds = %2541
  %2543 = load x86_fp80, ptr %246, align 16, !tbaa !9
  %2544 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2543)
          to label %2545 unwind label %2561

2545:                                             ; preds = %2542
  br i1 %2544, label %2546, label %2565

2546:                                             ; preds = %2545
  %2547 = load x86_fp80, ptr %246, align 16, !tbaa !9
  %2548 = fcmp oeq x86_fp80 %2547, 0xK3FFEFD3B717539D9C800
  br i1 %2548, label %2549, label %2565

2549:                                             ; preds = %2546
  store i8 1, ptr %248, align 1, !tbaa !11
  br label %2579

2550:                                             ; preds = %2522, %2509, %2496
  call void @llvm.lifetime.end.p0(i64 1, ptr %241) #6
  br label %2551

2551:                                             ; preds = %2550, %2492
  call void @llvm.lifetime.end.p0(i64 16, ptr %240) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %239) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #6
  br label %2552

2552:                                             ; preds = %2551, %2488
  call void @llvm.lifetime.end.p0(i64 32, ptr %237) #6
  br label %3190

2553:                                             ; preds = %2526
  %2554 = landingpad { ptr, i32 }
          cleanup
  %2555 = extractvalue { ptr, i32 } %2554, 0
  store ptr %2555, ptr %4, align 8
  %2556 = extractvalue { ptr, i32 } %2554, 1
  store i32 %2556, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %245) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %245) #6
  br label %2617

2557:                                             ; preds = %2534, %2529
  %2558 = landingpad { ptr, i32 }
          cleanup
  %2559 = extractvalue { ptr, i32 } %2558, 0
  store ptr %2559, ptr %4, align 8
  %2560 = extractvalue { ptr, i32 } %2558, 1
  store i32 %2560, ptr %5, align 4
  br label %2616

2561:                                             ; preds = %2582, %2569, %2542, %2536
  %2562 = landingpad { ptr, i32 }
          cleanup
  %2563 = extractvalue { ptr, i32 } %2562, 0
  store ptr %2563, ptr %4, align 8
  %2564 = extractvalue { ptr, i32 } %2562, 1
  store i32 %2564, ptr %5, align 4
  br label %2615

2565:                                             ; preds = %2546, %2545, %2541
  %2566 = load x86_fp80, ptr %247, align 16, !tbaa !9
  %2567 = fcmp olt x86_fp80 %2566, 0xK3FD78CBCCC096F508800
  br i1 %2567, label %2568, label %2569

2568:                                             ; preds = %2565
  store i8 1, ptr %248, align 1, !tbaa !11
  br label %2578

2569:                                             ; preds = %2565
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %249, ptr noundef nonnull align 8 dereferenceable(32) %244)
          to label %2570 unwind label %2561

2570:                                             ; preds = %2569
  %2571 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2572 = load x86_fp80, ptr %246, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %249, i32 noundef %2571, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2572, x86_fp80 noundef 0xK3FFEFD3B717539D9C800, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %2573 unwind label %2574

2573:                                             ; preds = %2570
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %249) #6
  br label %2578

2574:                                             ; preds = %2570
  %2575 = landingpad { ptr, i32 }
          cleanup
  %2576 = extractvalue { ptr, i32 } %2575, 0
  store ptr %2576, ptr %4, align 8
  %2577 = extractvalue { ptr, i32 } %2575, 1
  store i32 %2577, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %249) #6
  br label %2615

2578:                                             ; preds = %2573, %2568
  br label %2579

2579:                                             ; preds = %2578, %2549
  %2580 = load i8, ptr %248, align 1, !tbaa !11, !range !13, !noundef !14
  %2581 = trunc i8 %2580 to i1
  br i1 %2581, label %2582, label %2591

2582:                                             ; preds = %2579
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %250, ptr noundef nonnull align 8 dereferenceable(32) %244)
          to label %2583 unwind label %2561

2583:                                             ; preds = %2582
  %2584 = load x86_fp80, ptr %246, align 16, !tbaa !9
  %2585 = load x86_fp80, ptr %247, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %250, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2584, x86_fp80 noundef %2585, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %2586 unwind label %2587

2586:                                             ; preds = %2583
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %250) #6
  br label %2591

2587:                                             ; preds = %2583
  %2588 = landingpad { ptr, i32 }
          cleanup
  %2589 = extractvalue { ptr, i32 } %2588, 0
  store ptr %2589, ptr %4, align 8
  %2590 = extractvalue { ptr, i32 } %2588, 1
  store i32 %2590, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %250) #6
  br label %2615

2591:                                             ; preds = %2586, %2579
  call void @llvm.lifetime.end.p0(i64 1, ptr %248) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %247) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %246) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %244) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %244) #6
  %2592 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2593 = add nsw i32 %2592, 1
  store i32 %2593, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %251) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %252) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %252) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %251, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %252)
          to label %2594 unwind label %2618

2594:                                             ; preds = %2591
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %252) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %252) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %253) #6
  %2595 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003C800000000000000) #6
  store x86_fp80 %2595, ptr %253, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %254) #6
  %2596 = load x86_fp80, ptr %253, align 16, !tbaa !9
  %2597 = fsub x86_fp80 %2596, 0xK3FFEFFD990CE7AD79000
  %2598 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2597)
          to label %2599 unwind label %2622

2599:                                             ; preds = %2594
  %2600 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFD990CE7AD79000)
          to label %2601 unwind label %2622

2601:                                             ; preds = %2599
  %2602 = fadd x86_fp80 0xK3FFF8000000000000000, %2600
  %2603 = fdiv x86_fp80 %2598, %2602
  store x86_fp80 %2603, ptr %254, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %255) #6
  store i8 0, ptr %255, align 1, !tbaa !11
  %2604 = load x86_fp80, ptr %253, align 16, !tbaa !9
  %2605 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2604)
          to label %2606 unwind label %2626

2606:                                             ; preds = %2601
  br i1 %2605, label %2630, label %2607

2607:                                             ; preds = %2606
  %2608 = load x86_fp80, ptr %253, align 16, !tbaa !9
  %2609 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2608)
          to label %2610 unwind label %2626

2610:                                             ; preds = %2607
  br i1 %2609, label %2611, label %2630

2611:                                             ; preds = %2610
  %2612 = load x86_fp80, ptr %253, align 16, !tbaa !9
  %2613 = fcmp oeq x86_fp80 %2612, 0xK3FFEFFD990CE7AD79000
  br i1 %2613, label %2614, label %2630

2614:                                             ; preds = %2611
  store i8 1, ptr %255, align 1, !tbaa !11
  br label %2644

2615:                                             ; preds = %2587, %2574, %2561
  call void @llvm.lifetime.end.p0(i64 1, ptr %248) #6
  br label %2616

2616:                                             ; preds = %2615, %2557
  call void @llvm.lifetime.end.p0(i64 16, ptr %247) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %246) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %244) #6
  br label %2617

2617:                                             ; preds = %2616, %2553
  call void @llvm.lifetime.end.p0(i64 32, ptr %244) #6
  br label %3190

2618:                                             ; preds = %2591
  %2619 = landingpad { ptr, i32 }
          cleanup
  %2620 = extractvalue { ptr, i32 } %2619, 0
  store ptr %2620, ptr %4, align 8
  %2621 = extractvalue { ptr, i32 } %2619, 1
  store i32 %2621, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %252) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %252) #6
  br label %2682

2622:                                             ; preds = %2599, %2594
  %2623 = landingpad { ptr, i32 }
          cleanup
  %2624 = extractvalue { ptr, i32 } %2623, 0
  store ptr %2624, ptr %4, align 8
  %2625 = extractvalue { ptr, i32 } %2623, 1
  store i32 %2625, ptr %5, align 4
  br label %2681

2626:                                             ; preds = %2647, %2634, %2607, %2601
  %2627 = landingpad { ptr, i32 }
          cleanup
  %2628 = extractvalue { ptr, i32 } %2627, 0
  store ptr %2628, ptr %4, align 8
  %2629 = extractvalue { ptr, i32 } %2627, 1
  store i32 %2629, ptr %5, align 4
  br label %2680

2630:                                             ; preds = %2611, %2610, %2606
  %2631 = load x86_fp80, ptr %254, align 16, !tbaa !9
  %2632 = fcmp olt x86_fp80 %2631, 0xK3FD78CBCCC096F508800
  br i1 %2632, label %2633, label %2634

2633:                                             ; preds = %2630
  store i8 1, ptr %255, align 1, !tbaa !11
  br label %2643

2634:                                             ; preds = %2630
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %256, ptr noundef nonnull align 8 dereferenceable(32) %251)
          to label %2635 unwind label %2626

2635:                                             ; preds = %2634
  %2636 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2637 = load x86_fp80, ptr %253, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %256, i32 noundef %2636, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2637, x86_fp80 noundef 0xK3FFEFFD990CE7AD79000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003C800000000000000)
          to label %2638 unwind label %2639

2638:                                             ; preds = %2635
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %256) #6
  br label %2643

2639:                                             ; preds = %2635
  %2640 = landingpad { ptr, i32 }
          cleanup
  %2641 = extractvalue { ptr, i32 } %2640, 0
  store ptr %2641, ptr %4, align 8
  %2642 = extractvalue { ptr, i32 } %2640, 1
  store i32 %2642, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %256) #6
  br label %2680

2643:                                             ; preds = %2638, %2633
  br label %2644

2644:                                             ; preds = %2643, %2614
  %2645 = load i8, ptr %255, align 1, !tbaa !11, !range !13, !noundef !14
  %2646 = trunc i8 %2645 to i1
  br i1 %2646, label %2647, label %2656

2647:                                             ; preds = %2644
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %257, ptr noundef nonnull align 8 dereferenceable(32) %251)
          to label %2648 unwind label %2626

2648:                                             ; preds = %2647
  %2649 = load x86_fp80, ptr %253, align 16, !tbaa !9
  %2650 = load x86_fp80, ptr %254, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %257, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2649, x86_fp80 noundef %2650, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003C800000000000000)
          to label %2651 unwind label %2652

2651:                                             ; preds = %2648
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %257) #6
  br label %2656

2652:                                             ; preds = %2648
  %2653 = landingpad { ptr, i32 }
          cleanup
  %2654 = extractvalue { ptr, i32 } %2653, 0
  store ptr %2654, ptr %4, align 8
  %2655 = extractvalue { ptr, i32 } %2653, 1
  store i32 %2655, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %257) #6
  br label %2680

2656:                                             ; preds = %2651, %2644
  call void @llvm.lifetime.end.p0(i64 1, ptr %255) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %254) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %253) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %251) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %251) #6
  %2657 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2658 = add nsw i32 %2657, 1
  store i32 %2658, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %258) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %259) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %259) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %258, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %259)
          to label %2659 unwind label %2683

2659:                                             ; preds = %2656
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %259) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %259) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %260) #6
  %2660 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK40048C00000000000000) #6
  store x86_fp80 %2660, ptr %260, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %261) #6
  %2661 = load x86_fp80, ptr %260, align 16, !tbaa !9
  %2662 = fsub x86_fp80 %2661, 0xK3FFEFFFFF4E7228B1000
  %2663 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2662)
          to label %2664 unwind label %2687

2664:                                             ; preds = %2659
  %2665 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFF4E7228B1000)
          to label %2666 unwind label %2687

2666:                                             ; preds = %2664
  %2667 = fadd x86_fp80 0xK3FFF8000000000000000, %2665
  %2668 = fdiv x86_fp80 %2663, %2667
  store x86_fp80 %2668, ptr %261, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %262) #6
  store i8 0, ptr %262, align 1, !tbaa !11
  %2669 = load x86_fp80, ptr %260, align 16, !tbaa !9
  %2670 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2669)
          to label %2671 unwind label %2691

2671:                                             ; preds = %2666
  br i1 %2670, label %2695, label %2672

2672:                                             ; preds = %2671
  %2673 = load x86_fp80, ptr %260, align 16, !tbaa !9
  %2674 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2673)
          to label %2675 unwind label %2691

2675:                                             ; preds = %2672
  br i1 %2674, label %2676, label %2695

2676:                                             ; preds = %2675
  %2677 = load x86_fp80, ptr %260, align 16, !tbaa !9
  %2678 = fcmp oeq x86_fp80 %2677, 0xK3FFEFFFFF4E7228B1000
  br i1 %2678, label %2679, label %2695

2679:                                             ; preds = %2676
  store i8 1, ptr %262, align 1, !tbaa !11
  br label %2709

2680:                                             ; preds = %2652, %2639, %2626
  call void @llvm.lifetime.end.p0(i64 1, ptr %255) #6
  br label %2681

2681:                                             ; preds = %2680, %2622
  call void @llvm.lifetime.end.p0(i64 16, ptr %254) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %253) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %251) #6
  br label %2682

2682:                                             ; preds = %2681, %2618
  call void @llvm.lifetime.end.p0(i64 32, ptr %251) #6
  br label %3190

2683:                                             ; preds = %2656
  %2684 = landingpad { ptr, i32 }
          cleanup
  %2685 = extractvalue { ptr, i32 } %2684, 0
  store ptr %2685, ptr %4, align 8
  %2686 = extractvalue { ptr, i32 } %2684, 1
  store i32 %2686, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %259) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %259) #6
  br label %2747

2687:                                             ; preds = %2664, %2659
  %2688 = landingpad { ptr, i32 }
          cleanup
  %2689 = extractvalue { ptr, i32 } %2688, 0
  store ptr %2689, ptr %4, align 8
  %2690 = extractvalue { ptr, i32 } %2688, 1
  store i32 %2690, ptr %5, align 4
  br label %2746

2691:                                             ; preds = %2712, %2699, %2672, %2666
  %2692 = landingpad { ptr, i32 }
          cleanup
  %2693 = extractvalue { ptr, i32 } %2692, 0
  store ptr %2693, ptr %4, align 8
  %2694 = extractvalue { ptr, i32 } %2692, 1
  store i32 %2694, ptr %5, align 4
  br label %2745

2695:                                             ; preds = %2676, %2675, %2671
  %2696 = load x86_fp80, ptr %261, align 16, !tbaa !9
  %2697 = fcmp olt x86_fp80 %2696, 0xK3FD78CBCCC096F508800
  br i1 %2697, label %2698, label %2699

2698:                                             ; preds = %2695
  store i8 1, ptr %262, align 1, !tbaa !11
  br label %2708

2699:                                             ; preds = %2695
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %263, ptr noundef nonnull align 8 dereferenceable(32) %258)
          to label %2700 unwind label %2691

2700:                                             ; preds = %2699
  %2701 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2702 = load x86_fp80, ptr %260, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %263, i32 noundef %2701, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2702, x86_fp80 noundef 0xK3FFEFFFFF4E7228B1000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK40048C00000000000000)
          to label %2703 unwind label %2704

2703:                                             ; preds = %2700
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %263) #6
  br label %2708

2704:                                             ; preds = %2700
  %2705 = landingpad { ptr, i32 }
          cleanup
  %2706 = extractvalue { ptr, i32 } %2705, 0
  store ptr %2706, ptr %4, align 8
  %2707 = extractvalue { ptr, i32 } %2705, 1
  store i32 %2707, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %263) #6
  br label %2745

2708:                                             ; preds = %2703, %2698
  br label %2709

2709:                                             ; preds = %2708, %2679
  %2710 = load i8, ptr %262, align 1, !tbaa !11, !range !13, !noundef !14
  %2711 = trunc i8 %2710 to i1
  br i1 %2711, label %2712, label %2721

2712:                                             ; preds = %2709
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %264, ptr noundef nonnull align 8 dereferenceable(32) %258)
          to label %2713 unwind label %2691

2713:                                             ; preds = %2712
  %2714 = load x86_fp80, ptr %260, align 16, !tbaa !9
  %2715 = load x86_fp80, ptr %261, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %264, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2714, x86_fp80 noundef %2715, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK40048C00000000000000)
          to label %2716 unwind label %2717

2716:                                             ; preds = %2713
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %264) #6
  br label %2721

2717:                                             ; preds = %2713
  %2718 = landingpad { ptr, i32 }
          cleanup
  %2719 = extractvalue { ptr, i32 } %2718, 0
  store ptr %2719, ptr %4, align 8
  %2720 = extractvalue { ptr, i32 } %2718, 1
  store i32 %2720, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %264) #6
  br label %2745

2721:                                             ; preds = %2716, %2709
  call void @llvm.lifetime.end.p0(i64 1, ptr %262) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %261) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %260) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %258) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %258) #6
  %2722 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2723 = add nsw i32 %2722, 1
  store i32 %2723, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %265) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %266) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %266) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %265, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %266)
          to label %2724 unwind label %2748

2724:                                             ; preds = %2721
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %266) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %266) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %267) #6
  %2725 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4004C800000000000000) #6
  store x86_fp80 %2725, ptr %267, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %268) #6
  %2726 = load x86_fp80, ptr %267, align 16, !tbaa !9
  %2727 = fsub x86_fp80 %2726, 0xK3FFEFFFFFFFFF8E87000
  %2728 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2727)
          to label %2729 unwind label %2752

2729:                                             ; preds = %2724
  %2730 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFFFFFF8E87000)
          to label %2731 unwind label %2752

2731:                                             ; preds = %2729
  %2732 = fadd x86_fp80 0xK3FFF8000000000000000, %2730
  %2733 = fdiv x86_fp80 %2728, %2732
  store x86_fp80 %2733, ptr %268, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %269) #6
  store i8 0, ptr %269, align 1, !tbaa !11
  %2734 = load x86_fp80, ptr %267, align 16, !tbaa !9
  %2735 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2734)
          to label %2736 unwind label %2756

2736:                                             ; preds = %2731
  br i1 %2735, label %2760, label %2737

2737:                                             ; preds = %2736
  %2738 = load x86_fp80, ptr %267, align 16, !tbaa !9
  %2739 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2738)
          to label %2740 unwind label %2756

2740:                                             ; preds = %2737
  br i1 %2739, label %2741, label %2760

2741:                                             ; preds = %2740
  %2742 = load x86_fp80, ptr %267, align 16, !tbaa !9
  %2743 = fcmp oeq x86_fp80 %2742, 0xK3FFEFFFFFFFFF8E87000
  br i1 %2743, label %2744, label %2760

2744:                                             ; preds = %2741
  store i8 1, ptr %269, align 1, !tbaa !11
  br label %2774

2745:                                             ; preds = %2717, %2704, %2691
  call void @llvm.lifetime.end.p0(i64 1, ptr %262) #6
  br label %2746

2746:                                             ; preds = %2745, %2687
  call void @llvm.lifetime.end.p0(i64 16, ptr %261) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %260) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %258) #6
  br label %2747

2747:                                             ; preds = %2746, %2683
  call void @llvm.lifetime.end.p0(i64 32, ptr %258) #6
  br label %3190

2748:                                             ; preds = %2721
  %2749 = landingpad { ptr, i32 }
          cleanup
  %2750 = extractvalue { ptr, i32 } %2749, 0
  store ptr %2750, ptr %4, align 8
  %2751 = extractvalue { ptr, i32 } %2749, 1
  store i32 %2751, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %266) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %266) #6
  br label %2812

2752:                                             ; preds = %2729, %2724
  %2753 = landingpad { ptr, i32 }
          cleanup
  %2754 = extractvalue { ptr, i32 } %2753, 0
  store ptr %2754, ptr %4, align 8
  %2755 = extractvalue { ptr, i32 } %2753, 1
  store i32 %2755, ptr %5, align 4
  br label %2811

2756:                                             ; preds = %2777, %2764, %2737, %2731
  %2757 = landingpad { ptr, i32 }
          cleanup
  %2758 = extractvalue { ptr, i32 } %2757, 0
  store ptr %2758, ptr %4, align 8
  %2759 = extractvalue { ptr, i32 } %2757, 1
  store i32 %2759, ptr %5, align 4
  br label %2810

2760:                                             ; preds = %2741, %2740, %2736
  %2761 = load x86_fp80, ptr %268, align 16, !tbaa !9
  %2762 = fcmp olt x86_fp80 %2761, 0xK3FD78CBCCC096F508800
  br i1 %2762, label %2763, label %2764

2763:                                             ; preds = %2760
  store i8 1, ptr %269, align 1, !tbaa !11
  br label %2773

2764:                                             ; preds = %2760
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %270, ptr noundef nonnull align 8 dereferenceable(32) %265)
          to label %2765 unwind label %2756

2765:                                             ; preds = %2764
  %2766 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2767 = load x86_fp80, ptr %267, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %270, i32 noundef %2766, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2767, x86_fp80 noundef 0xK3FFEFFFFFFFFF8E87000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4004C800000000000000)
          to label %2768 unwind label %2769

2768:                                             ; preds = %2765
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #6
  br label %2773

2769:                                             ; preds = %2765
  %2770 = landingpad { ptr, i32 }
          cleanup
  %2771 = extractvalue { ptr, i32 } %2770, 0
  store ptr %2771, ptr %4, align 8
  %2772 = extractvalue { ptr, i32 } %2770, 1
  store i32 %2772, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #6
  br label %2810

2773:                                             ; preds = %2768, %2763
  br label %2774

2774:                                             ; preds = %2773, %2744
  %2775 = load i8, ptr %269, align 1, !tbaa !11, !range !13, !noundef !14
  %2776 = trunc i8 %2775 to i1
  br i1 %2776, label %2777, label %2786

2777:                                             ; preds = %2774
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %271, ptr noundef nonnull align 8 dereferenceable(32) %265)
          to label %2778 unwind label %2756

2778:                                             ; preds = %2777
  %2779 = load x86_fp80, ptr %267, align 16, !tbaa !9
  %2780 = load x86_fp80, ptr %268, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %271, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2779, x86_fp80 noundef %2780, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4004C800000000000000)
          to label %2781 unwind label %2782

2781:                                             ; preds = %2778
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %271) #6
  br label %2786

2782:                                             ; preds = %2778
  %2783 = landingpad { ptr, i32 }
          cleanup
  %2784 = extractvalue { ptr, i32 } %2783, 0
  store ptr %2784, ptr %4, align 8
  %2785 = extractvalue { ptr, i32 } %2783, 1
  store i32 %2785, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %271) #6
  br label %2810

2786:                                             ; preds = %2781, %2774
  call void @llvm.lifetime.end.p0(i64 1, ptr %269) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %268) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %267) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %265) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %265) #6
  %2787 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2788 = add nsw i32 %2787, 1
  store i32 %2788, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %272) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %273) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %273) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %272, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %273)
          to label %2789 unwind label %2813

2789:                                             ; preds = %2786
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %273) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %273) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %274) #6
  %2790 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4007FA00000000000000) #6
  store x86_fp80 %2790, ptr %274, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %275) #6
  %2791 = load x86_fp80, ptr %274, align 16, !tbaa !9
  %2792 = fsub x86_fp80 %2791, 0xK3FFF8000000000000000
  %2793 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %2792)
          to label %2794 unwind label %2817

2794:                                             ; preds = %2789
  %2795 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %2796 unwind label %2817

2796:                                             ; preds = %2794
  %2797 = fadd x86_fp80 0xK3FFF8000000000000000, %2795
  %2798 = fdiv x86_fp80 %2793, %2797
  store x86_fp80 %2798, ptr %275, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %276) #6
  store i8 0, ptr %276, align 1, !tbaa !11
  %2799 = load x86_fp80, ptr %274, align 16, !tbaa !9
  %2800 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2799)
          to label %2801 unwind label %2821

2801:                                             ; preds = %2796
  br i1 %2800, label %2825, label %2802

2802:                                             ; preds = %2801
  %2803 = load x86_fp80, ptr %274, align 16, !tbaa !9
  %2804 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2803)
          to label %2805 unwind label %2821

2805:                                             ; preds = %2802
  br i1 %2804, label %2806, label %2825

2806:                                             ; preds = %2805
  %2807 = load x86_fp80, ptr %274, align 16, !tbaa !9
  %2808 = fcmp oeq x86_fp80 %2807, 0xK3FFF8000000000000000
  br i1 %2808, label %2809, label %2825

2809:                                             ; preds = %2806
  store i8 1, ptr %276, align 1, !tbaa !11
  br label %2839

2810:                                             ; preds = %2782, %2769, %2756
  call void @llvm.lifetime.end.p0(i64 1, ptr %269) #6
  br label %2811

2811:                                             ; preds = %2810, %2752
  call void @llvm.lifetime.end.p0(i64 16, ptr %268) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %267) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %265) #6
  br label %2812

2812:                                             ; preds = %2811, %2748
  call void @llvm.lifetime.end.p0(i64 32, ptr %265) #6
  br label %3190

2813:                                             ; preds = %2786
  %2814 = landingpad { ptr, i32 }
          cleanup
  %2815 = extractvalue { ptr, i32 } %2814, 0
  store ptr %2815, ptr %4, align 8
  %2816 = extractvalue { ptr, i32 } %2814, 1
  store i32 %2816, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %273) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %273) #6
  br label %2873

2817:                                             ; preds = %2794, %2789
  %2818 = landingpad { ptr, i32 }
          cleanup
  %2819 = extractvalue { ptr, i32 } %2818, 0
  store ptr %2819, ptr %4, align 8
  %2820 = extractvalue { ptr, i32 } %2818, 1
  store i32 %2820, ptr %5, align 4
  br label %2872

2821:                                             ; preds = %2842, %2829, %2802, %2796
  %2822 = landingpad { ptr, i32 }
          cleanup
  %2823 = extractvalue { ptr, i32 } %2822, 0
  store ptr %2823, ptr %4, align 8
  %2824 = extractvalue { ptr, i32 } %2822, 1
  store i32 %2824, ptr %5, align 4
  br label %2871

2825:                                             ; preds = %2806, %2805, %2801
  %2826 = load x86_fp80, ptr %275, align 16, !tbaa !9
  %2827 = fcmp olt x86_fp80 %2826, 0xK3FD78CBCCC096F508800
  br i1 %2827, label %2828, label %2829

2828:                                             ; preds = %2825
  store i8 1, ptr %276, align 1, !tbaa !11
  br label %2838

2829:                                             ; preds = %2825
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef nonnull align 8 dereferenceable(32) %272)
          to label %2830 unwind label %2821

2830:                                             ; preds = %2829
  %2831 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2832 = load x86_fp80, ptr %274, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %277, i32 noundef %2831, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2832, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4007FA00000000000000)
          to label %2833 unwind label %2834

2833:                                             ; preds = %2830
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #6
  br label %2838

2834:                                             ; preds = %2830
  %2835 = landingpad { ptr, i32 }
          cleanup
  %2836 = extractvalue { ptr, i32 } %2835, 0
  store ptr %2836, ptr %4, align 8
  %2837 = extractvalue { ptr, i32 } %2835, 1
  store i32 %2837, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #6
  br label %2871

2838:                                             ; preds = %2833, %2828
  br label %2839

2839:                                             ; preds = %2838, %2809
  %2840 = load i8, ptr %276, align 1, !tbaa !11, !range !13, !noundef !14
  %2841 = trunc i8 %2840 to i1
  br i1 %2841, label %2842, label %2851

2842:                                             ; preds = %2839
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %278, ptr noundef nonnull align 8 dereferenceable(32) %272)
          to label %2843 unwind label %2821

2843:                                             ; preds = %2842
  %2844 = load x86_fp80, ptr %274, align 16, !tbaa !9
  %2845 = load x86_fp80, ptr %275, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %278, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %2844, x86_fp80 noundef %2845, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4007FA00000000000000)
          to label %2846 unwind label %2847

2846:                                             ; preds = %2843
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %278) #6
  br label %2851

2847:                                             ; preds = %2843
  %2848 = landingpad { ptr, i32 }
          cleanup
  %2849 = extractvalue { ptr, i32 } %2848, 0
  store ptr %2849, ptr %4, align 8
  %2850 = extractvalue { ptr, i32 } %2848, 1
  store i32 %2850, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %278) #6
  br label %2871

2851:                                             ; preds = %2846, %2839
  call void @llvm.lifetime.end.p0(i64 1, ptr %276) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %275) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %274) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %272) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %272) #6
  %2852 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2853 = add nsw i32 %2852, 1
  store i32 %2853, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %279) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %280) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %280) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %279, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %280)
          to label %2854 unwind label %2874

2854:                                             ; preds = %2851
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %280) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %280) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %281) #6
  %2855 = call noundef double @_ZN4gcem16incomplete_gammaIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef -1.000000e-01, double noundef 0.000000e+00) #6
  store double %2855, ptr %281, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %282) #6
  %2856 = load double, ptr %281, align 8, !tbaa !15
  %2857 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2858 = fsub double %2856, %2857
  %2859 = invoke noundef double @_ZSt3absd(double noundef %2858)
          to label %2860 unwind label %2878

2860:                                             ; preds = %2854
  %2861 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2862 = invoke noundef double @_ZSt3absd(double noundef %2861)
          to label %2863 unwind label %2878

2863:                                             ; preds = %2860
  %2864 = fadd double 1.000000e+00, %2862
  %2865 = fdiv double %2859, %2864
  store double %2865, ptr %282, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %283) #6
  store i8 0, ptr %283, align 1, !tbaa !11
  %2866 = load double, ptr %281, align 8, !tbaa !15
  %2867 = fpext double %2866 to x86_fp80
  %2868 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2867)
          to label %2869 unwind label %2882

2869:                                             ; preds = %2863
  br i1 %2868, label %2870, label %2886

2870:                                             ; preds = %2869
  store i8 1, ptr %283, align 1, !tbaa !11
  br label %2917

2871:                                             ; preds = %2847, %2834, %2821
  call void @llvm.lifetime.end.p0(i64 1, ptr %276) #6
  br label %2872

2872:                                             ; preds = %2871, %2817
  call void @llvm.lifetime.end.p0(i64 16, ptr %275) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %274) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %272) #6
  br label %2873

2873:                                             ; preds = %2872, %2813
  call void @llvm.lifetime.end.p0(i64 32, ptr %272) #6
  br label %3190

2874:                                             ; preds = %2851
  %2875 = landingpad { ptr, i32 }
          cleanup
  %2876 = extractvalue { ptr, i32 } %2875, 0
  store ptr %2876, ptr %4, align 8
  %2877 = extractvalue { ptr, i32 } %2875, 1
  store i32 %2877, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %280) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %280) #6
  br label %2953

2878:                                             ; preds = %2860, %2854
  %2879 = landingpad { ptr, i32 }
          cleanup
  %2880 = extractvalue { ptr, i32 } %2879, 0
  store ptr %2880, ptr %4, align 8
  %2881 = extractvalue { ptr, i32 } %2879, 1
  store i32 %2881, ptr %5, align 4
  br label %2952

2882:                                             ; preds = %2920, %2905, %2891, %2886, %2863
  %2883 = landingpad { ptr, i32 }
          cleanup
  %2884 = extractvalue { ptr, i32 } %2883, 0
  store ptr %2884, ptr %4, align 8
  %2885 = extractvalue { ptr, i32 } %2883, 1
  store i32 %2885, ptr %5, align 4
  br label %2951

2886:                                             ; preds = %2869
  %2887 = load double, ptr %281, align 8, !tbaa !15
  %2888 = fpext double %2887 to x86_fp80
  %2889 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2888)
          to label %2890 unwind label %2882

2890:                                             ; preds = %2886
  br i1 %2889, label %2901, label %2891

2891:                                             ; preds = %2890
  %2892 = load double, ptr %281, align 8, !tbaa !15
  %2893 = fpext double %2892 to x86_fp80
  %2894 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2893)
          to label %2895 unwind label %2882

2895:                                             ; preds = %2891
  br i1 %2894, label %2896, label %2901

2896:                                             ; preds = %2895
  %2897 = load double, ptr %281, align 8, !tbaa !15
  %2898 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2899 = fcmp oeq double %2897, %2898
  br i1 %2899, label %2900, label %2901

2900:                                             ; preds = %2896
  store i8 1, ptr %283, align 1, !tbaa !11
  br label %2916

2901:                                             ; preds = %2896, %2895, %2890
  %2902 = load double, ptr %282, align 8, !tbaa !15
  %2903 = fcmp olt double %2902, 0x3D719799812DEA11
  br i1 %2903, label %2904, label %2905

2904:                                             ; preds = %2901
  store i8 1, ptr %283, align 1, !tbaa !11
  br label %2915

2905:                                             ; preds = %2901
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %284, ptr noundef nonnull align 8 dereferenceable(32) %279)
          to label %2906 unwind label %2882

2906:                                             ; preds = %2905
  %2907 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2908 = load double, ptr %281, align 8, !tbaa !15
  %2909 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %284, i32 noundef %2907, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %2908, double noundef %2909, double noundef -1.000000e-01, double noundef 0.000000e+00)
          to label %2910 unwind label %2911

2910:                                             ; preds = %2906
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %284) #6
  br label %2915

2911:                                             ; preds = %2906
  %2912 = landingpad { ptr, i32 }
          cleanup
  %2913 = extractvalue { ptr, i32 } %2912, 0
  store ptr %2913, ptr %4, align 8
  %2914 = extractvalue { ptr, i32 } %2912, 1
  store i32 %2914, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %284) #6
  br label %2951

2915:                                             ; preds = %2910, %2904
  br label %2916

2916:                                             ; preds = %2915, %2900
  br label %2917

2917:                                             ; preds = %2916, %2870
  %2918 = load i8, ptr %283, align 1, !tbaa !11, !range !13, !noundef !14
  %2919 = trunc i8 %2918 to i1
  br i1 %2919, label %2920, label %2929

2920:                                             ; preds = %2917
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %285, ptr noundef nonnull align 8 dereferenceable(32) %279)
          to label %2921 unwind label %2882

2921:                                             ; preds = %2920
  %2922 = load double, ptr %281, align 8, !tbaa !15
  %2923 = load double, ptr %282, align 8, !tbaa !15
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %285, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %2922, double noundef %2923, double noundef -1.000000e-01, double noundef 0.000000e+00)
          to label %2924 unwind label %2925

2924:                                             ; preds = %2921
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #6
  br label %2929

2925:                                             ; preds = %2921
  %2926 = landingpad { ptr, i32 }
          cleanup
  %2927 = extractvalue { ptr, i32 } %2926, 0
  store ptr %2927, ptr %4, align 8
  %2928 = extractvalue { ptr, i32 } %2926, 1
  store i32 %2928, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #6
  br label %2951

2929:                                             ; preds = %2924, %2917
  call void @llvm.lifetime.end.p0(i64 1, ptr %283) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %282) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %281) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %279) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %279) #6
  %2930 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2931 = add nsw i32 %2930, 1
  store i32 %2931, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %286) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %287) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %286, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %287)
          to label %2932 unwind label %2954

2932:                                             ; preds = %2929
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %287) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %288) #6
  %2933 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2934 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2935 = call noundef double @_ZN4gcem16incomplete_gammaIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %2933, double noundef %2934) #6
  store double %2935, ptr %288, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %289) #6
  %2936 = load double, ptr %288, align 8, !tbaa !15
  %2937 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2938 = fsub double %2936, %2937
  %2939 = invoke noundef double @_ZSt3absd(double noundef %2938)
          to label %2940 unwind label %2958

2940:                                             ; preds = %2932
  %2941 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2942 = invoke noundef double @_ZSt3absd(double noundef %2941)
          to label %2943 unwind label %2958

2943:                                             ; preds = %2940
  %2944 = fadd double 1.000000e+00, %2942
  %2945 = fdiv double %2939, %2944
  store double %2945, ptr %289, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %290) #6
  store i8 0, ptr %290, align 1, !tbaa !11
  %2946 = load double, ptr %288, align 8, !tbaa !15
  %2947 = fpext double %2946 to x86_fp80
  %2948 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2947)
          to label %2949 unwind label %2962

2949:                                             ; preds = %2943
  br i1 %2948, label %2950, label %2966

2950:                                             ; preds = %2949
  store i8 1, ptr %290, align 1, !tbaa !11
  br label %2999

2951:                                             ; preds = %2925, %2911, %2882
  call void @llvm.lifetime.end.p0(i64 1, ptr %283) #6
  br label %2952

2952:                                             ; preds = %2951, %2878
  call void @llvm.lifetime.end.p0(i64 8, ptr %282) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %281) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %279) #6
  br label %2953

2953:                                             ; preds = %2952, %2874
  call void @llvm.lifetime.end.p0(i64 32, ptr %279) #6
  br label %3190

2954:                                             ; preds = %2929
  %2955 = landingpad { ptr, i32 }
          cleanup
  %2956 = extractvalue { ptr, i32 } %2955, 0
  store ptr %2956, ptr %4, align 8
  %2957 = extractvalue { ptr, i32 } %2955, 1
  store i32 %2957, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %287) #6
  br label %3037

2958:                                             ; preds = %2940, %2932
  %2959 = landingpad { ptr, i32 }
          cleanup
  %2960 = extractvalue { ptr, i32 } %2959, 0
  store ptr %2960, ptr %4, align 8
  %2961 = extractvalue { ptr, i32 } %2959, 1
  store i32 %2961, ptr %5, align 4
  br label %3036

2962:                                             ; preds = %3002, %2985, %2971, %2966, %2943
  %2963 = landingpad { ptr, i32 }
          cleanup
  %2964 = extractvalue { ptr, i32 } %2963, 0
  store ptr %2964, ptr %4, align 8
  %2965 = extractvalue { ptr, i32 } %2963, 1
  store i32 %2965, ptr %5, align 4
  br label %3035

2966:                                             ; preds = %2949
  %2967 = load double, ptr %288, align 8, !tbaa !15
  %2968 = fpext double %2967 to x86_fp80
  %2969 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %2968)
          to label %2970 unwind label %2962

2970:                                             ; preds = %2966
  br i1 %2969, label %2981, label %2971

2971:                                             ; preds = %2970
  %2972 = load double, ptr %288, align 8, !tbaa !15
  %2973 = fpext double %2972 to x86_fp80
  %2974 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %2973)
          to label %2975 unwind label %2962

2975:                                             ; preds = %2971
  br i1 %2974, label %2976, label %2981

2976:                                             ; preds = %2975
  %2977 = load double, ptr %288, align 8, !tbaa !15
  %2978 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2979 = fcmp oeq double %2977, %2978
  br i1 %2979, label %2980, label %2981

2980:                                             ; preds = %2976
  store i8 1, ptr %290, align 1, !tbaa !11
  br label %2998

2981:                                             ; preds = %2976, %2975, %2970
  %2982 = load double, ptr %289, align 8, !tbaa !15
  %2983 = fcmp olt double %2982, 0x3D719799812DEA11
  br i1 %2983, label %2984, label %2985

2984:                                             ; preds = %2981
  store i8 1, ptr %290, align 1, !tbaa !11
  br label %2997

2985:                                             ; preds = %2981
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %291, ptr noundef nonnull align 8 dereferenceable(32) %286)
          to label %2986 unwind label %2962

2986:                                             ; preds = %2985
  %2987 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %2988 = load double, ptr %288, align 8, !tbaa !15
  %2989 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2990 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %2991 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %291, i32 noundef %2987, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %2988, double noundef %2989, double noundef %2990, double noundef %2991)
          to label %2992 unwind label %2993

2992:                                             ; preds = %2986
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %291) #6
  br label %2997

2993:                                             ; preds = %2986
  %2994 = landingpad { ptr, i32 }
          cleanup
  %2995 = extractvalue { ptr, i32 } %2994, 0
  store ptr %2995, ptr %4, align 8
  %2996 = extractvalue { ptr, i32 } %2994, 1
  store i32 %2996, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %291) #6
  br label %3035

2997:                                             ; preds = %2992, %2984
  br label %2998

2998:                                             ; preds = %2997, %2980
  br label %2999

2999:                                             ; preds = %2998, %2950
  %3000 = load i8, ptr %290, align 1, !tbaa !11, !range !13, !noundef !14
  %3001 = trunc i8 %3000 to i1
  br i1 %3001, label %3002, label %3013

3002:                                             ; preds = %2999
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %292, ptr noundef nonnull align 8 dereferenceable(32) %286)
          to label %3003 unwind label %2962

3003:                                             ; preds = %3002
  %3004 = load double, ptr %288, align 8, !tbaa !15
  %3005 = load double, ptr %289, align 8, !tbaa !15
  %3006 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3007 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %292, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %3004, double noundef %3005, double noundef %3006, double noundef %3007)
          to label %3008 unwind label %3009

3008:                                             ; preds = %3003
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %292) #6
  br label %3013

3009:                                             ; preds = %3003
  %3010 = landingpad { ptr, i32 }
          cleanup
  %3011 = extractvalue { ptr, i32 } %3010, 0
  store ptr %3011, ptr %4, align 8
  %3012 = extractvalue { ptr, i32 } %3010, 1
  store i32 %3012, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %292) #6
  br label %3035

3013:                                             ; preds = %3008, %2999
  call void @llvm.lifetime.end.p0(i64 1, ptr %290) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %289) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %288) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %286) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %286) #6
  %3014 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %3015 = add nsw i32 %3014, 1
  store i32 %3015, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %293) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %294) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %294) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %293, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %294)
          to label %3016 unwind label %3038

3016:                                             ; preds = %3013
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %294) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %294) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %295) #6
  %3017 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3018 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %3017, x86_fp80 noundef 0xK4000C000000000000000) #6
  store x86_fp80 %3018, ptr %295, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %296) #6
  %3019 = load x86_fp80, ptr %295, align 16, !tbaa !9
  %3020 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3021 = fpext double %3020 to x86_fp80
  %3022 = fsub x86_fp80 %3019, %3021
  %3023 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %3022)
          to label %3024 unwind label %3042

3024:                                             ; preds = %3016
  %3025 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3026 = invoke noundef double @_ZSt3absd(double noundef %3025)
          to label %3027 unwind label %3042

3027:                                             ; preds = %3024
  %3028 = fadd double 1.000000e+00, %3026
  %3029 = fpext double %3028 to x86_fp80
  %3030 = fdiv x86_fp80 %3023, %3029
  store x86_fp80 %3030, ptr %296, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %297) #6
  store i8 0, ptr %297, align 1, !tbaa !11
  %3031 = load x86_fp80, ptr %295, align 16, !tbaa !9
  %3032 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %3031)
          to label %3033 unwind label %3046

3033:                                             ; preds = %3027
  br i1 %3032, label %3034, label %3050

3034:                                             ; preds = %3033
  store i8 1, ptr %297, align 1, !tbaa !11
  br label %3081

3035:                                             ; preds = %3009, %2993, %2962
  call void @llvm.lifetime.end.p0(i64 1, ptr %290) #6
  br label %3036

3036:                                             ; preds = %3035, %2958
  call void @llvm.lifetime.end.p0(i64 8, ptr %289) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %288) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %286) #6
  br label %3037

3037:                                             ; preds = %3036, %2954
  call void @llvm.lifetime.end.p0(i64 32, ptr %286) #6
  br label %3190

3038:                                             ; preds = %3013
  %3039 = landingpad { ptr, i32 }
          cleanup
  %3040 = extractvalue { ptr, i32 } %3039, 0
  store ptr %3040, ptr %4, align 8
  %3041 = extractvalue { ptr, i32 } %3039, 1
  store i32 %3041, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %294) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %294) #6
  br label %3118

3042:                                             ; preds = %3024, %3016
  %3043 = landingpad { ptr, i32 }
          cleanup
  %3044 = extractvalue { ptr, i32 } %3043, 0
  store ptr %3044, ptr %4, align 8
  %3045 = extractvalue { ptr, i32 } %3043, 1
  store i32 %3045, ptr %5, align 4
  br label %3117

3046:                                             ; preds = %3084, %3068, %3054, %3050, %3027
  %3047 = landingpad { ptr, i32 }
          cleanup
  %3048 = extractvalue { ptr, i32 } %3047, 0
  store ptr %3048, ptr %4, align 8
  %3049 = extractvalue { ptr, i32 } %3047, 1
  store i32 %3049, ptr %5, align 4
  br label %3116

3050:                                             ; preds = %3033
  %3051 = load x86_fp80, ptr %295, align 16, !tbaa !9
  %3052 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %3051)
          to label %3053 unwind label %3046

3053:                                             ; preds = %3050
  br i1 %3052, label %3064, label %3054

3054:                                             ; preds = %3053
  %3055 = load x86_fp80, ptr %295, align 16, !tbaa !9
  %3056 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %3055)
          to label %3057 unwind label %3046

3057:                                             ; preds = %3054
  br i1 %3056, label %3058, label %3064

3058:                                             ; preds = %3057
  %3059 = load x86_fp80, ptr %295, align 16, !tbaa !9
  %3060 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3061 = fpext double %3060 to x86_fp80
  %3062 = fcmp oeq x86_fp80 %3059, %3061
  br i1 %3062, label %3063, label %3064

3063:                                             ; preds = %3058
  store i8 1, ptr %297, align 1, !tbaa !11
  br label %3080

3064:                                             ; preds = %3058, %3057, %3053
  %3065 = load x86_fp80, ptr %296, align 16, !tbaa !9
  %3066 = fcmp olt x86_fp80 %3065, 0xK3FD78CBCCC096F508800
  br i1 %3066, label %3067, label %3068

3067:                                             ; preds = %3064
  store i8 1, ptr %297, align 1, !tbaa !11
  br label %3079

3068:                                             ; preds = %3064
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %298, ptr noundef nonnull align 8 dereferenceable(32) %293)
          to label %3069 unwind label %3046

3069:                                             ; preds = %3068
  %3070 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %3071 = load x86_fp80, ptr %295, align 16, !tbaa !9
  %3072 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3073 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIeddeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %298, i32 noundef %3070, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %3071, double noundef %3072, double noundef %3073, x86_fp80 noundef 0xK4000C000000000000000)
          to label %3074 unwind label %3075

3074:                                             ; preds = %3069
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %298) #6
  br label %3079

3075:                                             ; preds = %3069
  %3076 = landingpad { ptr, i32 }
          cleanup
  %3077 = extractvalue { ptr, i32 } %3076, 0
  store ptr %3077, ptr %4, align 8
  %3078 = extractvalue { ptr, i32 } %3076, 1
  store i32 %3078, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %298) #6
  br label %3116

3079:                                             ; preds = %3074, %3067
  br label %3080

3080:                                             ; preds = %3079, %3063
  br label %3081

3081:                                             ; preds = %3080, %3034
  %3082 = load i8, ptr %297, align 1, !tbaa !11, !range !13, !noundef !14
  %3083 = trunc i8 %3082 to i1
  br i1 %3083, label %3084, label %3094

3084:                                             ; preds = %3081
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %299, ptr noundef nonnull align 8 dereferenceable(32) %293)
          to label %3085 unwind label %3046

3085:                                             ; preds = %3084
  %3086 = load x86_fp80, ptr %295, align 16, !tbaa !9
  %3087 = load x86_fp80, ptr %296, align 16, !tbaa !9
  %3088 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %299, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %3086, x86_fp80 noundef %3087, double noundef %3088, x86_fp80 noundef 0xK4000C000000000000000)
          to label %3089 unwind label %3090

3089:                                             ; preds = %3085
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #6
  br label %3094

3090:                                             ; preds = %3085
  %3091 = landingpad { ptr, i32 }
          cleanup
  %3092 = extractvalue { ptr, i32 } %3091, 0
  store ptr %3092, ptr %4, align 8
  %3093 = extractvalue { ptr, i32 } %3091, 1
  store i32 %3093, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #6
  br label %3116

3094:                                             ; preds = %3089, %3081
  call void @llvm.lifetime.end.p0(i64 1, ptr %297) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %296) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %295) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %293) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %293) #6
  %3095 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %3096 = add nsw i32 %3095, 1
  store i32 %3096, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %300) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %301) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %301) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %300, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %301)
          to label %3097 unwind label %3119

3097:                                             ; preds = %3094
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %301) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %301) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %302) #6
  %3098 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3099 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, double noundef %3098) #6
  store x86_fp80 %3099, ptr %302, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %303) #6
  %3100 = load x86_fp80, ptr %302, align 16, !tbaa !9
  %3101 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3102 = fpext double %3101 to x86_fp80
  %3103 = fsub x86_fp80 %3100, %3102
  %3104 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %3103)
          to label %3105 unwind label %3123

3105:                                             ; preds = %3097
  %3106 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3107 = invoke noundef double @_ZSt3absd(double noundef %3106)
          to label %3108 unwind label %3123

3108:                                             ; preds = %3105
  %3109 = fadd double 1.000000e+00, %3107
  %3110 = fpext double %3109 to x86_fp80
  %3111 = fdiv x86_fp80 %3104, %3110
  store x86_fp80 %3111, ptr %303, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %304) #6
  store i8 0, ptr %304, align 1, !tbaa !11
  %3112 = load x86_fp80, ptr %302, align 16, !tbaa !9
  %3113 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %3112)
          to label %3114 unwind label %3127

3114:                                             ; preds = %3108
  br i1 %3113, label %3115, label %3131

3115:                                             ; preds = %3114
  store i8 1, ptr %304, align 1, !tbaa !11
  br label %3162

3116:                                             ; preds = %3090, %3075, %3046
  call void @llvm.lifetime.end.p0(i64 1, ptr %297) #6
  br label %3117

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

3118:                                             ; preds = %3117, %3038
  call void @llvm.lifetime.end.p0(i64 32, ptr %293) #6
  br label %3190

3119:                                             ; preds = %3094
  %3120 = landingpad { ptr, i32 }
          cleanup
  %3121 = extractvalue { ptr, i32 } %3120, 0
  store ptr %3121, ptr %4, align 8
  %3122 = extractvalue { ptr, i32 } %3120, 1
  store i32 %3122, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %301) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %301) #6
  br label %3180

3123:                                             ; preds = %3105, %3097
  %3124 = landingpad { ptr, i32 }
          cleanup
  %3125 = extractvalue { ptr, i32 } %3124, 0
  store ptr %3125, ptr %4, align 8
  %3126 = extractvalue { ptr, i32 } %3124, 1
  store i32 %3126, ptr %5, align 4
  br label %3179

3127:                                             ; preds = %3165, %3149, %3135, %3131, %3108
  %3128 = landingpad { ptr, i32 }
          cleanup
  %3129 = extractvalue { ptr, i32 } %3128, 0
  store ptr %3129, ptr %4, align 8
  %3130 = extractvalue { ptr, i32 } %3128, 1
  store i32 %3130, ptr %5, align 4
  br label %3178

3131:                                             ; preds = %3114
  %3132 = load x86_fp80, ptr %302, align 16, !tbaa !9
  %3133 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %3132)
          to label %3134 unwind label %3127

3134:                                             ; preds = %3131
  br i1 %3133, label %3145, label %3135

3135:                                             ; preds = %3134
  %3136 = load x86_fp80, ptr %302, align 16, !tbaa !9
  %3137 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %3136)
          to label %3138 unwind label %3127

3138:                                             ; preds = %3135
  br i1 %3137, label %3139, label %3145

3139:                                             ; preds = %3138
  %3140 = load x86_fp80, ptr %302, align 16, !tbaa !9
  %3141 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3142 = fpext double %3141 to x86_fp80
  %3143 = fcmp oeq x86_fp80 %3140, %3142
  br i1 %3143, label %3144, label %3145

3144:                                             ; preds = %3139
  store i8 1, ptr %304, align 1, !tbaa !11
  br label %3161

3145:                                             ; preds = %3139, %3138, %3134
  %3146 = load x86_fp80, ptr %303, align 16, !tbaa !9
  %3147 = fcmp olt x86_fp80 %3146, 0xK3FD78CBCCC096F508800
  br i1 %3147, label %3148, label %3149

3148:                                             ; preds = %3145
  store i8 1, ptr %304, align 1, !tbaa !11
  br label %3160

3149:                                             ; preds = %3145
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %305, ptr noundef nonnull align 8 dereferenceable(32) %300)
          to label %3150 unwind label %3127

3150:                                             ; preds = %3149
  %3151 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %3152 = load x86_fp80, ptr %302, align 16, !tbaa !9
  %3153 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %3154 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIededEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef %305, i32 noundef %3151, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %3152, double noundef %3153, x86_fp80 noundef 0xK40008000000000000000, double noundef %3154)
          to label %3155 unwind label %3156

3155:                                             ; preds = %3150
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %305) #6
  br label %3160

3156:                                             ; preds = %3150
  %3157 = landingpad { ptr, i32 }
          cleanup
  %3158 = extractvalue { ptr, i32 } %3157, 0
  store ptr %3158, ptr %4, align 8
  %3159 = extractvalue { ptr, i32 } %3157, 1
  store i32 %3159, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %305) #6
  br label %3178

3160:                                             ; preds = %3155, %3148
  br label %3161

3161:                                             ; preds = %3160, %3144
  br label %3162

3162:                                             ; preds = %3161, %3115
  %3163 = load i8, ptr %304, align 1, !tbaa !11, !range !13, !noundef !14
  %3164 = trunc i8 %3163 to i1
  br i1 %3164, label %3165, label %3175

3165:                                             ; preds = %3162
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %306, ptr noundef nonnull align 8 dereferenceable(32) %300)
          to label %3166 unwind label %3127

3166:                                             ; preds = %3165
  %3167 = load x86_fp80, ptr %302, align 16, !tbaa !9
  %3168 = load x86_fp80, ptr %303, align 16, !tbaa !9
  %3169 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef %306, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %3167, x86_fp80 noundef %3168, x86_fp80 noundef 0xK40008000000000000000, double noundef %3169)
          to label %3170 unwind label %3171

3170:                                             ; preds = %3166
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %306) #6
  br label %3175

3171:                                             ; preds = %3166
  %3172 = landingpad { ptr, i32 }
          cleanup
  %3173 = extractvalue { ptr, i32 } %3172, 0
  store ptr %3173, ptr %4, align 8
  %3174 = extractvalue { ptr, i32 } %3172, 1
  store i32 %3174, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %306) #6
  br label %3178

3175:                                             ; preds = %3170, %3162
  call void @llvm.lifetime.end.p0(i64 1, ptr %304) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %303) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %302) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %300) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %300) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %308) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %308) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %307, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %308)
          to label %3176 unwind label %3181

3176:                                             ; preds = %3175
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %307)
          to label %3177 unwind label %3185

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

3178:                                             ; preds = %3171, %3156, %3127
  call void @llvm.lifetime.end.p0(i64 1, ptr %304) #6
  br label %3179

3179:                                             ; preds = %3178, %3123
  call void @llvm.lifetime.end.p0(i64 16, ptr %303) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %302) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %300) #6
  br label %3180

3180:                                             ; preds = %3179, %3119
  call void @llvm.lifetime.end.p0(i64 32, ptr %300) #6
  br label %3190

3181:                                             ; preds = %3175
  %3182 = landingpad { ptr, i32 }
          cleanup
  %3183 = extractvalue { ptr, i32 } %3182, 0
  store ptr %3183, ptr %4, align 8
  %3184 = extractvalue { ptr, i32 } %3182, 1
  store i32 %3184, ptr %5, align 4
  br label %3189

3185:                                             ; preds = %3176
  %3186 = landingpad { ptr, i32 }
          cleanup
  %3187 = extractvalue { ptr, i32 } %3186, 0
  store ptr %3187, ptr %4, align 8
  %3188 = extractvalue { ptr, i32 } %3186, 1
  store i32 %3188, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %307) #6
  br label %3189

3189:                                             ; preds = %3185, %3181
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %308) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %308) #6
  br label %3190

3190:                                             ; preds = %3189, %3180, %3118, %3037, %2953, %2873, %2812, %2747, %2682, %2617, %2552, %2487, %2422, %2357, %2292, %2227, %2162, %2097, %2032, %1967, %1902, %1837, %1772, %1707, %1642, %1577, %1512, %1447, %1382, %1317, %1252, %1187, %1122, %1057, %992, %927, %862, %797, %732, %667, %602, %537, %472, %407, %342
  %3191 = load ptr, ptr %4, align 8
  %3192 = load i32, ptr %5, align 4
  %3193 = insertvalue { ptr, i32 } poison, ptr %3191, 0
  %3194 = insertvalue { ptr, i32 } %3193, i32 %3192, 1
  resume { ptr, i32 } %3194
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef) #3

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

177:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %1)
          to label %178 unwind label %195

178:                                              ; preds = %177
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #6
  %179 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %180 = add nsw i32 %179, 1
  store i32 %180, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %181 unwind label %198

181:                                              ; preds = %178
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #6
  %182 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #6
  %183 = fadd x86_fp80 %182, 0xKBFFD874A9C9D310C7800
  %184 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %183)
  %185 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFD874A9C9D310C7800)
  %186 = fadd x86_fp80 %185, 0xK3FFF8000000000000000
  %187 = fdiv x86_fp80 %184, %186
  %188 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %182)
  br i1 %188, label %202, label %189

189:                                              ; preds = %181
  %190 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %182)
  %191 = fcmp oeq x86_fp80 %182, 0xK3FFD874A9C9D310C7800
  %or.cond = and i1 %191, %190
  %192 = fcmp olt x86_fp80 %187, 0xK3FD78CBCCC096F508800
  %or.cond897 = or i1 %192, %or.cond
  br i1 %or.cond897, label %208, label %203

193:                                              ; preds = %0
  %194 = landingpad { ptr, i32 }
          cleanup
  br label %197

195:                                              ; preds = %177
  %196 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  br label %197

197:                                              ; preds = %195, %193
  %.pn = phi { ptr, i32 } [ %196, %195 ], [ %194, %193 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #6
  br label %1527

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

200:                                              ; preds = %208, %203
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %226

202:                                              ; preds = %181
  %.old = fcmp olt x86_fp80 %187, 0xK3FD78CBCCC096F508800
  br i1 %.old, label %208, label %203

203:                                              ; preds = %189, %202
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %204 unwind label %200

204:                                              ; preds = %203
  %205 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %5, i32 noundef %205, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %182, x86_fp80 noundef 0xK3FFD874A9C9D310C7800, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge unwind label %206

206:                                              ; preds = %204
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  br label %226

208:                                              ; preds = %189, %202
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %209 unwind label %200

209:                                              ; preds = %208
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %6, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %182, x86_fp80 noundef %187, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge unwind label %210

210:                                              ; preds = %209
  %211 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  br label %226

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

214:                                              ; preds = %.critedge
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #6
  %215 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000) #6
  %216 = fadd x86_fp80 %215, 0xKBFFDDAED822892A82800
  %217 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %216)
  %218 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDDAED822892A82800)
  %219 = fadd x86_fp80 %218, 0xK3FFF8000000000000000
  %220 = fdiv x86_fp80 %217, %219
  %221 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %215)
  br i1 %221, label %232, label %222

222:                                              ; preds = %214
  %223 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %215)
  %224 = fcmp oeq x86_fp80 %215, 0xK3FFDDAED822892A82800
  %or.cond3 = and i1 %224, %223
  %225 = fcmp olt x86_fp80 %220, 0xK3FD78CBCCC096F508800
  %or.cond899 = or i1 %225, %or.cond3
  br i1 %or.cond899, label %238, label %233

226:                                              ; preds = %210, %206, %200
  %.pn681 = phi { ptr, i32 } [ %211, %210 ], [ %201, %200 ], [ %207, %206 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #6
  br label %227

227:                                              ; preds = %226, %198
  %.pn681.pn = phi { ptr, i32 } [ %.pn681, %226 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #6
  br label %1527

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

230:                                              ; preds = %238, %233
  %231 = landingpad { ptr, i32 }
          cleanup
  br label %256

232:                                              ; preds = %214
  %.old898 = fcmp olt x86_fp80 %220, 0xK3FD78CBCCC096F508800
  br i1 %.old898, label %238, label %233

233:                                              ; preds = %222, %232
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %234 unwind label %230

234:                                              ; preds = %233
  %235 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %9, i32 noundef %235, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %215, x86_fp80 noundef 0xK3FFDDAED822892A82800, x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge814 unwind label %236

236:                                              ; preds = %234
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %256

238:                                              ; preds = %222, %232
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %239 unwind label %230

239:                                              ; preds = %238
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %10, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %215, x86_fp80 noundef %220, x86_fp80 noundef 0xK3FFFC000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge814 unwind label %240

240:                                              ; preds = %239
  %241 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %256

.critedge814:                                     ; preds = %239, %234
  %.sink982 = phi ptr [ %9, %234 ], [ %10, %239 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink982) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  %242 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %243 = add nsw i32 %242, 1
  store i32 %243, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %244 unwind label %258

244:                                              ; preds = %.critedge814
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #6
  %245 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4000C000000000000000) #6
  %246 = fadd x86_fp80 %245, 0xKBFFECD049E66629EA000
  %247 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %246)
  %248 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFECD049E66629EA000)
  %249 = fadd x86_fp80 %248, 0xK3FFF8000000000000000
  %250 = fdiv x86_fp80 %247, %249
  %251 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %245)
  br i1 %251, label %262, label %252

252:                                              ; preds = %244
  %253 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %245)
  %254 = fcmp oeq x86_fp80 %245, 0xK3FFECD049E66629EA000
  %or.cond5 = and i1 %254, %253
  %255 = fcmp olt x86_fp80 %250, 0xK3FD78CBCCC096F508800
  %or.cond901 = or i1 %255, %or.cond5
  br i1 %or.cond901, label %268, label %263

256:                                              ; preds = %240, %236, %230
  %.pn684 = phi { ptr, i32 } [ %241, %240 ], [ %231, %230 ], [ %237, %236 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %257

257:                                              ; preds = %256, %228
  %.pn684.pn = phi { ptr, i32 } [ %.pn684, %256 ], [ %229, %228 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  br label %1527

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

260:                                              ; preds = %268, %263
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %286

262:                                              ; preds = %244
  %.old900 = fcmp olt x86_fp80 %250, 0xK3FD78CBCCC096F508800
  br i1 %.old900, label %268, label %263

263:                                              ; preds = %252, %262
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %264 unwind label %260

264:                                              ; preds = %263
  %265 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %13, i32 noundef %265, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %245, x86_fp80 noundef 0xK3FFECD049E66629EA000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge816 unwind label %266

266:                                              ; preds = %264
  %267 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %286

268:                                              ; preds = %252, %262
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %269 unwind label %260

269:                                              ; preds = %268
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %14, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %245, x86_fp80 noundef %250, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge816 unwind label %270

270:                                              ; preds = %269
  %271 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %286

.critedge816:                                     ; preds = %269, %264
  %.sink983 = phi ptr [ %13, %264 ], [ %14, %269 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink983) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  %272 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %273 = add nsw i32 %272, 1
  store i32 %273, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %274 unwind label %288

274:                                              ; preds = %.critedge816
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  %275 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4001A000000000000000) #6
  %276 = fadd x86_fp80 %275, 0xKBFFEF5A6880BFB00B000
  %277 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %276)
  %278 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEF5A6880BFB00B000)
  %279 = fadd x86_fp80 %278, 0xK3FFF8000000000000000
  %280 = fdiv x86_fp80 %277, %279
  %281 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %275)
  br i1 %281, label %292, label %282

282:                                              ; preds = %274
  %283 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %275)
  %284 = fcmp oeq x86_fp80 %275, 0xK3FFEF5A6880BFB00B000
  %or.cond7 = and i1 %284, %283
  %285 = fcmp olt x86_fp80 %280, 0xK3FD78CBCCC096F508800
  %or.cond903 = or i1 %285, %or.cond7
  br i1 %or.cond903, label %298, label %293

286:                                              ; preds = %270, %266, %260
  %.pn687 = phi { ptr, i32 } [ %271, %270 ], [ %261, %260 ], [ %267, %266 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %287

287:                                              ; preds = %286, %258
  %.pn687.pn = phi { ptr, i32 } [ %.pn687, %286 ], [ %259, %258 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %1527

288:                                              ; preds = %.critedge816
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  br label %317

290:                                              ; preds = %298, %293
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %316

292:                                              ; preds = %274
  %.old902 = fcmp olt x86_fp80 %280, 0xK3FD78CBCCC096F508800
  br i1 %.old902, label %298, label %293

293:                                              ; preds = %282, %292
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %294 unwind label %290

294:                                              ; preds = %293
  %295 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %17, i32 noundef %295, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %275, x86_fp80 noundef 0xK3FFEF5A6880BFB00B000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4001A000000000000000)
          to label %.critedge818 unwind label %296

296:                                              ; preds = %294
  %297 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %316

298:                                              ; preds = %282, %292
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %299 unwind label %290

299:                                              ; preds = %298
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %18, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %275, x86_fp80 noundef %280, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK4001A000000000000000)
          to label %.critedge818 unwind label %300

300:                                              ; preds = %299
  %301 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %316

.critedge818:                                     ; preds = %299, %294
  %.sink984 = phi ptr [ %17, %294 ], [ %18, %299 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink984) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  %302 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %303 = add nsw i32 %302, 1
  store i32 %303, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %304 unwind label %318

304:                                              ; preds = %.critedge818
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #6
  %305 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK40029000000000000000) #6
  %306 = fadd x86_fp80 %305, 0xKBFFEFFAF1F4546405800
  %307 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %306)
  %308 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFAF1F4546405800)
  %309 = fadd x86_fp80 %308, 0xK3FFF8000000000000000
  %310 = fdiv x86_fp80 %307, %309
  %311 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %305)
  br i1 %311, label %322, label %312

312:                                              ; preds = %304
  %313 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %305)
  %314 = fcmp oeq x86_fp80 %305, 0xK3FFEFFAF1F4546405800
  %or.cond9 = and i1 %314, %313
  %315 = fcmp olt x86_fp80 %310, 0xK3FD78CBCCC096F508800
  %or.cond905 = or i1 %315, %or.cond9
  br i1 %or.cond905, label %328, label %323

316:                                              ; preds = %300, %296, %290
  %.pn690 = phi { ptr, i32 } [ %301, %300 ], [ %291, %290 ], [ %297, %296 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %317

317:                                              ; preds = %316, %288
  %.pn690.pn = phi { ptr, i32 } [ %.pn690, %316 ], [ %289, %288 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %1527

318:                                              ; preds = %.critedge818
  %319 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #6
  br label %347

320:                                              ; preds = %328, %323
  %321 = landingpad { ptr, i32 }
          cleanup
  br label %346

322:                                              ; preds = %304
  %.old904 = fcmp olt x86_fp80 %310, 0xK3FD78CBCCC096F508800
  br i1 %.old904, label %328, label %323

323:                                              ; preds = %312, %322
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %324 unwind label %320

324:                                              ; preds = %323
  %325 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %21, i32 noundef %325, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %305, x86_fp80 noundef 0xK3FFEFFAF1F4546405800, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK40029000000000000000)
          to label %.critedge820 unwind label %326

326:                                              ; preds = %324
  %327 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %346

328:                                              ; preds = %312, %322
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %329 unwind label %320

329:                                              ; preds = %328
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %22, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %305, x86_fp80 noundef %310, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK40029000000000000000)
          to label %.critedge820 unwind label %330

330:                                              ; preds = %329
  %331 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %346

.critedge820:                                     ; preds = %329, %324
  %.sink985 = phi ptr [ %21, %324 ], [ %22, %329 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink985) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  %332 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %333 = add nsw i32 %332, 1
  store i32 %333, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %334 unwind label %348

334:                                              ; preds = %.critedge820
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #6
  %335 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40029000000000000000) #6
  %336 = fadd x86_fp80 %335, 0xKBFFF8000000000000000
  %337 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %336)
  %338 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
  %339 = fadd x86_fp80 %338, 0xK3FFF8000000000000000
  %340 = fdiv x86_fp80 %337, %339
  %341 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %335)
  br i1 %341, label %352, label %342

342:                                              ; preds = %334
  %343 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %335)
  %344 = fcmp oeq x86_fp80 %335, 0xK3FFF8000000000000000
  %or.cond11 = and i1 %344, %343
  %345 = fcmp olt x86_fp80 %340, 0xK3FD78CBCCC096F508800
  %or.cond907 = or i1 %345, %or.cond11
  br i1 %or.cond907, label %358, label %353

346:                                              ; preds = %330, %326, %320
  %.pn693 = phi { ptr, i32 } [ %331, %330 ], [ %321, %320 ], [ %327, %326 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %347

347:                                              ; preds = %346, %318
  %.pn693.pn = phi { ptr, i32 } [ %.pn693, %346 ], [ %319, %318 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  br label %1527

348:                                              ; preds = %.critedge820
  %349 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #6
  br label %376

350:                                              ; preds = %358, %353
  %351 = landingpad { ptr, i32 }
          cleanup
  br label %375

352:                                              ; preds = %334
  %.old906 = fcmp olt x86_fp80 %340, 0xK3FD78CBCCC096F508800
  br i1 %.old906, label %358, label %353

353:                                              ; preds = %342, %352
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %354 unwind label %350

354:                                              ; preds = %353
  %355 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %25, i32 noundef %355, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %335, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40029000000000000000)
          to label %.critedge822 unwind label %356

356:                                              ; preds = %354
  %357 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %375

358:                                              ; preds = %342, %352
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %359 unwind label %350

359:                                              ; preds = %358
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %26, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %335, x86_fp80 noundef %340, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40029000000000000000)
          to label %.critedge822 unwind label %360

360:                                              ; preds = %359
  %361 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %375

.critedge822:                                     ; preds = %359, %354
  %.sink986 = phi ptr [ %25, %354 ], [ %26, %359 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink986) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  %362 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %363 = add nsw i32 %362, 1
  store i32 %363, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %364 unwind label %377

364:                                              ; preds = %.critedge822
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  %365 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000) #6
  %366 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %365)
  %367 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK00000000000000000000)
  %368 = fadd x86_fp80 %367, 0xK3FFF8000000000000000
  %369 = fdiv x86_fp80 %366, %368
  %370 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %365)
  br i1 %370, label %381, label %371

371:                                              ; preds = %364
  %372 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %365)
  %373 = fcmp oeq x86_fp80 %365, 0xK00000000000000000000
  %or.cond13 = and i1 %373, %372
  %374 = fcmp olt x86_fp80 %369, 0xK3FD78CBCCC096F508800
  %or.cond909 = or i1 %374, %or.cond13
  br i1 %or.cond909, label %387, label %382

375:                                              ; preds = %360, %356, %350
  %.pn696 = phi { ptr, i32 } [ %361, %360 ], [ %351, %350 ], [ %357, %356 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %376

376:                                              ; preds = %375, %348
  %.pn696.pn = phi { ptr, i32 } [ %.pn696, %375 ], [ %349, %348 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  br label %1527

377:                                              ; preds = %.critedge822
  %378 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  br label %405

379:                                              ; preds = %387, %382
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %404

381:                                              ; preds = %364
  %.old908 = fcmp olt x86_fp80 %369, 0xK3FD78CBCCC096F508800
  br i1 %.old908, label %387, label %382

382:                                              ; preds = %371, %381
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %383 unwind label %379

383:                                              ; preds = %382
  %384 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %29, i32 noundef %384, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %365, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge824 unwind label %385

385:                                              ; preds = %383
  %386 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %404

387:                                              ; preds = %371, %381
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %388 unwind label %379

388:                                              ; preds = %387
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %30, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %365, x86_fp80 noundef %369, x86_fp80 noundef 0xK40008000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge824 unwind label %389

389:                                              ; preds = %388
  %390 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %404

.critedge824:                                     ; preds = %388, %383
  %.sink987 = phi ptr [ %29, %383 ], [ %30, %388 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink987) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  %391 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %392 = add nsw i32 %391, 1
  store i32 %392, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %393 unwind label %406

393:                                              ; preds = %.critedge824
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #6
  %394 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000) #6
  %395 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %394)
  %396 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK00000000000000000000)
  %397 = fadd x86_fp80 %396, 0xK3FFF8000000000000000
  %398 = fdiv x86_fp80 %395, %397
  %399 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %394)
  br i1 %399, label %410, label %400

400:                                              ; preds = %393
  %401 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %394)
  %402 = fcmp oeq x86_fp80 %394, 0xK00000000000000000000
  %or.cond15 = and i1 %402, %401
  %403 = fcmp olt x86_fp80 %398, 0xK3FD78CBCCC096F508800
  %or.cond911 = or i1 %403, %or.cond15
  br i1 %or.cond911, label %416, label %411

404:                                              ; preds = %389, %385, %379
  %.pn699 = phi { ptr, i32 } [ %390, %389 ], [ %380, %379 ], [ %386, %385 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %405

405:                                              ; preds = %404, %377
  %.pn699.pn = phi { ptr, i32 } [ %.pn699, %404 ], [ %378, %377 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %1527

406:                                              ; preds = %.critedge824
  %407 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #6
  br label %435

408:                                              ; preds = %416, %411
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %434

410:                                              ; preds = %393
  %.old910 = fcmp olt x86_fp80 %398, 0xK3FD78CBCCC096F508800
  br i1 %.old910, label %416, label %411

411:                                              ; preds = %400, %410
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %412 unwind label %408

412:                                              ; preds = %411
  %413 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %33, i32 noundef %413, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %394, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge826 unwind label %414

414:                                              ; preds = %412
  %415 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %434

416:                                              ; preds = %400, %410
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %417 unwind label %408

417:                                              ; preds = %416
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %34, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %394, x86_fp80 noundef %398, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge826 unwind label %418

418:                                              ; preds = %417
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %434

.critedge826:                                     ; preds = %417, %412
  %.sink988 = phi ptr [ %33, %412 ], [ %34, %417 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink988) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  %420 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %421 = add nsw i32 %420, 1
  store i32 %421, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %422 unwind label %436

422:                                              ; preds = %.critedge826
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #6
  %423 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK4002B000000000000000) #6
  %424 = fadd x86_fp80 %423, 0xKBFFDF5A18F02FC517000
  %425 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %424)
  %426 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF5A18F02FC517000)
  %427 = fadd x86_fp80 %426, 0xK3FFF8000000000000000
  %428 = fdiv x86_fp80 %425, %427
  %429 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %423)
  br i1 %429, label %440, label %430

430:                                              ; preds = %422
  %431 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %423)
  %432 = fcmp oeq x86_fp80 %423, 0xK3FFDF5A18F02FC517000
  %or.cond17 = and i1 %432, %431
  %433 = fcmp olt x86_fp80 %428, 0xK3FD78CBCCC096F508800
  %or.cond913 = or i1 %433, %or.cond17
  br i1 %or.cond913, label %446, label %441

434:                                              ; preds = %418, %414, %408
  %.pn702 = phi { ptr, i32 } [ %419, %418 ], [ %409, %408 ], [ %415, %414 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %435

435:                                              ; preds = %434, %406
  %.pn702.pn = phi { ptr, i32 } [ %.pn702, %434 ], [ %407, %406 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  br label %1527

436:                                              ; preds = %.critedge826
  %437 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #6
  br label %465

438:                                              ; preds = %446, %441
  %439 = landingpad { ptr, i32 }
          cleanup
  br label %464

440:                                              ; preds = %422
  %.old912 = fcmp olt x86_fp80 %428, 0xK3FD78CBCCC096F508800
  br i1 %.old912, label %446, label %441

441:                                              ; preds = %430, %440
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %442 unwind label %438

442:                                              ; preds = %441
  %443 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %37, i32 noundef %443, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %423, x86_fp80 noundef 0xK3FFDF5A18F02FC517000, x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK4002B000000000000000)
          to label %.critedge828 unwind label %444

444:                                              ; preds = %442
  %445 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %464

446:                                              ; preds = %430, %440
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %447 unwind label %438

447:                                              ; preds = %446
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %38, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %423, x86_fp80 noundef %428, x86_fp80 noundef 0xK4002B800000000000000, x86_fp80 noundef 0xK4002B000000000000000)
          to label %.critedge828 unwind label %448

448:                                              ; preds = %447
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %464

.critedge828:                                     ; preds = %447, %442
  %.sink989 = phi ptr [ %37, %442 ], [ %38, %447 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink989) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  %450 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %451 = add nsw i32 %450, 1
  store i32 %451, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %452 unwind label %466

452:                                              ; preds = %.critedge828
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #6
  %453 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK40039000000000000000) #6
  %454 = fadd x86_fp80 %453, 0xKBFFEC10D1BD011526000
  %455 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %454)
  %456 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEC10D1BD011526000)
  %457 = fadd x86_fp80 %456, 0xK3FFF8000000000000000
  %458 = fdiv x86_fp80 %455, %457
  %459 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %453)
  br i1 %459, label %470, label %460

460:                                              ; preds = %452
  %461 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %453)
  %462 = fcmp oeq x86_fp80 %453, 0xK3FFEC10D1BD011526000
  %or.cond19 = and i1 %462, %461
  %463 = fcmp olt x86_fp80 %458, 0xK3FD78CBCCC096F508800
  %or.cond915 = or i1 %463, %or.cond19
  br i1 %or.cond915, label %476, label %471

464:                                              ; preds = %448, %444, %438
  %.pn705 = phi { ptr, i32 } [ %449, %448 ], [ %439, %438 ], [ %445, %444 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %465

465:                                              ; preds = %464, %436
  %.pn705.pn = phi { ptr, i32 } [ %.pn705, %464 ], [ %437, %436 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  br label %1527

466:                                              ; preds = %.critedge828
  %467 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #6
  br label %495

468:                                              ; preds = %476, %471
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %494

470:                                              ; preds = %452
  %.old914 = fcmp olt x86_fp80 %458, 0xK3FD78CBCCC096F508800
  br i1 %.old914, label %476, label %471

471:                                              ; preds = %460, %470
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %472 unwind label %468

472:                                              ; preds = %471
  %473 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %41, i32 noundef %473, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %453, x86_fp80 noundef 0xK3FFEC10D1BD011526000, x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK40039000000000000000)
          to label %.critedge830 unwind label %474

474:                                              ; preds = %472
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %494

476:                                              ; preds = %460, %470
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %477 unwind label %468

477:                                              ; preds = %476
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %42, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %453, x86_fp80 noundef %458, x86_fp80 noundef 0xK4002F800000000000000, x86_fp80 noundef 0xK40039000000000000000)
          to label %.critedge830 unwind label %478

478:                                              ; preds = %477
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %494

.critedge830:                                     ; preds = %477, %472
  %.sink990 = phi ptr [ %41, %472 ], [ %42, %477 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink990) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  %480 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %481 = add nsw i32 %480, 1
  store i32 %481, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %482 unwind label %496

482:                                              ; preds = %.critedge830
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #6
  %483 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK40039000000000000000) #6
  %484 = fadd x86_fp80 %483, 0xKBFFDE0216CD933A6F800
  %485 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %484)
  %486 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDE0216CD933A6F800)
  %487 = fadd x86_fp80 %486, 0xK3FFF8000000000000000
  %488 = fdiv x86_fp80 %485, %487
  %489 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %483)
  br i1 %489, label %500, label %490

490:                                              ; preds = %482
  %491 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %483)
  %492 = fcmp oeq x86_fp80 %483, 0xK3FFDE0216CD933A6F800
  %or.cond21 = and i1 %492, %491
  %493 = fcmp olt x86_fp80 %488, 0xK3FD78CBCCC096F508800
  %or.cond917 = or i1 %493, %or.cond21
  br i1 %or.cond917, label %506, label %501

494:                                              ; preds = %478, %474, %468
  %.pn708 = phi { ptr, i32 } [ %479, %478 ], [ %469, %468 ], [ %475, %474 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %495

495:                                              ; preds = %494, %466
  %.pn708.pn = phi { ptr, i32 } [ %.pn708, %494 ], [ %467, %466 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  br label %1527

496:                                              ; preds = %.critedge830
  %497 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #6
  br label %525

498:                                              ; preds = %506, %501
  %499 = landingpad { ptr, i32 }
          cleanup
  br label %524

500:                                              ; preds = %482
  %.old916 = fcmp olt x86_fp80 %488, 0xK3FD78CBCCC096F508800
  br i1 %.old916, label %506, label %501

501:                                              ; preds = %490, %500
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %502 unwind label %498

502:                                              ; preds = %501
  %503 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %45, i32 noundef %503, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %483, x86_fp80 noundef 0xK3FFDE0216CD933A6F800, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK40039000000000000000)
          to label %.critedge832 unwind label %504

504:                                              ; preds = %502
  %505 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %524

506:                                              ; preds = %490, %500
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %507 unwind label %498

507:                                              ; preds = %506
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %46, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %483, x86_fp80 noundef %488, x86_fp80 noundef 0xK40039800000000000000, x86_fp80 noundef 0xK40039000000000000000)
          to label %.critedge832 unwind label %508

508:                                              ; preds = %507
  %509 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %524

.critedge832:                                     ; preds = %507, %502
  %.sink991 = phi ptr [ %45, %502 ], [ %46, %507 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink991) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  %510 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %511 = add nsw i32 %510, 1
  store i32 %511, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %512 unwind label %526

512:                                              ; preds = %.critedge832
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #6
  %513 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK40039800000000000000) #6
  %514 = fadd x86_fp80 %513, 0xKBFFDE0F8117955C6E000
  %515 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %514)
  %516 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDE0F8117955C6E000)
  %517 = fadd x86_fp80 %516, 0xK3FFF8000000000000000
  %518 = fdiv x86_fp80 %515, %517
  %519 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %513)
  br i1 %519, label %530, label %520

520:                                              ; preds = %512
  %521 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %513)
  %522 = fcmp oeq x86_fp80 %513, 0xK3FFDE0F8117955C6E000
  %or.cond23 = and i1 %522, %521
  %523 = fcmp olt x86_fp80 %518, 0xK3FD78CBCCC096F508800
  %or.cond919 = or i1 %523, %or.cond23
  br i1 %or.cond919, label %536, label %531

524:                                              ; preds = %508, %504, %498
  %.pn711 = phi { ptr, i32 } [ %509, %508 ], [ %499, %498 ], [ %505, %504 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %525

525:                                              ; preds = %524, %496
  %.pn711.pn = phi { ptr, i32 } [ %.pn711, %524 ], [ %497, %496 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  br label %1527

526:                                              ; preds = %.critedge832
  %527 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #6
  br label %555

528:                                              ; preds = %536, %531
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %554

530:                                              ; preds = %512
  %.old918 = fcmp olt x86_fp80 %518, 0xK3FD78CBCCC096F508800
  br i1 %.old918, label %536, label %531

531:                                              ; preds = %520, %530
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %532 unwind label %528

532:                                              ; preds = %531
  %533 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %49, i32 noundef %533, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %513, x86_fp80 noundef 0xK3FFDE0F8117955C6E000, x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK40039800000000000000)
          to label %.critedge834 unwind label %534

534:                                              ; preds = %532
  %535 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %554

536:                                              ; preds = %520, %530
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %537 unwind label %528

537:                                              ; preds = %536
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %50, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %513, x86_fp80 noundef %518, x86_fp80 noundef 0xK4003A000000000000000, x86_fp80 noundef 0xK40039800000000000000)
          to label %.critedge834 unwind label %538

538:                                              ; preds = %537
  %539 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %554

.critedge834:                                     ; preds = %537, %532
  %.sink992 = phi ptr [ %49, %532 ], [ %50, %537 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink992) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  %540 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %541 = add nsw i32 %540, 1
  store i32 %541, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %542 unwind label %556

542:                                              ; preds = %.critedge834
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #6
  %543 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK40049C00000000000000) #6
  %544 = fadd x86_fp80 %543, 0xKBFFE95C5561570411000
  %545 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %544)
  %546 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFE95C5561570411000)
  %547 = fadd x86_fp80 %546, 0xK3FFF8000000000000000
  %548 = fdiv x86_fp80 %545, %547
  %549 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %543)
  br i1 %549, label %560, label %550

550:                                              ; preds = %542
  %551 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %543)
  %552 = fcmp oeq x86_fp80 %543, 0xK3FFE95C5561570411000
  %or.cond25 = and i1 %552, %551
  %553 = fcmp olt x86_fp80 %548, 0xK3FD78CBCCC096F508800
  %or.cond921 = or i1 %553, %or.cond25
  br i1 %or.cond921, label %566, label %561

554:                                              ; preds = %538, %534, %528
  %.pn714 = phi { ptr, i32 } [ %539, %538 ], [ %529, %528 ], [ %535, %534 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %555

555:                                              ; preds = %554, %526
  %.pn714.pn = phi { ptr, i32 } [ %.pn714, %554 ], [ %527, %526 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  br label %1527

556:                                              ; preds = %.critedge834
  %557 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #6
  br label %585

558:                                              ; preds = %566, %561
  %559 = landingpad { ptr, i32 }
          cleanup
  br label %584

560:                                              ; preds = %542
  %.old920 = fcmp olt x86_fp80 %548, 0xK3FD78CBCCC096F508800
  br i1 %.old920, label %566, label %561

561:                                              ; preds = %550, %560
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %562 unwind label %558

562:                                              ; preds = %561
  %563 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %53, i32 noundef %563, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %543, x86_fp80 noundef 0xK3FFE95C5561570411000, x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK40049C00000000000000)
          to label %.critedge836 unwind label %564

564:                                              ; preds = %562
  %565 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %584

566:                                              ; preds = %550, %560
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %567 unwind label %558

567:                                              ; preds = %566
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %54, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %543, x86_fp80 noundef %548, x86_fp80 noundef 0xK40049800000000000000, x86_fp80 noundef 0xK40049C00000000000000)
          to label %.critedge836 unwind label %568

568:                                              ; preds = %567
  %569 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %584

.critedge836:                                     ; preds = %567, %562
  %.sink993 = phi ptr [ %53, %562 ], [ %54, %567 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink993) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  %570 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %571 = add nsw i32 %570, 1
  store i32 %571, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %572 unwind label %586

572:                                              ; preds = %.critedge836
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #6
  %573 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK4004DC00000000000000) #6
  %574 = fadd x86_fp80 %573, 0xKBFFDEDAE5DD3D1D4F800
  %575 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %574)
  %576 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800)
  %577 = fadd x86_fp80 %576, 0xK3FFF8000000000000000
  %578 = fdiv x86_fp80 %575, %577
  %579 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %573)
  br i1 %579, label %590, label %580

580:                                              ; preds = %572
  %581 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %573)
  %582 = fcmp oeq x86_fp80 %573, 0xK3FFDEDAE5DD3D1D4F800
  %or.cond27 = and i1 %582, %581
  %583 = fcmp olt x86_fp80 %578, 0xK3FD78CBCCC096F508800
  %or.cond923 = or i1 %583, %or.cond27
  br i1 %or.cond923, label %596, label %591

584:                                              ; preds = %568, %564, %558
  %.pn717 = phi { ptr, i32 } [ %569, %568 ], [ %559, %558 ], [ %565, %564 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %585

585:                                              ; preds = %584, %556
  %.pn717.pn = phi { ptr, i32 } [ %.pn717, %584 ], [ %557, %556 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %1527

586:                                              ; preds = %.critedge836
  %587 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #6
  br label %615

588:                                              ; preds = %596, %591
  %589 = landingpad { ptr, i32 }
          cleanup
  br label %614

590:                                              ; preds = %572
  %.old922 = fcmp olt x86_fp80 %578, 0xK3FD78CBCCC096F508800
  br i1 %.old922, label %596, label %591

591:                                              ; preds = %580, %590
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %592 unwind label %588

592:                                              ; preds = %591
  %593 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %57, i32 noundef %593, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %573, x86_fp80 noundef 0xK3FFDEDAE5DD3D1D4F800, x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK4004DC00000000000000)
          to label %.critedge838 unwind label %594

594:                                              ; preds = %592
  %595 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %614

596:                                              ; preds = %580, %590
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %597 unwind label %588

597:                                              ; preds = %596
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %58, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %573, x86_fp80 noundef %578, x86_fp80 noundef 0xK4004E000000000000000, x86_fp80 noundef 0xK4004DC00000000000000)
          to label %.critedge838 unwind label %598

598:                                              ; preds = %597
  %599 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %614

.critedge838:                                     ; preds = %597, %592
  %.sink994 = phi ptr [ %57, %592 ], [ %58, %597 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink994) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  %600 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %601 = add nsw i32 %600, 1
  store i32 %601, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %602 unwind label %616

602:                                              ; preds = %.critedge838
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #6
  %603 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK4005C600000000000000) #6
  %604 = fadd x86_fp80 %603, 0xKBFFE8DAD68EBAB941000
  %605 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %604)
  %606 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFE8DAD68EBAB941000)
  %607 = fadd x86_fp80 %606, 0xK3FFF8000000000000000
  %608 = fdiv x86_fp80 %605, %607
  %609 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %603)
  br i1 %609, label %620, label %610

610:                                              ; preds = %602
  %611 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %603)
  %612 = fcmp oeq x86_fp80 %603, 0xK3FFE8DAD68EBAB941000
  %or.cond29 = and i1 %612, %611
  %613 = fcmp olt x86_fp80 %608, 0xK3FD78CBCCC096F508800
  %or.cond925 = or i1 %613, %or.cond29
  br i1 %or.cond925, label %626, label %621

614:                                              ; preds = %598, %594, %588
  %.pn720 = phi { ptr, i32 } [ %599, %598 ], [ %589, %588 ], [ %595, %594 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %615

615:                                              ; preds = %614, %586
  %.pn720.pn = phi { ptr, i32 } [ %.pn720, %614 ], [ %587, %586 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  br label %1527

616:                                              ; preds = %.critedge838
  %617 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #6
  br label %645

618:                                              ; preds = %626, %621
  %619 = landingpad { ptr, i32 }
          cleanup
  br label %644

620:                                              ; preds = %602
  %.old924 = fcmp olt x86_fp80 %608, 0xK3FD78CBCCC096F508800
  br i1 %.old924, label %626, label %621

621:                                              ; preds = %610, %620
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %622 unwind label %618

622:                                              ; preds = %621
  %623 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %61, i32 noundef %623, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %603, x86_fp80 noundef 0xK3FFE8DAD68EBAB941000, x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK4005C600000000000000)
          to label %.critedge840 unwind label %624

624:                                              ; preds = %622
  %625 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %644

626:                                              ; preds = %610, %620
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %627 unwind label %618

627:                                              ; preds = %626
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %62, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %603, x86_fp80 noundef %608, x86_fp80 noundef 0xK4005C400000000000000, x86_fp80 noundef 0xK4005C600000000000000)
          to label %.critedge840 unwind label %628

628:                                              ; preds = %627
  %629 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %644

.critedge840:                                     ; preds = %627, %622
  %.sink995 = phi ptr [ %61, %622 ], [ %62, %627 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink995) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  %630 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %631 = add nsw i32 %630, 1
  store i32 %631, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %632 unwind label %646

632:                                              ; preds = %.critedge840
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #6
  %633 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK4005CA00000000000000) #6
  %634 = fadd x86_fp80 %633, 0xKBFFDF277AC8D5687B800
  %635 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %634)
  %636 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF277AC8D5687B800)
  %637 = fadd x86_fp80 %636, 0xK3FFF8000000000000000
  %638 = fdiv x86_fp80 %635, %637
  %639 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %633)
  br i1 %639, label %650, label %640

640:                                              ; preds = %632
  %641 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %633)
  %642 = fcmp oeq x86_fp80 %633, 0xK3FFDF277AC8D5687B800
  %or.cond31 = and i1 %642, %641
  %643 = fcmp olt x86_fp80 %638, 0xK3FD78CBCCC096F508800
  %or.cond927 = or i1 %643, %or.cond31
  br i1 %or.cond927, label %656, label %651

644:                                              ; preds = %628, %624, %618
  %.pn723 = phi { ptr, i32 } [ %629, %628 ], [ %619, %618 ], [ %625, %624 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %645

645:                                              ; preds = %644, %616
  %.pn723.pn = phi { ptr, i32 } [ %.pn723, %644 ], [ %617, %616 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  br label %1527

646:                                              ; preds = %.critedge840
  %647 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #6
  br label %675

648:                                              ; preds = %656, %651
  %649 = landingpad { ptr, i32 }
          cleanup
  br label %674

650:                                              ; preds = %632
  %.old926 = fcmp olt x86_fp80 %638, 0xK3FD78CBCCC096F508800
  br i1 %.old926, label %656, label %651

651:                                              ; preds = %640, %650
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %652 unwind label %648

652:                                              ; preds = %651
  %653 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %65, i32 noundef %653, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %633, x86_fp80 noundef 0xK3FFDF277AC8D5687B800, x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK4005CA00000000000000)
          to label %.critedge842 unwind label %654

654:                                              ; preds = %652
  %655 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %674

656:                                              ; preds = %640, %650
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %657 unwind label %648

657:                                              ; preds = %656
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %66, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %633, x86_fp80 noundef %638, x86_fp80 noundef 0xK4005CC00000000000000, x86_fp80 noundef 0xK4005CA00000000000000)
          to label %.critedge842 unwind label %658

658:                                              ; preds = %657
  %659 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %674

.critedge842:                                     ; preds = %657, %652
  %.sink996 = phi ptr [ %65, %652 ], [ %66, %657 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink996) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  %660 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %661 = add nsw i32 %660, 1
  store i32 %661, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %662 unwind label %676

662:                                              ; preds = %.critedge842
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  %663 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK40079480000000000000) #6
  %664 = fadd x86_fp80 %663, 0xKBFFDF81A14D32F2BC000
  %665 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %664)
  %666 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF81A14D32F2BC000)
  %667 = fadd x86_fp80 %666, 0xK3FFF8000000000000000
  %668 = fdiv x86_fp80 %665, %667
  %669 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %663)
  br i1 %669, label %680, label %670

670:                                              ; preds = %662
  %671 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %663)
  %672 = fcmp oeq x86_fp80 %663, 0xK3FFDF81A14D32F2BC000
  %or.cond33 = and i1 %672, %671
  %673 = fcmp olt x86_fp80 %668, 0xK3FD78CBCCC096F508800
  %or.cond929 = or i1 %673, %or.cond33
  br i1 %or.cond929, label %686, label %681

674:                                              ; preds = %658, %654, %648
  %.pn726 = phi { ptr, i32 } [ %659, %658 ], [ %649, %648 ], [ %655, %654 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %675

675:                                              ; preds = %674, %646
  %.pn726.pn = phi { ptr, i32 } [ %.pn726, %674 ], [ %647, %646 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  br label %1527

676:                                              ; preds = %.critedge842
  %677 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  br label %705

678:                                              ; preds = %686, %681
  %679 = landingpad { ptr, i32 }
          cleanup
  br label %704

680:                                              ; preds = %662
  %.old928 = fcmp olt x86_fp80 %668, 0xK3FD78CBCCC096F508800
  br i1 %.old928, label %686, label %681

681:                                              ; preds = %670, %680
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %682 unwind label %678

682:                                              ; preds = %681
  %683 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %69, i32 noundef %683, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %663, x86_fp80 noundef 0xK3FFDF81A14D32F2BC000, x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK40079480000000000000)
          to label %.critedge844 unwind label %684

684:                                              ; preds = %682
  %685 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %704

686:                                              ; preds = %670, %680
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %687 unwind label %678

687:                                              ; preds = %686
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %70, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %663, x86_fp80 noundef %668, x86_fp80 noundef 0xK40079500000000000000, x86_fp80 noundef 0xK40079480000000000000)
          to label %.critedge844 unwind label %688

688:                                              ; preds = %687
  %689 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %704

.critedge844:                                     ; preds = %687, %682
  %.sink997 = phi ptr [ %69, %682 ], [ %70, %687 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink997) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  %690 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %691 = add nsw i32 %690, 1
  store i32 %691, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %692 unwind label %706

692:                                              ; preds = %.critedge844
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #6
  %693 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK40079680000000000000) #6
  %694 = fadd x86_fp80 %693, 0xKBFFDF8278CAA5B211800
  %695 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %694)
  %696 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF8278CAA5B211800)
  %697 = fadd x86_fp80 %696, 0xK3FFF8000000000000000
  %698 = fdiv x86_fp80 %695, %697
  %699 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %693)
  br i1 %699, label %710, label %700

700:                                              ; preds = %692
  %701 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %693)
  %702 = fcmp oeq x86_fp80 %693, 0xK3FFDF8278CAA5B211800
  %or.cond35 = and i1 %702, %701
  %703 = fcmp olt x86_fp80 %698, 0xK3FD78CBCCC096F508800
  %or.cond931 = or i1 %703, %or.cond35
  br i1 %or.cond931, label %716, label %711

704:                                              ; preds = %688, %684, %678
  %.pn729 = phi { ptr, i32 } [ %689, %688 ], [ %679, %678 ], [ %685, %684 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %705

705:                                              ; preds = %704, %676
  %.pn729.pn = phi { ptr, i32 } [ %.pn729, %704 ], [ %677, %676 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  br label %1527

706:                                              ; preds = %.critedge844
  %707 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #6
  br label %735

708:                                              ; preds = %716, %711
  %709 = landingpad { ptr, i32 }
          cleanup
  br label %734

710:                                              ; preds = %692
  %.old930 = fcmp olt x86_fp80 %698, 0xK3FD78CBCCC096F508800
  br i1 %.old930, label %716, label %711

711:                                              ; preds = %700, %710
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %712 unwind label %708

712:                                              ; preds = %711
  %713 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %73, i32 noundef %713, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %693, x86_fp80 noundef 0xK3FFDF8278CAA5B211800, x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK40079680000000000000)
          to label %.critedge846 unwind label %714

714:                                              ; preds = %712
  %715 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %734

716:                                              ; preds = %700, %710
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %717 unwind label %708

717:                                              ; preds = %716
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %74, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %693, x86_fp80 noundef %698, x86_fp80 noundef 0xK40079700000000000000, x86_fp80 noundef 0xK40079680000000000000)
          to label %.critedge846 unwind label %718

718:                                              ; preds = %717
  %719 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %734

.critedge846:                                     ; preds = %717, %712
  %.sink998 = phi ptr [ %73, %712 ], [ %74, %717 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink998) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  %720 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %721 = add nsw i32 %720, 1
  store i32 %721, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %722 unwind label %736

722:                                              ; preds = %.critedge846
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #6
  %723 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK4007F880000000000000) #6
  %724 = fadd x86_fp80 %723, 0xKBFFDF9E4B65EA8D39000
  %725 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %724)
  %726 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000)
  %727 = fadd x86_fp80 %726, 0xK3FFF8000000000000000
  %728 = fdiv x86_fp80 %725, %727
  %729 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %723)
  br i1 %729, label %740, label %730

730:                                              ; preds = %722
  %731 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %723)
  %732 = fcmp oeq x86_fp80 %723, 0xK3FFDF9E4B65EA8D39000
  %or.cond37 = and i1 %732, %731
  %733 = fcmp olt x86_fp80 %728, 0xK3FD78CBCCC096F508800
  %or.cond933 = or i1 %733, %or.cond37
  br i1 %or.cond933, label %746, label %741

734:                                              ; preds = %718, %714, %708
  %.pn732 = phi { ptr, i32 } [ %719, %718 ], [ %709, %708 ], [ %715, %714 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %735

735:                                              ; preds = %734, %706
  %.pn732.pn = phi { ptr, i32 } [ %.pn732, %734 ], [ %707, %706 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  br label %1527

736:                                              ; preds = %.critedge846
  %737 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #6
  br label %765

738:                                              ; preds = %746, %741
  %739 = landingpad { ptr, i32 }
          cleanup
  br label %764

740:                                              ; preds = %722
  %.old932 = fcmp olt x86_fp80 %728, 0xK3FD78CBCCC096F508800
  br i1 %.old932, label %746, label %741

741:                                              ; preds = %730, %740
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %742 unwind label %738

742:                                              ; preds = %741
  %743 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %77, i32 noundef %743, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %723, x86_fp80 noundef 0xK3FFDF9E4B65EA8D39000, x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK4007F880000000000000)
          to label %.critedge848 unwind label %744

744:                                              ; preds = %742
  %745 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %764

746:                                              ; preds = %730, %740
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %747 unwind label %738

747:                                              ; preds = %746
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %78, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %723, x86_fp80 noundef %728, x86_fp80 noundef 0xK4007F900000000000000, x86_fp80 noundef 0xK4007F880000000000000)
          to label %.critedge848 unwind label %748

748:                                              ; preds = %747
  %749 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  br label %764

.critedge848:                                     ; preds = %747, %742
  %.sink999 = phi ptr [ %77, %742 ], [ %78, %747 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink999) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  %750 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %751 = add nsw i32 %750, 1
  store i32 %751, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %752 unwind label %766

752:                                              ; preds = %.critedge848
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  %753 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK4007FA80000000000000) #6
  %754 = fadd x86_fp80 %753, 0xKBFFDF9EAF65D555B4800
  %755 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %754)
  %756 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDF9EAF65D555B4800)
  %757 = fadd x86_fp80 %756, 0xK3FFF8000000000000000
  %758 = fdiv x86_fp80 %755, %757
  %759 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %753)
  br i1 %759, label %770, label %760

760:                                              ; preds = %752
  %761 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %753)
  %762 = fcmp oeq x86_fp80 %753, 0xK3FFDF9EAF65D555B4800
  %or.cond39 = and i1 %762, %761
  %763 = fcmp olt x86_fp80 %758, 0xK3FD78CBCCC096F508800
  %or.cond935 = or i1 %763, %or.cond39
  br i1 %or.cond935, label %776, label %771

764:                                              ; preds = %748, %744, %738
  %.pn735 = phi { ptr, i32 } [ %749, %748 ], [ %739, %738 ], [ %745, %744 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %765

765:                                              ; preds = %764, %736
  %.pn735.pn = phi { ptr, i32 } [ %.pn735, %764 ], [ %737, %736 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  br label %1527

766:                                              ; preds = %.critedge848
  %767 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  br label %795

768:                                              ; preds = %776, %771
  %769 = landingpad { ptr, i32 }
          cleanup
  br label %794

770:                                              ; preds = %752
  %.old934 = fcmp olt x86_fp80 %758, 0xK3FD78CBCCC096F508800
  br i1 %.old934, label %776, label %771

771:                                              ; preds = %760, %770
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %772 unwind label %768

772:                                              ; preds = %771
  %773 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %81, i32 noundef %773, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %753, x86_fp80 noundef 0xK3FFDF9EAF65D555B4800, x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK4007FA80000000000000)
          to label %.critedge850 unwind label %774

774:                                              ; preds = %772
  %775 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %794

776:                                              ; preds = %760, %770
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %777 unwind label %768

777:                                              ; preds = %776
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %82, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %753, x86_fp80 noundef %758, x86_fp80 noundef 0xK4007FB00000000000000, x86_fp80 noundef 0xK4007FA80000000000000)
          to label %.critedge850 unwind label %778

778:                                              ; preds = %777
  %779 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %794

.critedge850:                                     ; preds = %777, %772
  %.sink1000 = phi ptr [ %81, %772 ], [ %82, %777 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1000) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  %780 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %781 = add nsw i32 %780, 1
  store i32 %781, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %782 unwind label %796

782:                                              ; preds = %.critedge850
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #6
  %783 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK4008C7C0000000000000) #6
  %784 = fadd x86_fp80 %783, 0xKBFFE84D12AEB6F94E800
  %785 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %784)
  %786 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFE84D12AEB6F94E800)
  %787 = fadd x86_fp80 %786, 0xK3FFF8000000000000000
  %788 = fdiv x86_fp80 %785, %787
  %789 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %783)
  br i1 %789, label %800, label %790

790:                                              ; preds = %782
  %791 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %783)
  %792 = fcmp oeq x86_fp80 %783, 0xK3FFE84D12AEB6F94E800
  %or.cond41 = and i1 %792, %791
  %793 = fcmp olt x86_fp80 %788, 0xK3FD78CBCCC096F508800
  %or.cond937 = or i1 %793, %or.cond41
  br i1 %or.cond937, label %806, label %801

794:                                              ; preds = %778, %774, %768
  %.pn738 = phi { ptr, i32 } [ %779, %778 ], [ %769, %768 ], [ %775, %774 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %795

795:                                              ; preds = %794, %766
  %.pn738.pn = phi { ptr, i32 } [ %.pn738, %794 ], [ %767, %766 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br label %1527

796:                                              ; preds = %.critedge850
  %797 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #6
  br label %825

798:                                              ; preds = %806, %801
  %799 = landingpad { ptr, i32 }
          cleanup
  br label %824

800:                                              ; preds = %782
  %.old936 = fcmp olt x86_fp80 %788, 0xK3FD78CBCCC096F508800
  br i1 %.old936, label %806, label %801

801:                                              ; preds = %790, %800
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %802 unwind label %798

802:                                              ; preds = %801
  %803 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %85, i32 noundef %803, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %783, x86_fp80 noundef 0xK3FFE84D12AEB6F94E800, x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK4008C7C0000000000000)
          to label %.critedge852 unwind label %804

804:                                              ; preds = %802
  %805 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %824

806:                                              ; preds = %790, %800
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %807 unwind label %798

807:                                              ; preds = %806
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %86, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %783, x86_fp80 noundef %788, x86_fp80 noundef 0xK4008C780000000000000, x86_fp80 noundef 0xK4008C7C0000000000000)
          to label %.critedge852 unwind label %808

808:                                              ; preds = %807
  %809 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %824

.critedge852:                                     ; preds = %807, %802
  %.sink1001 = phi ptr [ %85, %802 ], [ %86, %807 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1001) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  %810 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %811 = add nsw i32 %810, 1
  store i32 %811, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %812 unwind label %826

812:                                              ; preds = %.critedge852
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #6
  %813 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK4008C800000000000000) #6
  %814 = fadd x86_fp80 %813, 0xKBFFDFB2FB4B4B9615000
  %815 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %814)
  %816 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000)
  %817 = fadd x86_fp80 %816, 0xK3FFF8000000000000000
  %818 = fdiv x86_fp80 %815, %817
  %819 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %813)
  br i1 %819, label %830, label %820

820:                                              ; preds = %812
  %821 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %813)
  %822 = fcmp oeq x86_fp80 %813, 0xK3FFDFB2FB4B4B9615000
  %or.cond43 = and i1 %822, %821
  %823 = fcmp olt x86_fp80 %818, 0xK3FD78CBCCC096F508800
  %or.cond939 = or i1 %823, %or.cond43
  br i1 %or.cond939, label %836, label %831

824:                                              ; preds = %808, %804, %798
  %.pn741 = phi { ptr, i32 } [ %809, %808 ], [ %799, %798 ], [ %805, %804 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %825

825:                                              ; preds = %824, %796
  %.pn741.pn = phi { ptr, i32 } [ %.pn741, %824 ], [ %797, %796 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  br label %1527

826:                                              ; preds = %.critedge852
  %827 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #6
  br label %855

828:                                              ; preds = %836, %831
  %829 = landingpad { ptr, i32 }
          cleanup
  br label %854

830:                                              ; preds = %812
  %.old938 = fcmp olt x86_fp80 %818, 0xK3FD78CBCCC096F508800
  br i1 %.old938, label %836, label %831

831:                                              ; preds = %820, %830
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %832 unwind label %828

832:                                              ; preds = %831
  %833 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %89, i32 noundef %833, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %813, x86_fp80 noundef 0xK3FFDFB2FB4B4B9615000, x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK4008C800000000000000)
          to label %.critedge854 unwind label %834

834:                                              ; preds = %832
  %835 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %854

836:                                              ; preds = %820, %830
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %837 unwind label %828

837:                                              ; preds = %836
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %90, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %813, x86_fp80 noundef %818, x86_fp80 noundef 0xK4008C840000000000000, x86_fp80 noundef 0xK4008C800000000000000)
          to label %.critedge854 unwind label %838

838:                                              ; preds = %837
  %839 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  br label %854

.critedge854:                                     ; preds = %837, %832
  %.sink1002 = phi ptr [ %89, %832 ], [ %90, %837 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1002) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  %840 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %841 = add nsw i32 %840, 1
  store i32 %841, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %92) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %842 unwind label %856

842:                                              ; preds = %.critedge854
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #6
  %843 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK4008F9C0000000000000) #6
  %844 = fadd x86_fp80 %843, 0xKBFFE8789278472004800
  %845 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %844)
  %846 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFE8789278472004800)
  %847 = fadd x86_fp80 %846, 0xK3FFF8000000000000000
  %848 = fdiv x86_fp80 %845, %847
  %849 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %843)
  br i1 %849, label %860, label %850

850:                                              ; preds = %842
  %851 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %843)
  %852 = fcmp oeq x86_fp80 %843, 0xK3FFE8789278472004800
  %or.cond45 = and i1 %852, %851
  %853 = fcmp olt x86_fp80 %848, 0xK3FD78CBCCC096F508800
  %or.cond941 = or i1 %853, %or.cond45
  br i1 %or.cond941, label %866, label %861

854:                                              ; preds = %838, %834, %828
  %.pn744 = phi { ptr, i32 } [ %839, %838 ], [ %829, %828 ], [ %835, %834 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br label %855

855:                                              ; preds = %854, %826
  %.pn744.pn = phi { ptr, i32 } [ %.pn744, %854 ], [ %827, %826 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  br label %1527

856:                                              ; preds = %.critedge854
  %857 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #6
  br label %885

858:                                              ; preds = %866, %861
  %859 = landingpad { ptr, i32 }
          cleanup
  br label %884

860:                                              ; preds = %842
  %.old940 = fcmp olt x86_fp80 %848, 0xK3FD78CBCCC096F508800
  br i1 %.old940, label %866, label %861

861:                                              ; preds = %850, %860
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %862 unwind label %858

862:                                              ; preds = %861
  %863 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %93, i32 noundef %863, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %843, x86_fp80 noundef 0xK3FFE8789278472004800, x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK4008F9C0000000000000)
          to label %.critedge856 unwind label %864

864:                                              ; preds = %862
  %865 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br label %884

866:                                              ; preds = %850, %860
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %867 unwind label %858

867:                                              ; preds = %866
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %94, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %843, x86_fp80 noundef %848, x86_fp80 noundef 0xK4008F940000000000000, x86_fp80 noundef 0xK4008F9C0000000000000)
          to label %.critedge856 unwind label %868

868:                                              ; preds = %867
  %869 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %884

.critedge856:                                     ; preds = %867, %862
  %.sink1003 = phi ptr [ %93, %862 ], [ %94, %867 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1003) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  %870 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %871 = add nsw i32 %870, 1
  store i32 %871, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %96) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %872 unwind label %886

872:                                              ; preds = %.critedge856
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #6
  %873 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK4008FA40000000000000) #6
  %874 = fadd x86_fp80 %873, 0xKBFFDE864FBE9D964C800
  %875 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %874)
  %876 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFDE864FBE9D964C800)
  %877 = fadd x86_fp80 %876, 0xK3FFF8000000000000000
  %878 = fdiv x86_fp80 %875, %877
  %879 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %873)
  br i1 %879, label %890, label %880

880:                                              ; preds = %872
  %881 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %873)
  %882 = fcmp oeq x86_fp80 %873, 0xK3FFDE864FBE9D964C800
  %or.cond47 = and i1 %882, %881
  %883 = fcmp olt x86_fp80 %878, 0xK3FD78CBCCC096F508800
  %or.cond943 = or i1 %883, %or.cond47
  br i1 %or.cond943, label %896, label %891

884:                                              ; preds = %868, %864, %858
  %.pn747 = phi { ptr, i32 } [ %869, %868 ], [ %859, %858 ], [ %865, %864 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %885

885:                                              ; preds = %884, %856
  %.pn747.pn = phi { ptr, i32 } [ %.pn747, %884 ], [ %857, %856 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  br label %1527

886:                                              ; preds = %.critedge856
  %887 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #6
  br label %915

888:                                              ; preds = %896, %891
  %889 = landingpad { ptr, i32 }
          cleanup
  br label %914

890:                                              ; preds = %872
  %.old942 = fcmp olt x86_fp80 %878, 0xK3FD78CBCCC096F508800
  br i1 %.old942, label %896, label %891

891:                                              ; preds = %880, %890
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %892 unwind label %888

892:                                              ; preds = %891
  %893 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %97, i32 noundef %893, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %873, x86_fp80 noundef 0xK3FFDE864FBE9D964C800, x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK4008FA40000000000000)
          to label %.critedge858 unwind label %894

894:                                              ; preds = %892
  %895 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %914

896:                                              ; preds = %880, %890
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %897 unwind label %888

897:                                              ; preds = %896
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %98, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %873, x86_fp80 noundef %878, x86_fp80 noundef 0xK4008FB40000000000000, x86_fp80 noundef 0xK4008FA40000000000000)
          to label %.critedge858 unwind label %898

898:                                              ; preds = %897
  %899 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %914

.critedge858:                                     ; preds = %897, %892
  %.sink1004 = phi ptr [ %97, %892 ], [ %98, %897 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1004) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  %900 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %901 = add nsw i32 %900, 1
  store i32 %901, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %100) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %902 unwind label %916

902:                                              ; preds = %.critedge858
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #6
  %903 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4000C000000000000000, x86_fp80 noundef 0xK4002C000000000000000) #6
  %904 = fadd x86_fp80 %903, 0xKBFFEFFDDC5F6C14A0800
  %905 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %904)
  %906 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFDDC5F6C14A0800)
  %907 = fadd x86_fp80 %906, 0xK3FFF8000000000000000
  %908 = fdiv x86_fp80 %905, %907
  %909 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %903)
  br i1 %909, label %920, label %910

910:                                              ; preds = %902
  %911 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %903)
  %912 = fcmp oeq x86_fp80 %903, 0xK3FFEFFDDC5F6C14A0800
  %or.cond49 = and i1 %912, %911
  %913 = fcmp olt x86_fp80 %908, 0xK3FD78CBCCC096F508800
  %or.cond945 = or i1 %913, %or.cond49
  br i1 %or.cond945, label %926, label %921

914:                                              ; preds = %898, %894, %888
  %.pn750 = phi { ptr, i32 } [ %899, %898 ], [ %889, %888 ], [ %895, %894 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %915

915:                                              ; preds = %914, %886
  %.pn750.pn = phi { ptr, i32 } [ %.pn750, %914 ], [ %887, %886 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  br label %1527

916:                                              ; preds = %.critedge858
  %917 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #6
  br label %945

918:                                              ; preds = %926, %921
  %919 = landingpad { ptr, i32 }
          cleanup
  br label %944

920:                                              ; preds = %902
  %.old944 = fcmp olt x86_fp80 %908, 0xK3FD78CBCCC096F508800
  br i1 %.old944, label %926, label %921

921:                                              ; preds = %910, %920
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %922 unwind label %918

922:                                              ; preds = %921
  %923 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %101, i32 noundef %923, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %903, x86_fp80 noundef 0xK3FFEFFDDC5F6C14A0800, x86_fp80 noundef 0xK4000C000000000000000, x86_fp80 noundef 0xK4002C000000000000000)
          to label %.critedge860 unwind label %924

924:                                              ; preds = %922
  %925 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %944

926:                                              ; preds = %910, %920
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %927 unwind label %918

927:                                              ; preds = %926
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %102, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %903, x86_fp80 noundef %908, x86_fp80 noundef 0xK4000C000000000000000, x86_fp80 noundef 0xK4002C000000000000000)
          to label %.critedge860 unwind label %928

928:                                              ; preds = %927
  %929 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %944

.critedge860:                                     ; preds = %927, %922
  %.sink1005 = phi ptr [ %101, %922 ], [ %102, %927 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1005) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #6
  %930 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %931 = add nsw i32 %930, 1
  store i32 %931, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %104) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %932 unwind label %946

932:                                              ; preds = %.critedge860
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #6
  %933 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4002F000000000000000) #6
  %934 = fadd x86_fp80 %933, 0xKBFFEFFC7DBF203EBA000
  %935 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %934)
  %936 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFC7DBF203EBA000)
  %937 = fadd x86_fp80 %936, 0xK3FFF8000000000000000
  %938 = fdiv x86_fp80 %935, %937
  %939 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %933)
  br i1 %939, label %950, label %940

940:                                              ; preds = %932
  %941 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %933)
  %942 = fcmp oeq x86_fp80 %933, 0xK3FFEFFC7DBF203EBA000
  %or.cond51 = and i1 %942, %941
  %943 = fcmp olt x86_fp80 %938, 0xK3FD78CBCCC096F508800
  %or.cond947 = or i1 %943, %or.cond51
  br i1 %or.cond947, label %956, label %951

944:                                              ; preds = %928, %924, %918
  %.pn753 = phi { ptr, i32 } [ %929, %928 ], [ %919, %918 ], [ %925, %924 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %945

945:                                              ; preds = %944, %916
  %.pn753.pn = phi { ptr, i32 } [ %.pn753, %944 ], [ %917, %916 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #6
  br label %1527

946:                                              ; preds = %.critedge860
  %947 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #6
  br label %975

948:                                              ; preds = %956, %951
  %949 = landingpad { ptr, i32 }
          cleanup
  br label %974

950:                                              ; preds = %932
  %.old946 = fcmp olt x86_fp80 %938, 0xK3FD78CBCCC096F508800
  br i1 %.old946, label %956, label %951

951:                                              ; preds = %940, %950
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %952 unwind label %948

952:                                              ; preds = %951
  %953 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %105, i32 noundef %953, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %933, x86_fp80 noundef 0xK3FFEFFC7DBF203EBA000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4002F000000000000000)
          to label %.critedge862 unwind label %954

954:                                              ; preds = %952
  %955 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  br label %974

956:                                              ; preds = %940, %950
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %957 unwind label %948

957:                                              ; preds = %956
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %106, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %933, x86_fp80 noundef %938, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4002F000000000000000)
          to label %.critedge862 unwind label %958

958:                                              ; preds = %957
  %959 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  br label %974

.critedge862:                                     ; preds = %957, %952
  %.sink1006 = phi ptr [ %105, %952 ], [ %106, %957 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1006) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  %960 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %961 = add nsw i32 %960, 1
  store i32 %961, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %108) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %962 unwind label %976

962:                                              ; preds = %.critedge862
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #6
  %963 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003A000000000000000) #6
  %964 = fadd x86_fp80 %963, 0xKBFFEFFFEE3B6E104E800
  %965 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %964)
  %966 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFEE3B6E104E800)
  %967 = fadd x86_fp80 %966, 0xK3FFF8000000000000000
  %968 = fdiv x86_fp80 %965, %967
  %969 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %963)
  br i1 %969, label %980, label %970

970:                                              ; preds = %962
  %971 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %963)
  %972 = fcmp oeq x86_fp80 %963, 0xK3FFEFFFEE3B6E104E800
  %or.cond53 = and i1 %972, %971
  %973 = fcmp olt x86_fp80 %968, 0xK3FD78CBCCC096F508800
  %or.cond949 = or i1 %973, %or.cond53
  br i1 %or.cond949, label %986, label %981

974:                                              ; preds = %958, %954, %948
  %.pn756 = phi { ptr, i32 } [ %959, %958 ], [ %949, %948 ], [ %955, %954 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %975

975:                                              ; preds = %974, %946
  %.pn756.pn = phi { ptr, i32 } [ %.pn756, %974 ], [ %947, %946 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  br label %1527

976:                                              ; preds = %.critedge862
  %977 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #6
  br label %1005

978:                                              ; preds = %986, %981
  %979 = landingpad { ptr, i32 }
          cleanup
  br label %1004

980:                                              ; preds = %962
  %.old948 = fcmp olt x86_fp80 %968, 0xK3FD78CBCCC096F508800
  br i1 %.old948, label %986, label %981

981:                                              ; preds = %970, %980
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %982 unwind label %978

982:                                              ; preds = %981
  %983 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %109, i32 noundef %983, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %963, x86_fp80 noundef 0xK3FFEFFFEE3B6E104E800, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %.critedge864 unwind label %984

984:                                              ; preds = %982
  %985 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %1004

986:                                              ; preds = %970, %980
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %987 unwind label %978

987:                                              ; preds = %986
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %110, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %963, x86_fp80 noundef %968, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %.critedge864 unwind label %988

988:                                              ; preds = %987
  %989 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %1004

.critedge864:                                     ; preds = %987, %982
  %.sink1007 = phi ptr [ %109, %982 ], [ %110, %987 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1007) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #6
  %990 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %991 = add nsw i32 %990, 1
  store i32 %991, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %111) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %112) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %992 unwind label %1006

992:                                              ; preds = %.critedge864
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %112) #6
  %993 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003C800000000000000) #6
  %994 = fadd x86_fp80 %993, 0xKBFFEFFFFFB85A32C8000
  %995 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %994)
  %996 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFFB85A32C8000)
  %997 = fadd x86_fp80 %996, 0xK3FFF8000000000000000
  %998 = fdiv x86_fp80 %995, %997
  %999 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %993)
  br i1 %999, label %1010, label %1000

1000:                                             ; preds = %992
  %1001 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %993)
  %1002 = fcmp oeq x86_fp80 %993, 0xK3FFEFFFFFB85A32C8000
  %or.cond55 = and i1 %1002, %1001
  %1003 = fcmp olt x86_fp80 %998, 0xK3FD78CBCCC096F508800
  %or.cond951 = or i1 %1003, %or.cond55
  br i1 %or.cond951, label %1016, label %1011

1004:                                             ; preds = %988, %984, %978
  %.pn759 = phi { ptr, i32 } [ %989, %988 ], [ %979, %978 ], [ %985, %984 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %1005

1005:                                             ; preds = %1004, %976
  %.pn759.pn = phi { ptr, i32 } [ %.pn759, %1004 ], [ %977, %976 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #6
  br label %1527

1006:                                             ; preds = %.critedge864
  %1007 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %112) #6
  br label %1035

1008:                                             ; preds = %1016, %1011
  %1009 = landingpad { ptr, i32 }
          cleanup
  br label %1034

1010:                                             ; preds = %992
  %.old950 = fcmp olt x86_fp80 %998, 0xK3FD78CBCCC096F508800
  br i1 %.old950, label %1016, label %1011

1011:                                             ; preds = %1000, %1010
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1012 unwind label %1008

1012:                                             ; preds = %1011
  %1013 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %113, i32 noundef %1013, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %993, x86_fp80 noundef 0xK3FFEFFFFFB85A32C8000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003C800000000000000)
          to label %.critedge866 unwind label %1014

1014:                                             ; preds = %1012
  %1015 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  br label %1034

1016:                                             ; preds = %1000, %1010
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1017 unwind label %1008

1017:                                             ; preds = %1016
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %114, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %993, x86_fp80 noundef %998, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4003C800000000000000)
          to label %.critedge866 unwind label %1018

1018:                                             ; preds = %1017
  %1019 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %1034

.critedge866:                                     ; preds = %1017, %1012
  %.sink1008 = phi ptr [ %113, %1012 ], [ %114, %1017 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1008) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  %1020 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1021 = add nsw i32 %1020, 1
  store i32 %1021, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %115) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %116) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %1022 unwind label %1036

1022:                                             ; preds = %.critedge866
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #6
  %1023 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK40048C00000000000000) #6
  %1024 = fadd x86_fp80 %1023, 0xKBFFEFFFFFFFFCF400000
  %1025 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1024)
  %1026 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFFFFFCF400000)
  %1027 = fadd x86_fp80 %1026, 0xK3FFF8000000000000000
  %1028 = fdiv x86_fp80 %1025, %1027
  %1029 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1023)
  br i1 %1029, label %1040, label %1030

1030:                                             ; preds = %1022
  %1031 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1023)
  %1032 = fcmp oeq x86_fp80 %1023, 0xK3FFEFFFFFFFFCF400000
  %or.cond57 = and i1 %1032, %1031
  %1033 = fcmp olt x86_fp80 %1028, 0xK3FD78CBCCC096F508800
  %or.cond953 = or i1 %1033, %or.cond57
  br i1 %or.cond953, label %1046, label %1041

1034:                                             ; preds = %1018, %1014, %1008
  %.pn762 = phi { ptr, i32 } [ %1019, %1018 ], [ %1009, %1008 ], [ %1015, %1014 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %1035

1035:                                             ; preds = %1034, %1006
  %.pn762.pn = phi { ptr, i32 } [ %.pn762, %1034 ], [ %1007, %1006 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  br label %1527

1036:                                             ; preds = %.critedge866
  %1037 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #6
  br label %1065

1038:                                             ; preds = %1046, %1041
  %1039 = landingpad { ptr, i32 }
          cleanup
  br label %1064

1040:                                             ; preds = %1022
  %.old952 = fcmp olt x86_fp80 %1028, 0xK3FD78CBCCC096F508800
  br i1 %.old952, label %1046, label %1041

1041:                                             ; preds = %1030, %1040
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %1042 unwind label %1038

1042:                                             ; preds = %1041
  %1043 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %117, i32 noundef %1043, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1023, x86_fp80 noundef 0xK3FFEFFFFFFFFCF400000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK40048C00000000000000)
          to label %.critedge868 unwind label %1044

1044:                                             ; preds = %1042
  %1045 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %1064

1046:                                             ; preds = %1030, %1040
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %1047 unwind label %1038

1047:                                             ; preds = %1046
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %118, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1023, x86_fp80 noundef %1028, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK40048C00000000000000)
          to label %.critedge868 unwind label %1048

1048:                                             ; preds = %1047
  %1049 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %1064

.critedge868:                                     ; preds = %1047, %1042
  %.sink1009 = phi ptr [ %117, %1042 ], [ %118, %1047 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1009) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #6
  %1050 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1051 = add nsw i32 %1050, 1
  store i32 %1051, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %120) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %120)
          to label %1052 unwind label %1066

1052:                                             ; preds = %.critedge868
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %120) #6
  %1053 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4004C800000000000000) #6
  %1054 = fadd x86_fp80 %1053, 0xKBFFF8000000000000000
  %1055 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1054)
  %1056 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
  %1057 = fadd x86_fp80 %1056, 0xK3FFF8000000000000000
  %1058 = fdiv x86_fp80 %1055, %1057
  %1059 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1053)
  br i1 %1059, label %1070, label %1060

1060:                                             ; preds = %1052
  %1061 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1053)
  %1062 = fcmp oeq x86_fp80 %1053, 0xK3FFF8000000000000000
  %or.cond59 = and i1 %1062, %1061
  %1063 = fcmp olt x86_fp80 %1058, 0xK3FD78CBCCC096F508800
  %or.cond955 = or i1 %1063, %or.cond59
  br i1 %or.cond955, label %1076, label %1071

1064:                                             ; preds = %1048, %1044, %1038
  %.pn765 = phi { ptr, i32 } [ %1049, %1048 ], [ %1039, %1038 ], [ %1045, %1044 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %1065

1065:                                             ; preds = %1064, %1036
  %.pn765.pn = phi { ptr, i32 } [ %.pn765, %1064 ], [ %1037, %1036 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #6
  br label %1527

1066:                                             ; preds = %.critedge868
  %1067 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %120) #6
  br label %1095

1068:                                             ; preds = %1076, %1071
  %1069 = landingpad { ptr, i32 }
          cleanup
  br label %1094

1070:                                             ; preds = %1052
  %.old954 = fcmp olt x86_fp80 %1058, 0xK3FD78CBCCC096F508800
  br i1 %.old954, label %1076, label %1071

1071:                                             ; preds = %1060, %1070
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %1072 unwind label %1068

1072:                                             ; preds = %1071
  %1073 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %121, i32 noundef %1073, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1053, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4004C800000000000000)
          to label %.critedge870 unwind label %1074

1074:                                             ; preds = %1072
  %1075 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %1094

1076:                                             ; preds = %1060, %1070
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %1077 unwind label %1068

1077:                                             ; preds = %1076
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %122, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1053, x86_fp80 noundef %1058, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4004C800000000000000)
          to label %.critedge870 unwind label %1078

1078:                                             ; preds = %1077
  %1079 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %1094

.critedge870:                                     ; preds = %1077, %1072
  %.sink1010 = phi ptr [ %121, %1072 ], [ %122, %1077 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1010) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  %1080 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1081 = add nsw i32 %1080, 1
  store i32 %1081, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %123) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %124) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %124)
          to label %1082 unwind label %1096

1082:                                             ; preds = %.critedge870
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %124) #6
  %1083 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4007FA00000000000000) #6
  %1084 = fadd x86_fp80 %1083, 0xKBFFF8000000000000000
  %1085 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1084)
  %1086 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
  %1087 = fadd x86_fp80 %1086, 0xK3FFF8000000000000000
  %1088 = fdiv x86_fp80 %1085, %1087
  %1089 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1083)
  br i1 %1089, label %1100, label %1090

1090:                                             ; preds = %1082
  %1091 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1083)
  %1092 = fcmp oeq x86_fp80 %1083, 0xK3FFF8000000000000000
  %or.cond61 = and i1 %1092, %1091
  %1093 = fcmp olt x86_fp80 %1088, 0xK3FD78CBCCC096F508800
  %or.cond957 = or i1 %1093, %or.cond61
  br i1 %or.cond957, label %1106, label %1101

1094:                                             ; preds = %1078, %1074, %1068
  %.pn768 = phi { ptr, i32 } [ %1079, %1078 ], [ %1069, %1068 ], [ %1075, %1074 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  br label %1095

1095:                                             ; preds = %1094, %1066
  %.pn768.pn = phi { ptr, i32 } [ %.pn768, %1094 ], [ %1067, %1066 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  br label %1527

1096:                                             ; preds = %.critedge870
  %1097 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %124) #6
  br label %1125

1098:                                             ; preds = %1106, %1101
  %1099 = landingpad { ptr, i32 }
          cleanup
  br label %1124

1100:                                             ; preds = %1082
  %.old956 = fcmp olt x86_fp80 %1088, 0xK3FD78CBCCC096F508800
  br i1 %.old956, label %1106, label %1101

1101:                                             ; preds = %1090, %1100
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %1102 unwind label %1098

1102:                                             ; preds = %1101
  %1103 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %125, i32 noundef %1103, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1083, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4007FA00000000000000)
          to label %.critedge872 unwind label %1104

1104:                                             ; preds = %1102
  %1105 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1124

1106:                                             ; preds = %1090, %1100
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %1107 unwind label %1098

1107:                                             ; preds = %1106
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %126, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1083, x86_fp80 noundef %1088, x86_fp80 noundef 0xK4001A000000000000000, x86_fp80 noundef 0xK4007FA00000000000000)
          to label %.critedge872 unwind label %1108

1108:                                             ; preds = %1107
  %1109 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #6
  br label %1124

.critedge872:                                     ; preds = %1107, %1102
  %.sink1011 = phi ptr [ %125, %1102 ], [ %126, %1107 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1011) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #6
  %1110 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1111 = add nsw i32 %1110, 1
  store i32 %1111, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %127) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %128) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %128)
          to label %1112 unwind label %1126

1112:                                             ; preds = %.critedge872
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %128) #6
  %1113 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4003A000000000000000) #6
  %1114 = fadd x86_fp80 %1113, 0xKBFFEFF77359AA54BA000
  %1115 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1114)
  %1116 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFF77359AA54BA000)
  %1117 = fadd x86_fp80 %1116, 0xK3FFF8000000000000000
  %1118 = fdiv x86_fp80 %1115, %1117
  %1119 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1113)
  br i1 %1119, label %1130, label %1120

1120:                                             ; preds = %1112
  %1121 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1113)
  %1122 = fcmp oeq x86_fp80 %1113, 0xK3FFEFF77359AA54BA000
  %or.cond63 = and i1 %1122, %1121
  %1123 = fcmp olt x86_fp80 %1118, 0xK3FD78CBCCC096F508800
  %or.cond959 = or i1 %1123, %or.cond63
  br i1 %or.cond959, label %1136, label %1131

1124:                                             ; preds = %1108, %1104, %1098
  %.pn771 = phi { ptr, i32 } [ %1109, %1108 ], [ %1099, %1098 ], [ %1105, %1104 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1125

1125:                                             ; preds = %1124, %1096
  %.pn771.pn = phi { ptr, i32 } [ %.pn771, %1124 ], [ %1097, %1096 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #6
  br label %1527

1126:                                             ; preds = %.critedge872
  %1127 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %128) #6
  br label %1155

1128:                                             ; preds = %1136, %1131
  %1129 = landingpad { ptr, i32 }
          cleanup
  br label %1154

1130:                                             ; preds = %1112
  %.old958 = fcmp olt x86_fp80 %1118, 0xK3FD78CBCCC096F508800
  br i1 %.old958, label %1136, label %1131

1131:                                             ; preds = %1120, %1130
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %1132 unwind label %1128

1132:                                             ; preds = %1131
  %1133 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %129, i32 noundef %1133, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1113, x86_fp80 noundef 0xK3FFEFF77359AA54BA000, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %.critedge874 unwind label %1134

1134:                                             ; preds = %1132
  %1135 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %1154

1136:                                             ; preds = %1120, %1130
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %1137 unwind label %1128

1137:                                             ; preds = %1136
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %130, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1113, x86_fp80 noundef %1118, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %.critedge874 unwind label %1138

1138:                                             ; preds = %1137
  %1139 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1154

.critedge874:                                     ; preds = %1137, %1132
  %.sink1012 = phi ptr [ %129, %1132 ], [ %130, %1137 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1012) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  %1140 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1141 = add nsw i32 %1140, 1
  store i32 %1141, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %131) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %132) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %132)
          to label %1142 unwind label %1156

1142:                                             ; preds = %.critedge874
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %132) #6
  %1143 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4004A000000000000000) #6
  %1144 = fadd x86_fp80 %1143, 0xKBFFEFFFFFFFC51CC7800
  %1145 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1144)
  %1146 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFFFFC51CC7800)
  %1147 = fadd x86_fp80 %1146, 0xK3FFF8000000000000000
  %1148 = fdiv x86_fp80 %1145, %1147
  %1149 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1143)
  br i1 %1149, label %1160, label %1150

1150:                                             ; preds = %1142
  %1151 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1143)
  %1152 = fcmp oeq x86_fp80 %1143, 0xK3FFEFFFFFFFC51CC7800
  %or.cond65 = and i1 %1152, %1151
  %1153 = fcmp olt x86_fp80 %1148, 0xK3FD78CBCCC096F508800
  %or.cond961 = or i1 %1153, %or.cond65
  br i1 %or.cond961, label %1166, label %1161

1154:                                             ; preds = %1138, %1134, %1128
  %.pn774 = phi { ptr, i32 } [ %1139, %1138 ], [ %1129, %1128 ], [ %1135, %1134 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %1155

1155:                                             ; preds = %1154, %1126
  %.pn774.pn = phi { ptr, i32 } [ %.pn774, %1154 ], [ %1127, %1126 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  br label %1527

1156:                                             ; preds = %.critedge874
  %1157 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %132) #6
  br label %1185

1158:                                             ; preds = %1166, %1161
  %1159 = landingpad { ptr, i32 }
          cleanup
  br label %1184

1160:                                             ; preds = %1142
  %.old960 = fcmp olt x86_fp80 %1148, 0xK3FD78CBCCC096F508800
  br i1 %.old960, label %1166, label %1161

1161:                                             ; preds = %1150, %1160
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %1162 unwind label %1158

1162:                                             ; preds = %1161
  %1163 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %133, i32 noundef %1163, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1143, x86_fp80 noundef 0xK3FFEFFFFFFFC51CC7800, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4004A000000000000000)
          to label %.critedge876 unwind label %1164

1164:                                             ; preds = %1162
  %1165 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  br label %1184

1166:                                             ; preds = %1150, %1160
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %1167 unwind label %1158

1167:                                             ; preds = %1166
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %134, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1143, x86_fp80 noundef %1148, x86_fp80 noundef 0xK40029000000000000000, x86_fp80 noundef 0xK4004A000000000000000)
          to label %.critedge876 unwind label %1168

1168:                                             ; preds = %1167
  %1169 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %1184

.critedge876:                                     ; preds = %1167, %1162
  %.sink1013 = phi ptr [ %133, %1162 ], [ %134, %1167 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1013) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #6
  %1170 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1171 = add nsw i32 %1170, 1
  store i32 %1171, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %135) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %136) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %1172 unwind label %1186

1172:                                             ; preds = %.critedge876
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  %1173 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4002F000000000000000) #6
  %1174 = fadd x86_fp80 %1173, 0xKBFFEE1AC50FABE34E000
  %1175 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1174)
  %1176 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEE1AC50FABE34E000)
  %1177 = fadd x86_fp80 %1176, 0xK3FFF8000000000000000
  %1178 = fdiv x86_fp80 %1175, %1177
  %1179 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1173)
  br i1 %1179, label %1190, label %1180

1180:                                             ; preds = %1172
  %1181 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1173)
  %1182 = fcmp oeq x86_fp80 %1173, 0xK3FFEE1AC50FABE34E000
  %or.cond67 = and i1 %1182, %1181
  %1183 = fcmp olt x86_fp80 %1178, 0xK3FD78CBCCC096F508800
  %or.cond963 = or i1 %1183, %or.cond67
  br i1 %or.cond963, label %1196, label %1191

1184:                                             ; preds = %1168, %1164, %1158
  %.pn777 = phi { ptr, i32 } [ %1169, %1168 ], [ %1159, %1158 ], [ %1165, %1164 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1185

1185:                                             ; preds = %1184, %1156
  %.pn777.pn = phi { ptr, i32 } [ %.pn777, %1184 ], [ %1157, %1156 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #6
  br label %1527

1186:                                             ; preds = %.critedge876
  %1187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  br label %1215

1188:                                             ; preds = %1196, %1191
  %1189 = landingpad { ptr, i32 }
          cleanup
  br label %1214

1190:                                             ; preds = %1172
  %.old962 = fcmp olt x86_fp80 %1178, 0xK3FD78CBCCC096F508800
  br i1 %.old962, label %1196, label %1191

1191:                                             ; preds = %1180, %1190
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef nonnull align 8 dereferenceable(32) %135)
          to label %1192 unwind label %1188

1192:                                             ; preds = %1191
  %1193 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %137, i32 noundef %1193, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1173, x86_fp80 noundef 0xK3FFEE1AC50FABE34E000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4002F000000000000000)
          to label %.critedge878 unwind label %1194

1194:                                             ; preds = %1192
  %1195 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1214

1196:                                             ; preds = %1180, %1190
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(32) %135)
          to label %1197 unwind label %1188

1197:                                             ; preds = %1196
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %138, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1173, x86_fp80 noundef %1178, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4002F000000000000000)
          to label %.critedge878 unwind label %1198

1198:                                             ; preds = %1197
  %1199 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1214

.critedge878:                                     ; preds = %1197, %1192
  %.sink1014 = phi ptr [ %137, %1192 ], [ %138, %1197 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1014) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  %1200 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1201 = add nsw i32 %1200, 1
  store i32 %1201, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %140) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %140)
          to label %1202 unwind label %1216

1202:                                             ; preds = %.critedge878
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %140) #6
  %1203 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003A000000000000000) #6
  %1204 = fadd x86_fp80 %1203, 0xKBFFEFD3B717539D9C800
  %1205 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1204)
  %1206 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFD3B717539D9C800)
  %1207 = fadd x86_fp80 %1206, 0xK3FFF8000000000000000
  %1208 = fdiv x86_fp80 %1205, %1207
  %1209 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1203)
  br i1 %1209, label %1220, label %1210

1210:                                             ; preds = %1202
  %1211 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1203)
  %1212 = fcmp oeq x86_fp80 %1203, 0xK3FFEFD3B717539D9C800
  %or.cond69 = and i1 %1212, %1211
  %1213 = fcmp olt x86_fp80 %1208, 0xK3FD78CBCCC096F508800
  %or.cond965 = or i1 %1213, %or.cond69
  br i1 %or.cond965, label %1226, label %1221

1214:                                             ; preds = %1198, %1194, %1188
  %.pn780 = phi { ptr, i32 } [ %1199, %1198 ], [ %1189, %1188 ], [ %1195, %1194 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  br label %1215

1215:                                             ; preds = %1214, %1186
  %.pn780.pn = phi { ptr, i32 } [ %.pn780, %1214 ], [ %1187, %1186 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br label %1527

1216:                                             ; preds = %.critedge878
  %1217 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %140) #6
  br label %1245

1218:                                             ; preds = %1226, %1221
  %1219 = landingpad { ptr, i32 }
          cleanup
  br label %1244

1220:                                             ; preds = %1202
  %.old964 = fcmp olt x86_fp80 %1208, 0xK3FD78CBCCC096F508800
  br i1 %.old964, label %1226, label %1221

1221:                                             ; preds = %1210, %1220
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1222 unwind label %1218

1222:                                             ; preds = %1221
  %1223 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %141, i32 noundef %1223, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1203, x86_fp80 noundef 0xK3FFEFD3B717539D9C800, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %.critedge880 unwind label %1224

1224:                                             ; preds = %1222
  %1225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  br label %1244

1226:                                             ; preds = %1210, %1220
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1227 unwind label %1218

1227:                                             ; preds = %1226
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %142, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1203, x86_fp80 noundef %1208, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003A000000000000000)
          to label %.critedge880 unwind label %1228

1228:                                             ; preds = %1227
  %1229 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br label %1244

.critedge880:                                     ; preds = %1227, %1222
  %.sink1015 = phi ptr [ %141, %1222 ], [ %142, %1227 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1015) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  %1230 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %143) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %144) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %143, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %144)
          to label %1232 unwind label %1246

1232:                                             ; preds = %.critedge880
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %144) #6
  %1233 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003C800000000000000) #6
  %1234 = fadd x86_fp80 %1233, 0xKBFFEFFD990CE7AD79000
  %1235 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1234)
  %1236 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFD990CE7AD79000)
  %1237 = fadd x86_fp80 %1236, 0xK3FFF8000000000000000
  %1238 = fdiv x86_fp80 %1235, %1237
  %1239 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1233)
  br i1 %1239, label %1250, label %1240

1240:                                             ; preds = %1232
  %1241 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1233)
  %1242 = fcmp oeq x86_fp80 %1233, 0xK3FFEFFD990CE7AD79000
  %or.cond71 = and i1 %1242, %1241
  %1243 = fcmp olt x86_fp80 %1238, 0xK3FD78CBCCC096F508800
  %or.cond967 = or i1 %1243, %or.cond71
  br i1 %or.cond967, label %1256, label %1251

1244:                                             ; preds = %1228, %1224, %1218
  %.pn783 = phi { ptr, i32 } [ %1229, %1228 ], [ %1219, %1218 ], [ %1225, %1224 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %1245

1245:                                             ; preds = %1244, %1216
  %.pn783.pn = phi { ptr, i32 } [ %.pn783, %1244 ], [ %1217, %1216 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  br label %1527

1246:                                             ; preds = %.critedge880
  %1247 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %144) #6
  br label %1275

1248:                                             ; preds = %1256, %1251
  %1249 = landingpad { ptr, i32 }
          cleanup
  br label %1274

1250:                                             ; preds = %1232
  %.old966 = fcmp olt x86_fp80 %1238, 0xK3FD78CBCCC096F508800
  br i1 %.old966, label %1256, label %1251

1251:                                             ; preds = %1240, %1250
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull align 8 dereferenceable(32) %143)
          to label %1252 unwind label %1248

1252:                                             ; preds = %1251
  %1253 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %145, i32 noundef %1253, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1233, x86_fp80 noundef 0xK3FFEFFD990CE7AD79000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003C800000000000000)
          to label %.critedge882 unwind label %1254

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

1256:                                             ; preds = %1240, %1250
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull align 8 dereferenceable(32) %143)
          to label %1257 unwind label %1248

1257:                                             ; preds = %1256
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %146, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1233, x86_fp80 noundef %1238, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4003C800000000000000)
          to label %.critedge882 unwind label %1258

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

.critedge882:                                     ; preds = %1257, %1252
  %.sink1016 = phi ptr [ %145, %1252 ], [ %146, %1257 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1016) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #6
  %1260 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1261 = add nsw i32 %1260, 1
  store i32 %1261, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %147) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %148) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %148)
          to label %1262 unwind label %1276

1262:                                             ; preds = %.critedge882
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %148) #6
  %1263 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK40048C00000000000000) #6
  %1264 = fadd x86_fp80 %1263, 0xKBFFEFFFFF4E7228B1000
  %1265 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1264)
  %1266 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFF4E7228B1000)
  %1267 = fadd x86_fp80 %1266, 0xK3FFF8000000000000000
  %1268 = fdiv x86_fp80 %1265, %1267
  %1269 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1263)
  br i1 %1269, label %1280, label %1270

1270:                                             ; preds = %1262
  %1271 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1263)
  %1272 = fcmp oeq x86_fp80 %1263, 0xK3FFEFFFFF4E7228B1000
  %or.cond73 = and i1 %1272, %1271
  %1273 = fcmp olt x86_fp80 %1268, 0xK3FD78CBCCC096F508800
  %or.cond969 = or i1 %1273, %or.cond73
  br i1 %or.cond969, label %1286, label %1281

1274:                                             ; preds = %1258, %1254, %1248
  %.pn786 = phi { ptr, i32 } [ %1259, %1258 ], [ %1249, %1248 ], [ %1255, %1254 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  br label %1275

1275:                                             ; preds = %1274, %1246
  %.pn786.pn = phi { ptr, i32 } [ %.pn786, %1274 ], [ %1247, %1246 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #6
  br label %1527

1276:                                             ; preds = %.critedge882
  %1277 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %148) #6
  br label %1305

1278:                                             ; preds = %1286, %1281
  %1279 = landingpad { ptr, i32 }
          cleanup
  br label %1304

1280:                                             ; preds = %1262
  %.old968 = fcmp olt x86_fp80 %1268, 0xK3FD78CBCCC096F508800
  br i1 %.old968, label %1286, label %1281

1281:                                             ; preds = %1270, %1280
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %1282 unwind label %1278

1282:                                             ; preds = %1281
  %1283 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %149, i32 noundef %1283, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1263, x86_fp80 noundef 0xK3FFEFFFFF4E7228B1000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK40048C00000000000000)
          to label %.critedge884 unwind label %1284

1284:                                             ; preds = %1282
  %1285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  br label %1304

1286:                                             ; preds = %1270, %1280
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %1287 unwind label %1278

1287:                                             ; preds = %1286
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %150, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1263, x86_fp80 noundef %1268, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK40048C00000000000000)
          to label %.critedge884 unwind label %1288

1288:                                             ; preds = %1287
  %1289 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  br label %1304

.critedge884:                                     ; preds = %1287, %1282
  %.sink1017 = phi ptr [ %149, %1282 ], [ %150, %1287 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1017) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #6
  %1290 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1291 = add nsw i32 %1290, 1
  store i32 %1291, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %152) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %152)
          to label %1292 unwind label %1306

1292:                                             ; preds = %.critedge884
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %152) #6
  %1293 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4004C800000000000000) #6
  %1294 = fadd x86_fp80 %1293, 0xKBFFEFFFFFFFFF8E87000
  %1295 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1294)
  %1296 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFEFFFFFFFFF8E87000)
  %1297 = fadd x86_fp80 %1296, 0xK3FFF8000000000000000
  %1298 = fdiv x86_fp80 %1295, %1297
  %1299 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1293)
  br i1 %1299, label %1310, label %1300

1300:                                             ; preds = %1292
  %1301 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1293)
  %1302 = fcmp oeq x86_fp80 %1293, 0xK3FFEFFFFFFFFF8E87000
  %or.cond75 = and i1 %1302, %1301
  %1303 = fcmp olt x86_fp80 %1298, 0xK3FD78CBCCC096F508800
  %or.cond971 = or i1 %1303, %or.cond75
  br i1 %or.cond971, label %1316, label %1311

1304:                                             ; preds = %1288, %1284, %1278
  %.pn789 = phi { ptr, i32 } [ %1289, %1288 ], [ %1279, %1278 ], [ %1285, %1284 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %1305

1305:                                             ; preds = %1304, %1276
  %.pn789.pn = phi { ptr, i32 } [ %.pn789, %1304 ], [ %1277, %1276 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #6
  br label %1527

1306:                                             ; preds = %.critedge884
  %1307 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %152) #6
  br label %1335

1308:                                             ; preds = %1316, %1311
  %1309 = landingpad { ptr, i32 }
          cleanup
  br label %1334

1310:                                             ; preds = %1292
  %.old970 = fcmp olt x86_fp80 %1298, 0xK3FD78CBCCC096F508800
  br i1 %.old970, label %1316, label %1311

1311:                                             ; preds = %1300, %1310
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %153, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %1312 unwind label %1308

1312:                                             ; preds = %1311
  %1313 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %153, i32 noundef %1313, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1293, x86_fp80 noundef 0xK3FFEFFFFFFFFF8E87000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4004C800000000000000)
          to label %.critedge886 unwind label %1314

1314:                                             ; preds = %1312
  %1315 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br label %1334

1316:                                             ; preds = %1300, %1310
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %1317 unwind label %1308

1317:                                             ; preds = %1316
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %154, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1293, x86_fp80 noundef %1298, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4004C800000000000000)
          to label %.critedge886 unwind label %1318

1318:                                             ; preds = %1317
  %1319 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1334

.critedge886:                                     ; preds = %1317, %1312
  %.sink1018 = phi ptr [ %153, %1312 ], [ %154, %1317 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1018) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  %1320 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1321 = add nsw i32 %1320, 1
  store i32 %1321, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %155) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %156) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %156)
          to label %1322 unwind label %1336

1322:                                             ; preds = %.critedge886
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %156) #6
  %1323 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4007FA00000000000000) #6
  %1324 = fadd x86_fp80 %1323, 0xKBFFF8000000000000000
  %1325 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1324)
  %1326 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef 0xK3FFF8000000000000000)
  %1327 = fadd x86_fp80 %1326, 0xK3FFF8000000000000000
  %1328 = fdiv x86_fp80 %1325, %1327
  %1329 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1323)
  br i1 %1329, label %1340, label %1330

1330:                                             ; preds = %1322
  %1331 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1323)
  %1332 = fcmp oeq x86_fp80 %1323, 0xK3FFF8000000000000000
  %or.cond77 = and i1 %1332, %1331
  %1333 = fcmp olt x86_fp80 %1328, 0xK3FD78CBCCC096F508800
  %or.cond973 = or i1 %1333, %or.cond77
  br i1 %or.cond973, label %1346, label %1341

1334:                                             ; preds = %1318, %1314, %1308
  %.pn792 = phi { ptr, i32 } [ %1319, %1318 ], [ %1309, %1308 ], [ %1315, %1314 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1335

1335:                                             ; preds = %1334, %1306
  %.pn792.pn = phi { ptr, i32 } [ %.pn792, %1334 ], [ %1307, %1306 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  br label %1527

1336:                                             ; preds = %.critedge886
  %1337 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %156) #6
  br label %1364

1338:                                             ; preds = %1346, %1341
  %1339 = landingpad { ptr, i32 }
          cleanup
  br label %1363

1340:                                             ; preds = %1322
  %.old972 = fcmp olt x86_fp80 %1328, 0xK3FD78CBCCC096F508800
  br i1 %.old972, label %1346, label %1341

1341:                                             ; preds = %1330, %1340
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(32) %155)
          to label %1342 unwind label %1338

1342:                                             ; preds = %1341
  %1343 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %157, i32 noundef %1343, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1323, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4007FA00000000000000)
          to label %.critedge888 unwind label %1344

1344:                                             ; preds = %1342
  %1345 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  br label %1363

1346:                                             ; preds = %1330, %1340
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef nonnull align 8 dereferenceable(32) %155)
          to label %1347 unwind label %1338

1347:                                             ; preds = %1346
  invoke void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %158, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1323, x86_fp80 noundef %1328, x86_fp80 noundef 0xK4002B000000000000000, x86_fp80 noundef 0xK4007FA00000000000000)
          to label %.critedge888 unwind label %1348

1348:                                             ; preds = %1347
  %1349 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1363

.critedge888:                                     ; preds = %1347, %1342
  %.sink1019 = phi ptr [ %157, %1342 ], [ %158, %1347 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1019) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %155) #6
  %1350 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1351 = add nsw i32 %1350, 1
  store i32 %1351, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %159) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %160) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %160)
          to label %1352 unwind label %1365

1352:                                             ; preds = %.critedge888
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %160) #6
  %1353 = call noundef double @_ZN4gcem16incomplete_gammaIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef -1.000000e-01, double noundef 0.000000e+00) #6
  %1354 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1355 = fsub double %1353, %1354
  %1356 = call noundef double @_ZSt3absd(double noundef %1355)
  %1357 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1358 = call noundef double @_ZSt3absd(double noundef %1357)
  %1359 = fadd double %1358, 1.000000e+00
  %1360 = fdiv double %1356, %1359
  %1361 = fpext double %1353 to x86_fp80
  %1362 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1361)
  br i1 %1362, label %1384, label %1369

1363:                                             ; preds = %1348, %1344, %1338
  %.pn795 = phi { ptr, i32 } [ %1349, %1348 ], [ %1339, %1338 ], [ %1345, %1344 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1364

1364:                                             ; preds = %1363, %1336
  %.pn795.pn = phi { ptr, i32 } [ %.pn795, %1363 ], [ %1337, %1336 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %155) #6
  br label %1527

1365:                                             ; preds = %.critedge888
  %1366 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %160) #6
  br label %1404

1367:                                             ; preds = %1384, %1378
  %1368 = landingpad { ptr, i32 }
          cleanup
  br label %1403

1369:                                             ; preds = %1352
  %1370 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1361)
  br i1 %1370, label %1377, label %1371

1371:                                             ; preds = %1369
  %1372 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1361)
  br i1 %1372, label %1373, label %1377

1373:                                             ; preds = %1371
  %1374 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1375 = fcmp oeq double %1353, %1374
  %1376 = fcmp olt double %1360, 0x3D719799812DEA11
  %or.cond975 = or i1 %1376, %1375
  br i1 %or.cond975, label %1384, label %1378

1377:                                             ; preds = %1371, %1369
  %.old974 = fcmp olt double %1360, 0x3D719799812DEA11
  br i1 %.old974, label %1384, label %1378

1378:                                             ; preds = %1373, %1377
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %1379 unwind label %1367

1379:                                             ; preds = %1378
  %1380 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1381 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %161, i32 noundef %1380, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %1353, double noundef %1381, double noundef -1.000000e-01, double noundef 0.000000e+00)
          to label %.critedge890 unwind label %1382

1382:                                             ; preds = %1379
  %1383 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1403

1384:                                             ; preds = %1352, %1373, %1377
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %1385 unwind label %1367

1385:                                             ; preds = %1384
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %162, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %1353, double noundef %1360, double noundef -1.000000e-01, double noundef 0.000000e+00)
          to label %.critedge890 unwind label %1386

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

.critedge890:                                     ; preds = %1385, %1379
  %.sink1020 = phi ptr [ %161, %1379 ], [ %162, %1385 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1020) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  %1388 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1389 = add nsw i32 %1388, 1
  store i32 %1389, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %163) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %164) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %164)
          to label %1390 unwind label %1405

1390:                                             ; preds = %.critedge890
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %164) #6
  %1391 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1392 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1393 = call noundef double @_ZN4gcem16incomplete_gammaIddEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1391, double noundef %1392) #6
  %1394 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1395 = fsub double %1393, %1394
  %1396 = call noundef double @_ZSt3absd(double noundef %1395)
  %1397 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1398 = call noundef double @_ZSt3absd(double noundef %1397)
  %1399 = fadd double %1398, 1.000000e+00
  %1400 = fdiv double %1396, %1399
  %1401 = fpext double %1393 to x86_fp80
  %1402 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1401)
  br i1 %1402, label %1426, label %1409

1403:                                             ; preds = %1386, %1382, %1367
  %.pn798 = phi { ptr, i32 } [ %1387, %1386 ], [ %1368, %1367 ], [ %1383, %1382 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1404

1404:                                             ; preds = %1403, %1365
  %.pn798.pn = phi { ptr, i32 } [ %.pn798, %1403 ], [ %1366, %1365 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  br label %1527

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

1407:                                             ; preds = %1426, %1418
  %1408 = landingpad { ptr, i32 }
          cleanup
  br label %1447

1409:                                             ; preds = %1390
  %1410 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1401)
  br i1 %1410, label %1417, label %1411

1411:                                             ; preds = %1409
  %1412 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1401)
  br i1 %1412, label %1413, label %1417

1413:                                             ; preds = %1411
  %1414 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1415 = fcmp oeq double %1393, %1414
  %1416 = fcmp olt double %1400, 0x3D719799812DEA11
  %or.cond977 = or i1 %1416, %1415
  br i1 %or.cond977, label %1426, label %1418

1417:                                             ; preds = %1411, %1409
  %.old976 = fcmp olt double %1400, 0x3D719799812DEA11
  br i1 %.old976, label %1426, label %1418

1418:                                             ; preds = %1413, %1417
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(32) %163)
          to label %1419 unwind label %1407

1419:                                             ; preds = %1418
  %1420 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1421 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1422 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1423 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %165, i32 noundef %1420, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %1393, double noundef %1421, double noundef %1422, double noundef %1423)
          to label %.critedge892 unwind label %1424

1424:                                             ; preds = %1419
  %1425 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1447

1426:                                             ; preds = %1390, %1413, %1417
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef nonnull align 8 dereferenceable(32) %163)
          to label %1427 unwind label %1407

1427:                                             ; preds = %1426
  %1428 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1429 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIddddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %166, i32 noundef 3, i32 noundef 3, i32 noundef 18, double noundef %1393, double noundef %1400, double noundef %1428, double noundef %1429)
          to label %.critedge892 unwind label %1430

1430:                                             ; preds = %1427
  %1431 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  br label %1447

.critedge892:                                     ; preds = %1427, %1419
  %.sink1021 = phi ptr [ %165, %1419 ], [ %166, %1427 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1021) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #6
  %1432 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1433 = add nsw i32 %1432, 1
  store i32 %1433, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %167) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %168) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %168)
          to label %1434 unwind label %1449

1434:                                             ; preds = %.critedge892
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %168) #6
  %1435 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1436 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIdeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(double noundef %1435, x86_fp80 noundef 0xK4000C000000000000000) #6
  %1437 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1438 = fpext double %1437 to x86_fp80
  %1439 = fsub x86_fp80 %1436, %1438
  %1440 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1439)
  %1441 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1442 = call noundef double @_ZSt3absd(double noundef %1441)
  %1443 = fadd double %1442, 1.000000e+00
  %1444 = fpext double %1443 to x86_fp80
  %1445 = fdiv x86_fp80 %1440, %1444
  %1446 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1436)
  br i1 %1446, label %1470, label %1453

1447:                                             ; preds = %1430, %1424, %1407
  %.pn801 = phi { ptr, i32 } [ %1431, %1430 ], [ %1408, %1407 ], [ %1425, %1424 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1448

1448:                                             ; preds = %1447, %1405
  %.pn801.pn = phi { ptr, i32 } [ %.pn801, %1447 ], [ %1406, %1405 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #6
  br label %1527

1449:                                             ; preds = %.critedge892
  %1450 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %168) #6
  br label %1491

1451:                                             ; preds = %1470, %1463
  %1452 = landingpad { ptr, i32 }
          cleanup
  br label %1490

1453:                                             ; preds = %1434
  %1454 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1436)
  br i1 %1454, label %1462, label %1455

1455:                                             ; preds = %1453
  %1456 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1436)
  br i1 %1456, label %1457, label %1462

1457:                                             ; preds = %1455
  %1458 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1459 = fpext double %1458 to x86_fp80
  %1460 = fcmp oeq x86_fp80 %1436, %1459
  %1461 = fcmp olt x86_fp80 %1445, 0xK3FD78CBCCC096F508800
  %or.cond979 = or i1 %1461, %1460
  br i1 %or.cond979, label %1470, label %1463

1462:                                             ; preds = %1455, %1453
  %.old978 = fcmp olt x86_fp80 %1445, 0xK3FD78CBCCC096F508800
  br i1 %.old978, label %1470, label %1463

1463:                                             ; preds = %1457, %1462
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %169, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1464 unwind label %1451

1464:                                             ; preds = %1463
  %1465 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1466 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1467 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIeddeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %169, i32 noundef %1465, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1436, double noundef %1466, double noundef %1467, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge894 unwind label %1468

1468:                                             ; preds = %1464
  %1469 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1490

1470:                                             ; preds = %1434, %1457, %1462
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1471 unwind label %1451

1471:                                             ; preds = %1470
  %1472 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIeedeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %170, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1436, x86_fp80 noundef %1445, double noundef %1472, x86_fp80 noundef 0xK4000C000000000000000)
          to label %.critedge894 unwind label %1473

1473:                                             ; preds = %1471
  %1474 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  br label %1490

.critedge894:                                     ; preds = %1471, %1464
  %.sink1022 = phi ptr [ %169, %1464 ], [ %170, %1471 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1022) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #6
  %1475 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1476 = add nsw i32 %1475, 1
  store i32 %1476, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %172) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %171, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %172)
          to label %1477 unwind label %1492

1477:                                             ; preds = %.critedge894
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %172) #6
  %1478 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1479 = call noundef x86_fp80 @_ZN4gcem16incomplete_gammaIedEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef 0xK40008000000000000000, double noundef %1478) #6
  %1480 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1481 = fpext double %1480 to x86_fp80
  %1482 = fsub x86_fp80 %1479, %1481
  %1483 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1482)
  %1484 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1485 = call noundef double @_ZSt3absd(double noundef %1484)
  %1486 = fadd double %1485, 1.000000e+00
  %1487 = fpext double %1486 to x86_fp80
  %1488 = fdiv x86_fp80 %1483, %1487
  %1489 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1479)
  br i1 %1489, label %1513, label %1496

1490:                                             ; preds = %1473, %1468, %1451
  %.pn804 = phi { ptr, i32 } [ %1474, %1473 ], [ %1452, %1451 ], [ %1469, %1468 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  br label %1491

1491:                                             ; preds = %1490, %1449
  %.pn804.pn = phi { ptr, i32 } [ %.pn804, %1490 ], [ %1450, %1449 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #6
  br label %1527

1492:                                             ; preds = %.critedge894
  %1493 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %172) #6
  br label %1521

1494:                                             ; preds = %1513, %1506
  %1495 = landingpad { ptr, i32 }
          cleanup
  br label %1520

1496:                                             ; preds = %1477
  %1497 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1479)
  br i1 %1497, label %1505, label %1498

1498:                                             ; preds = %1496
  %1499 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1479)
  br i1 %1499, label %1500, label %1505

1500:                                             ; preds = %1498
  %1501 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1502 = fpext double %1501 to x86_fp80
  %1503 = fcmp oeq x86_fp80 %1479, %1502
  %1504 = fcmp olt x86_fp80 %1488, 0xK3FD78CBCCC096F508800
  %or.cond981 = or i1 %1504, %1503
  br i1 %or.cond981, label %1513, label %1506

1505:                                             ; preds = %1498, %1496
  %.old980 = fcmp olt x86_fp80 %1488, 0xK3FD78CBCCC096F508800
  br i1 %.old980, label %1513, label %1506

1506:                                             ; preds = %1500, %1505
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %171)
          to label %1507 unwind label %1494

1507:                                             ; preds = %1506
  %1508 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1509 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  %1510 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_failIededEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef nonnull %173, i32 noundef %1508, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1479, double noundef %1509, x86_fp80 noundef 0xK40008000000000000000, double noundef %1510)
          to label %.critedge896 unwind label %1511

1511:                                             ; preds = %1507
  %1512 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1520

1513:                                             ; preds = %1477, %1500, %1505
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef nonnull align 8 dereferenceable(32) %171)
          to label %1514 unwind label %1494

1514:                                             ; preds = %1513
  %1515 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #6
  invoke void @_Z15print_test_passIeeedEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef nonnull %174, i32 noundef 3, i32 noundef 3, i32 noundef 18, x86_fp80 noundef %1479, x86_fp80 noundef %1488, x86_fp80 noundef 0xK40008000000000000000, double noundef %1515)
          to label %.critedge896 unwind label %1516

1516:                                             ; preds = %1514
  %1517 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  br label %1520

.critedge896:                                     ; preds = %1514, %1507
  %.sink1023 = phi ptr [ %173, %1507 ], [ %174, %1514 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1023) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %176) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %176)
          to label %1518 unwind label %1522

1518:                                             ; preds = %.critedge896
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %175)
          to label %1519 unwind label %1524

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

1520:                                             ; preds = %1516, %1511, %1494
  %.pn807 = phi { ptr, i32 } [ %1517, %1516 ], [ %1495, %1494 ], [ %1512, %1511 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  br label %1521

1521:                                             ; preds = %1520, %1492
  %.pn807.pn = phi { ptr, i32 } [ %.pn807, %1520 ], [ %1493, %1492 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  br label %1527

1522:                                             ; preds = %.critedge896
  %1523 = landingpad { ptr, i32 }
          cleanup
  br label %1526

1524:                                             ; preds = %1518
  %1525 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %1526

1526:                                             ; preds = %1524, %1522
  %.pn810 = phi { ptr, i32 } [ %1525, %1524 ], [ %1523, %1522 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #6
  br label %1527

1527:                                             ; preds = %1526, %1521, %1491, %1448, %1404, %1364, %1335, %1305, %1275, %1245, %1215, %1185, %1155, %1125, %1095, %1065, %1035, %1005, %975, %945, %915, %885, %855, %825, %795, %765, %735, %705, %675, %645, %615, %585, %555, %525, %495, %465, %435, %405, %376, %347, %317, %287, %257, %227, %197
  %.pn810.pn = phi { ptr, i32 } [ %.pn810, %1526 ], [ %.pn807.pn, %1521 ], [ %.pn804.pn, %1491 ], [ %.pn801.pn, %1448 ], [ %.pn798.pn, %1404 ], [ %.pn795.pn, %1364 ], [ %.pn792.pn, %1335 ], [ %.pn789.pn, %1305 ], [ %.pn786.pn, %1275 ], [ %.pn783.pn, %1245 ], [ %.pn780.pn, %1215 ], [ %.pn777.pn, %1185 ], [ %.pn774.pn, %1155 ], [ %.pn771.pn, %1125 ], [ %.pn768.pn, %1095 ], [ %.pn765.pn, %1065 ], [ %.pn762.pn, %1035 ], [ %.pn759.pn, %1005 ], [ %.pn756.pn, %975 ], [ %.pn753.pn, %945 ], [ %.pn750.pn, %915 ], [ %.pn747.pn, %885 ], [ %.pn744.pn, %855 ], [ %.pn741.pn, %825 ], [ %.pn738.pn, %795 ], [ %.pn735.pn, %765 ], [ %.pn732.pn, %735 ], [ %.pn729.pn, %705 ], [ %.pn726.pn, %675 ], [ %.pn723.pn, %645 ], [ %.pn720.pn, %615 ], [ %.pn717.pn, %585 ], [ %.pn714.pn, %555 ], [ %.pn711.pn, %525 ], [ %.pn708.pn, %495 ], [ %.pn705.pn, %465 ], [ %.pn702.pn, %435 ], [ %.pn699.pn, %405 ], [ %.pn696.pn, %376 ], [ %.pn693.pn, %347 ], [ %.pn690.pn, %317 ], [ %.pn687.pn, %287 ], [ %.pn684.pn, %257 ], [ %.pn681.pn, %227 ], [ %.pn, %197 ]
  resume { ptr, i32 } %.pn810.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 @_ZN4gcem16incomplete_gammaIeeEENSt11conditionalIXsr3std11is_integralINSt11common_typeIJT_T0_EE4typeEEE5valueEdS6_E4typeES3_S4_(x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIeeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_T2_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}


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