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

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

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

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca i32, align 4
  %2 = alloca %"class.std::__cxx11::basic_string", align 8
  %3 = alloca %"class.std::allocator", align 1
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::allocator", align 1
  %8 = alloca x86_fp80, align 16
  %9 = alloca x86_fp80, align 16
  %10 = alloca x86_fp80, align 16
  %11 = alloca i8, align 1
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator", align 1
  %16 = alloca x86_fp80, align 16
  %17 = alloca x86_fp80, align 16
  %18 = alloca x86_fp80, align 16
  %19 = alloca i8, align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator", align 1
  %24 = alloca x86_fp80, align 16
  %25 = alloca x86_fp80, align 16
  %26 = alloca x86_fp80, align 16
  %27 = alloca i8, align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca x86_fp80, align 16
  %33 = alloca x86_fp80, align 16
  %34 = alloca x86_fp80, align 16
  %35 = alloca i8, align 1
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator", align 1
  %40 = alloca x86_fp80, align 16
  %41 = alloca x86_fp80, align 16
  %42 = alloca x86_fp80, align 16
  %43 = alloca i8, align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca x86_fp80, align 16
  %49 = alloca x86_fp80, align 16
  %50 = alloca x86_fp80, align 16
  %51 = alloca i8, align 1
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::allocator", align 1
  %56 = alloca x86_fp80, align 16
  %57 = alloca x86_fp80, align 16
  %58 = alloca x86_fp80, align 16
  %59 = alloca i8, align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::allocator", align 1
  %64 = alloca x86_fp80, align 16
  %65 = alloca x86_fp80, align 16
  %66 = alloca x86_fp80, align 16
  %67 = alloca i8, align 1
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::allocator", align 1
  %72 = alloca x86_fp80, align 16
  %73 = alloca x86_fp80, align 16
  %74 = alloca x86_fp80, align 16
  %75 = alloca i8, align 1
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::allocator", align 1
  %80 = alloca x86_fp80, align 16
  %81 = alloca x86_fp80, align 16
  %82 = alloca x86_fp80, align 16
  %83 = alloca i8, align 1
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::allocator", align 1
  %88 = alloca double, align 8
  %89 = alloca double, align 8
  %90 = alloca double, align 8
  %91 = alloca i8, align 1
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::allocator", align 1
  %96 = alloca x86_fp80, align 16
  %97 = alloca x86_fp80, align 16
  %98 = alloca x86_fp80, align 16
  %99 = alloca i8, align 1
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::allocator", align 1
  %104 = alloca x86_fp80, align 16
  %105 = alloca x86_fp80, align 16
  %106 = alloca x86_fp80, align 16
  %107 = alloca i8, align 1
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::allocator", align 1
  %112 = alloca x86_fp80, align 16
  %113 = alloca x86_fp80, align 16
  %114 = alloca x86_fp80, align 16
  %115 = alloca i8, align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::allocator", align 1
  store i32 0, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 1, ptr %3) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %3)
          to label %120 unwind label %146

120:                                              ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2)
          to label %121 unwind label %150

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

124:                                              ; preds = %121
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #7
  %125 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFE8000000000000000) #7
  store x86_fp80 %125, ptr %8, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #7
  %126 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %127 unwind label %159

127:                                              ; preds = %124
  store x86_fp80 %126, ptr %9, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #7
  %128 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %129 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %130 = fsub x86_fp80 %128, %129
  %131 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %130)
          to label %132 unwind label %163

132:                                              ; preds = %127
  %133 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %134 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %133)
          to label %135 unwind label %163

135:                                              ; preds = %132
  %136 = fadd x86_fp80 0xK3FFF8000000000000000, %134
  %137 = fdiv x86_fp80 %131, %136
  store x86_fp80 %137, ptr %10, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #7
  store i8 0, ptr %11, align 1, !tbaa !11
  %138 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %139 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %138)
          to label %140 unwind label %167

140:                                              ; preds = %135
  br i1 %139, label %141, label %171

141:                                              ; preds = %140
  %142 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %143 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %142)
          to label %144 unwind label %167

144:                                              ; preds = %141
  br i1 %143, label %145, label %171

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

146:                                              ; preds = %0
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %4, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %5, align 4
  br label %154

150:                                              ; preds = %120
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %4, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  br label %154

154:                                              ; preds = %150, %146
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #7
  br label %1368

155:                                              ; preds = %121
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %4, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #7
  br label %240

159:                                              ; preds = %124
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %4, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %5, align 4
  br label %239

163:                                              ; preds = %132, %127
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %4, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %5, align 4
  br label %238

167:                                              ; preds = %203, %188, %175, %171, %141, %135
  %168 = landingpad { ptr, i32 }
          cleanup
  %169 = extractvalue { ptr, i32 } %168, 0
  store ptr %169, ptr %4, align 8
  %170 = extractvalue { ptr, i32 } %168, 1
  store i32 %170, ptr %5, align 4
  br label %237

171:                                              ; preds = %144, %140
  %172 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %173 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %172)
          to label %174 unwind label %167

174:                                              ; preds = %171
  br i1 %173, label %184, label %175

175:                                              ; preds = %174
  %176 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %177 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %176)
          to label %178 unwind label %167

178:                                              ; preds = %175
  br i1 %177, label %179, label %184

179:                                              ; preds = %178
  %180 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %181 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %182 = fcmp oeq x86_fp80 %180, %181
  br i1 %182, label %183, label %184

183:                                              ; preds = %179
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %199

184:                                              ; preds = %179, %178, %174
  %185 = load x86_fp80, ptr %10, align 16, !tbaa !9
  %186 = fcmp olt x86_fp80 %185, 0xK3FD0B424DC35095CD800
  br i1 %186, label %187, label %188

187:                                              ; preds = %184
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %198

188:                                              ; preds = %184
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %189 unwind label %167

189:                                              ; preds = %188
  %190 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %191 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %192 = load x86_fp80, ptr %9, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %12, i32 noundef %190, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %191, x86_fp80 noundef %192, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %193 unwind label %194

193:                                              ; preds = %189
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %198

194:                                              ; preds = %189
  %195 = landingpad { ptr, i32 }
          cleanup
  %196 = extractvalue { ptr, i32 } %195, 0
  store ptr %196, ptr %4, align 8
  %197 = extractvalue { ptr, i32 } %195, 1
  store i32 %197, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %237

198:                                              ; preds = %193, %187
  br label %199

199:                                              ; preds = %198, %183
  br label %200

200:                                              ; preds = %199, %145
  %201 = load i8, ptr %11, align 1, !tbaa !11, !range !13, !noundef !14
  %202 = trunc i8 %201 to i1
  br i1 %202, label %203, label %212

203:                                              ; preds = %200
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %204 unwind label %167

204:                                              ; preds = %203
  %205 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %206 = load x86_fp80, ptr %10, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %13, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %205, x86_fp80 noundef %206, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %207 unwind label %208

207:                                              ; preds = %204
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %212

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

212:                                              ; preds = %207, %200
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  %213 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %214 = add nsw i32 %213, 1
  store i32 %214, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %215 unwind label %241

215:                                              ; preds = %212
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #7
  %216 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FF68301A79FEC9A180D) #7
  store x86_fp80 %216, ptr %16, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #7
  %217 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3FF68301A79FEC9A180D)
          to label %218 unwind label %245

218:                                              ; preds = %215
  store x86_fp80 %217, ptr %17, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #7
  %219 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %220 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %221 = fsub x86_fp80 %219, %220
  %222 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %221)
          to label %223 unwind label %249

223:                                              ; preds = %218
  %224 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %225 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %224)
          to label %226 unwind label %249

226:                                              ; preds = %223
  %227 = fadd x86_fp80 0xK3FFF8000000000000000, %225
  %228 = fdiv x86_fp80 %222, %227
  store x86_fp80 %228, ptr %18, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #7
  store i8 0, ptr %19, align 1, !tbaa !11
  %229 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %230 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %229)
          to label %231 unwind label %253

231:                                              ; preds = %226
  br i1 %230, label %232, label %257

232:                                              ; preds = %231
  %233 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %234 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %233)
          to label %235 unwind label %253

235:                                              ; preds = %232
  br i1 %234, label %236, label %257

236:                                              ; preds = %235
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %286

237:                                              ; preds = %208, %194, %167
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  br label %238

238:                                              ; preds = %237, %163
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  br label %239

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

240:                                              ; preds = %239, %155
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  br label %1368

241:                                              ; preds = %212
  %242 = landingpad { ptr, i32 }
          cleanup
  %243 = extractvalue { ptr, i32 } %242, 0
  store ptr %243, ptr %4, align 8
  %244 = extractvalue { ptr, i32 } %242, 1
  store i32 %244, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  br label %326

245:                                              ; preds = %215
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %4, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %5, align 4
  br label %325

249:                                              ; preds = %223, %218
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %4, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %5, align 4
  br label %324

253:                                              ; preds = %289, %274, %261, %257, %232, %226
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %4, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %5, align 4
  br label %323

257:                                              ; preds = %235, %231
  %258 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %259 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %258)
          to label %260 unwind label %253

260:                                              ; preds = %257
  br i1 %259, label %270, label %261

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

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

265:                                              ; preds = %264
  %266 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %267 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %268 = fcmp oeq x86_fp80 %266, %267
  br i1 %268, label %269, label %270

269:                                              ; preds = %265
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %285

270:                                              ; preds = %265, %264, %260
  %271 = load x86_fp80, ptr %18, align 16, !tbaa !9
  %272 = fcmp olt x86_fp80 %271, 0xK3FD0B424DC35095CD800
  br i1 %272, label %273, label %274

273:                                              ; preds = %270
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %284

274:                                              ; preds = %270
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %275 unwind label %253

275:                                              ; preds = %274
  %276 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %277 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %278 = load x86_fp80, ptr %17, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %20, i32 noundef %276, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %277, x86_fp80 noundef %278, x86_fp80 noundef 0xK3FF68301A79FEC9A180D)
          to label %279 unwind label %280

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

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

284:                                              ; preds = %279, %273
  br label %285

285:                                              ; preds = %284, %269
  br label %286

286:                                              ; preds = %285, %236
  %287 = load i8, ptr %19, align 1, !tbaa !11, !range !13, !noundef !14
  %288 = trunc i8 %287 to i1
  br i1 %288, label %289, label %298

289:                                              ; preds = %286
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %290 unwind label %253

290:                                              ; preds = %289
  %291 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %292 = load x86_fp80, ptr %18, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %21, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %291, x86_fp80 noundef %292, x86_fp80 noundef 0xK3FF68301A79FEC9A180D)
          to label %293 unwind label %294

293:                                              ; preds = %290
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %298

294:                                              ; preds = %290
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %4, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %323

298:                                              ; preds = %293, %286
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  %299 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %300 = add nsw i32 %299, 1
  store i32 %300, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %301 unwind label %327

301:                                              ; preds = %298
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #7
  %302 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFF8000000000000000) #7
  store x86_fp80 %302, ptr %24, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %303 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %304 unwind label %331

304:                                              ; preds = %301
  store x86_fp80 %303, ptr %25, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #7
  %305 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %306 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %307 = fsub x86_fp80 %305, %306
  %308 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %307)
          to label %309 unwind label %335

309:                                              ; preds = %304
  %310 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %311 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %310)
          to label %312 unwind label %335

312:                                              ; preds = %309
  %313 = fadd x86_fp80 0xK3FFF8000000000000000, %311
  %314 = fdiv x86_fp80 %308, %313
  store x86_fp80 %314, ptr %26, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #7
  store i8 0, ptr %27, align 1, !tbaa !11
  %315 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %316 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %315)
          to label %317 unwind label %339

317:                                              ; preds = %312
  br i1 %316, label %318, label %343

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

321:                                              ; preds = %318
  br i1 %320, label %322, label %343

322:                                              ; preds = %321
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %372

323:                                              ; preds = %294, %280, %253
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  br label %324

324:                                              ; preds = %323, %249
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  br label %325

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

326:                                              ; preds = %325, %241
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %1368

327:                                              ; preds = %298
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %4, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  br label %412

331:                                              ; preds = %301
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %4, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %5, align 4
  br label %411

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

339:                                              ; preds = %375, %360, %347, %343, %318, %312
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %4, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %5, align 4
  br label %409

343:                                              ; preds = %321, %317
  %344 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %345 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %344)
          to label %346 unwind label %339

346:                                              ; preds = %343
  br i1 %345, label %356, label %347

347:                                              ; preds = %346
  %348 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %349 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %348)
          to label %350 unwind label %339

350:                                              ; preds = %347
  br i1 %349, label %351, label %356

351:                                              ; preds = %350
  %352 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %353 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %354 = fcmp oeq x86_fp80 %352, %353
  br i1 %354, label %355, label %356

355:                                              ; preds = %351
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %371

356:                                              ; preds = %351, %350, %346
  %357 = load x86_fp80, ptr %26, align 16, !tbaa !9
  %358 = fcmp olt x86_fp80 %357, 0xK3FD0B424DC35095CD800
  br i1 %358, label %359, label %360

359:                                              ; preds = %356
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %370

360:                                              ; preds = %356
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %361 unwind label %339

361:                                              ; preds = %360
  %362 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %363 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %364 = load x86_fp80, ptr %25, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %28, i32 noundef %362, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %363, x86_fp80 noundef %364, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %365 unwind label %366

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

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

370:                                              ; preds = %365, %359
  br label %371

371:                                              ; preds = %370, %355
  br label %372

372:                                              ; preds = %371, %322
  %373 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %374 = trunc i8 %373 to i1
  br i1 %374, label %375, label %384

375:                                              ; preds = %372
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %376 unwind label %339

376:                                              ; preds = %375
  %377 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %378 = load x86_fp80, ptr %26, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %29, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %377, x86_fp80 noundef %378, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %379 unwind label %380

379:                                              ; preds = %376
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %384

380:                                              ; preds = %376
  %381 = landingpad { ptr, i32 }
          cleanup
  %382 = extractvalue { ptr, i32 } %381, 0
  store ptr %382, ptr %4, align 8
  %383 = extractvalue { ptr, i32 } %381, 1
  store i32 %383, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %409

384:                                              ; preds = %379, %372
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  %385 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %386 = add nsw i32 %385, 1
  store i32 %386, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %387 unwind label %413

387:                                              ; preds = %384
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #7
  %388 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFC000000000000000) #7
  store x86_fp80 %388, ptr %32, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #7
  %389 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3FFFC000000000000000)
          to label %390 unwind label %417

390:                                              ; preds = %387
  store x86_fp80 %389, ptr %33, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %391 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %392 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %393 = fsub x86_fp80 %391, %392
  %394 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %393)
          to label %395 unwind label %421

395:                                              ; preds = %390
  %396 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %397 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %396)
          to label %398 unwind label %421

398:                                              ; preds = %395
  %399 = fadd x86_fp80 0xK3FFF8000000000000000, %397
  %400 = fdiv x86_fp80 %394, %399
  store x86_fp80 %400, ptr %34, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #7
  store i8 0, ptr %35, align 1, !tbaa !11
  %401 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %402 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %401)
          to label %403 unwind label %425

403:                                              ; preds = %398
  br i1 %402, label %404, label %429

404:                                              ; preds = %403
  %405 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %406 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %405)
          to label %407 unwind label %425

407:                                              ; preds = %404
  br i1 %406, label %408, label %429

408:                                              ; preds = %407
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %458

409:                                              ; preds = %380, %366, %339
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  br label %410

410:                                              ; preds = %409, %335
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  br label %411

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

412:                                              ; preds = %411, %327
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br label %1368

413:                                              ; preds = %384
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %4, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  br label %498

417:                                              ; preds = %387
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %4, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %5, align 4
  br label %497

421:                                              ; preds = %395, %390
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %4, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %5, align 4
  br label %496

425:                                              ; preds = %461, %446, %433, %429, %404, %398
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %4, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %5, align 4
  br label %495

429:                                              ; preds = %407, %403
  %430 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %431 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %430)
          to label %432 unwind label %425

432:                                              ; preds = %429
  br i1 %431, label %442, label %433

433:                                              ; preds = %432
  %434 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %435 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %434)
          to label %436 unwind label %425

436:                                              ; preds = %433
  br i1 %435, label %437, label %442

437:                                              ; preds = %436
  %438 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %439 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %440 = fcmp oeq x86_fp80 %438, %439
  br i1 %440, label %441, label %442

441:                                              ; preds = %437
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %457

442:                                              ; preds = %437, %436, %432
  %443 = load x86_fp80, ptr %34, align 16, !tbaa !9
  %444 = fcmp olt x86_fp80 %443, 0xK3FD0B424DC35095CD800
  br i1 %444, label %445, label %446

445:                                              ; preds = %442
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %456

446:                                              ; preds = %442
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %447 unwind label %425

447:                                              ; preds = %446
  %448 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %449 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %450 = load x86_fp80, ptr %33, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %36, i32 noundef %448, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %449, x86_fp80 noundef %450, x86_fp80 noundef 0xK3FFFC000000000000000)
          to label %451 unwind label %452

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

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

456:                                              ; preds = %451, %445
  br label %457

457:                                              ; preds = %456, %441
  br label %458

458:                                              ; preds = %457, %408
  %459 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %460 = trunc i8 %459 to i1
  br i1 %460, label %461, label %470

461:                                              ; preds = %458
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %462 unwind label %425

462:                                              ; preds = %461
  %463 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %464 = load x86_fp80, ptr %34, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %37, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %463, x86_fp80 noundef %464, x86_fp80 noundef 0xK3FFFC000000000000000)
          to label %465 unwind label %466

465:                                              ; preds = %462
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %470

466:                                              ; preds = %462
  %467 = landingpad { ptr, i32 }
          cleanup
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %4, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %495

470:                                              ; preds = %465, %458
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  %471 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %472 = add nsw i32 %471, 1
  store i32 %472, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %473 unwind label %499

473:                                              ; preds = %470
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #7
  %474 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4004A600000000000000) #7
  store x86_fp80 %474, ptr %40, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #7
  %475 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK4004A600000000000000)
          to label %476 unwind label %503

476:                                              ; preds = %473
  store x86_fp80 %475, ptr %41, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #7
  %477 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %478 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %479 = fsub x86_fp80 %477, %478
  %480 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %479)
          to label %481 unwind label %507

481:                                              ; preds = %476
  %482 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %483 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %482)
          to label %484 unwind label %507

484:                                              ; preds = %481
  %485 = fadd x86_fp80 0xK3FFF8000000000000000, %483
  %486 = fdiv x86_fp80 %480, %485
  store x86_fp80 %486, ptr %42, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #7
  store i8 0, ptr %43, align 1, !tbaa !11
  %487 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %488 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %487)
          to label %489 unwind label %511

489:                                              ; preds = %484
  br i1 %488, label %490, label %515

490:                                              ; preds = %489
  %491 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %492 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %491)
          to label %493 unwind label %511

493:                                              ; preds = %490
  br i1 %492, label %494, label %515

494:                                              ; preds = %493
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %544

495:                                              ; preds = %466, %452, %425
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  br label %496

496:                                              ; preds = %495, %421
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  br label %497

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

498:                                              ; preds = %497, %413
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  br label %1368

499:                                              ; preds = %470
  %500 = landingpad { ptr, i32 }
          cleanup
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %4, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #7
  br label %584

503:                                              ; preds = %473
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %4, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %5, align 4
  br label %583

507:                                              ; preds = %481, %476
  %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
  br label %582

511:                                              ; preds = %547, %532, %519, %515, %490, %484
  %512 = landingpad { ptr, i32 }
          cleanup
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %4, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %5, align 4
  br label %581

515:                                              ; preds = %493, %489
  %516 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %517 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %516)
          to label %518 unwind label %511

518:                                              ; preds = %515
  br i1 %517, label %528, label %519

519:                                              ; preds = %518
  %520 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %521 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %520)
          to label %522 unwind label %511

522:                                              ; preds = %519
  br i1 %521, label %523, label %528

523:                                              ; preds = %522
  %524 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %525 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %526 = fcmp oeq x86_fp80 %524, %525
  br i1 %526, label %527, label %528

527:                                              ; preds = %523
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %543

528:                                              ; preds = %523, %522, %518
  %529 = load x86_fp80, ptr %42, align 16, !tbaa !9
  %530 = fcmp olt x86_fp80 %529, 0xK3FD0B424DC35095CD800
  br i1 %530, label %531, label %532

531:                                              ; preds = %528
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %542

532:                                              ; preds = %528
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %533 unwind label %511

533:                                              ; preds = %532
  %534 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %535 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %536 = load x86_fp80, ptr %41, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %44, i32 noundef %534, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %535, x86_fp80 noundef %536, x86_fp80 noundef 0xK4004A600000000000000)
          to label %537 unwind label %538

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

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

542:                                              ; preds = %537, %531
  br label %543

543:                                              ; preds = %542, %527
  br label %544

544:                                              ; preds = %543, %494
  %545 = load i8, ptr %43, align 1, !tbaa !11, !range !13, !noundef !14
  %546 = trunc i8 %545 to i1
  br i1 %546, label %547, label %556

547:                                              ; preds = %544
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %548 unwind label %511

548:                                              ; preds = %547
  %549 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %550 = load x86_fp80, ptr %42, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %45, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %549, x86_fp80 noundef %550, x86_fp80 noundef 0xK4004A600000000000000)
          to label %551 unwind label %552

551:                                              ; preds = %548
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %556

552:                                              ; preds = %548
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %4, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %581

556:                                              ; preds = %551, %544
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  %557 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %558 = add nsw i32 %557, 1
  store i32 %558, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %559 unwind label %585

559:                                              ; preds = %556
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #7
  %560 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4019EB79A2B000000000) #7
  store x86_fp80 %560, ptr %48, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #7
  %561 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK4019EB79A2B000000000)
          to label %562 unwind label %589

562:                                              ; preds = %559
  store x86_fp80 %561, ptr %49, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #7
  %563 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %564 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %565 = fsub x86_fp80 %563, %564
  %566 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %565)
          to label %567 unwind label %593

567:                                              ; preds = %562
  %568 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %569 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %568)
          to label %570 unwind label %593

570:                                              ; preds = %567
  %571 = fadd x86_fp80 0xK3FFF8000000000000000, %569
  %572 = fdiv x86_fp80 %566, %571
  store x86_fp80 %572, ptr %50, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #7
  store i8 0, ptr %51, align 1, !tbaa !11
  %573 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %574 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %573)
          to label %575 unwind label %597

575:                                              ; preds = %570
  br i1 %574, label %576, label %601

576:                                              ; preds = %575
  %577 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %578 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %577)
          to label %579 unwind label %597

579:                                              ; preds = %576
  br i1 %578, label %580, label %601

580:                                              ; preds = %579
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %630

581:                                              ; preds = %552, %538, %511
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  br label %582

582:                                              ; preds = %581, %507
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  br label %583

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

584:                                              ; preds = %583, %499
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  br label %1368

585:                                              ; preds = %556
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %4, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  br label %670

589:                                              ; preds = %559
  %590 = landingpad { ptr, i32 }
          cleanup
  %591 = extractvalue { ptr, i32 } %590, 0
  store ptr %591, ptr %4, align 8
  %592 = extractvalue { ptr, i32 } %590, 1
  store i32 %592, ptr %5, align 4
  br label %669

593:                                              ; preds = %567, %562
  %594 = landingpad { ptr, i32 }
          cleanup
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %4, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %5, align 4
  br label %668

597:                                              ; preds = %633, %618, %605, %601, %576, %570
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %4, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %5, align 4
  br label %667

601:                                              ; preds = %579, %575
  %602 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %603 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %602)
          to label %604 unwind label %597

604:                                              ; preds = %601
  br i1 %603, label %614, label %605

605:                                              ; preds = %604
  %606 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %607 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %606)
          to label %608 unwind label %597

608:                                              ; preds = %605
  br i1 %607, label %609, label %614

609:                                              ; preds = %608
  %610 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %611 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %612 = fcmp oeq x86_fp80 %610, %611
  br i1 %612, label %613, label %614

613:                                              ; preds = %609
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %629

614:                                              ; preds = %609, %608, %604
  %615 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %616 = fcmp olt x86_fp80 %615, 0xK3FD0B424DC35095CD800
  br i1 %616, label %617, label %618

617:                                              ; preds = %614
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %628

618:                                              ; preds = %614
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %619 unwind label %597

619:                                              ; preds = %618
  %620 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %621 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %622 = load x86_fp80, ptr %49, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %52, i32 noundef %620, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %621, x86_fp80 noundef %622, x86_fp80 noundef 0xK4019EB79A2B000000000)
          to label %623 unwind label %624

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

624:                                              ; preds = %619
  %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) %52) #7
  br label %667

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

629:                                              ; preds = %628, %613
  br label %630

630:                                              ; preds = %629, %580
  %631 = load i8, ptr %51, align 1, !tbaa !11, !range !13, !noundef !14
  %632 = trunc i8 %631 to i1
  br i1 %632, label %633, label %642

633:                                              ; preds = %630
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %634 unwind label %597

634:                                              ; preds = %633
  %635 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %636 = load x86_fp80, ptr %50, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %53, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %635, x86_fp80 noundef %636, x86_fp80 noundef 0xK4019EB79A2B000000000)
          to label %637 unwind label %638

637:                                              ; preds = %634
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %642

638:                                              ; preds = %634
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %4, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %667

642:                                              ; preds = %637, %630
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  %643 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %644 = add nsw i32 %643, 1
  store i32 %644, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %645 unwind label %671

645:                                              ; preds = %642
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #7
  %646 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %646, ptr %56, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #7
  %647 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK00000000000000000000)
          to label %648 unwind label %675

648:                                              ; preds = %645
  store x86_fp80 %647, ptr %57, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #7
  %649 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %650 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %651 = fsub x86_fp80 %649, %650
  %652 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %651)
          to label %653 unwind label %679

653:                                              ; preds = %648
  %654 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %655 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %654)
          to label %656 unwind label %679

656:                                              ; preds = %653
  %657 = fadd x86_fp80 0xK3FFF8000000000000000, %655
  %658 = fdiv x86_fp80 %652, %657
  store x86_fp80 %658, ptr %58, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #7
  store i8 0, ptr %59, align 1, !tbaa !11
  %659 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %660 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %659)
          to label %661 unwind label %683

661:                                              ; preds = %656
  br i1 %660, label %662, label %687

662:                                              ; preds = %661
  %663 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %664 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %663)
          to label %665 unwind label %683

665:                                              ; preds = %662
  br i1 %664, label %666, label %687

666:                                              ; preds = %665
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %716

667:                                              ; preds = %638, %624, %597
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  br label %668

668:                                              ; preds = %667, %593
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  br label %669

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

670:                                              ; preds = %669, %585
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  br label %1368

671:                                              ; preds = %642
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %4, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #7
  br label %756

675:                                              ; preds = %645
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %4, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %5, align 4
  br label %755

679:                                              ; preds = %653, %648
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %4, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %5, align 4
  br label %754

683:                                              ; preds = %719, %704, %691, %687, %662, %656
  %684 = landingpad { ptr, i32 }
          cleanup
  %685 = extractvalue { ptr, i32 } %684, 0
  store ptr %685, ptr %4, align 8
  %686 = extractvalue { ptr, i32 } %684, 1
  store i32 %686, ptr %5, align 4
  br label %753

687:                                              ; preds = %665, %661
  %688 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %689 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %688)
          to label %690 unwind label %683

690:                                              ; preds = %687
  br i1 %689, label %700, label %691

691:                                              ; preds = %690
  %692 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %693 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %692)
          to label %694 unwind label %683

694:                                              ; preds = %691
  br i1 %693, label %695, label %700

695:                                              ; preds = %694
  %696 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %697 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %698 = fcmp oeq x86_fp80 %696, %697
  br i1 %698, label %699, label %700

699:                                              ; preds = %695
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %715

700:                                              ; preds = %695, %694, %690
  %701 = load x86_fp80, ptr %58, align 16, !tbaa !9
  %702 = fcmp olt x86_fp80 %701, 0xK3FD0B424DC35095CD800
  br i1 %702, label %703, label %704

703:                                              ; preds = %700
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %714

704:                                              ; preds = %700
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %705 unwind label %683

705:                                              ; preds = %704
  %706 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %707 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %708 = load x86_fp80, ptr %57, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %60, i32 noundef %706, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %707, x86_fp80 noundef %708, x86_fp80 noundef 0xK00000000000000000000)
          to label %709 unwind label %710

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

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

714:                                              ; preds = %709, %703
  br label %715

715:                                              ; preds = %714, %699
  br label %716

716:                                              ; preds = %715, %666
  %717 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %718 = trunc i8 %717 to i1
  br i1 %718, label %719, label %728

719:                                              ; preds = %716
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %720 unwind label %683

720:                                              ; preds = %719
  %721 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %722 = load x86_fp80, ptr %58, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %61, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %721, x86_fp80 noundef %722, x86_fp80 noundef 0xK00000000000000000000)
          to label %723 unwind label %724

723:                                              ; preds = %720
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %728

724:                                              ; preds = %720
  %725 = landingpad { ptr, i32 }
          cleanup
  %726 = extractvalue { ptr, i32 } %725, 0
  store ptr %726, ptr %4, align 8
  %727 = extractvalue { ptr, i32 } %725, 1
  store i32 %727, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %753

728:                                              ; preds = %723, %716
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  %729 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %730 = add nsw i32 %729, 1
  store i32 %730, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %731 unwind label %757

731:                                              ; preds = %728
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #7
  %732 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFF8000000000000000) #7
  store x86_fp80 %732, ptr %64, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #7
  %733 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %734 unwind label %761

734:                                              ; preds = %731
  store x86_fp80 %733, ptr %65, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #7
  %735 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %736 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %737 = fsub x86_fp80 %735, %736
  %738 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %737)
          to label %739 unwind label %765

739:                                              ; preds = %734
  %740 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %741 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %740)
          to label %742 unwind label %765

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

747:                                              ; preds = %742
  br i1 %746, label %748, label %773

748:                                              ; preds = %747
  %749 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %750 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %749)
          to label %751 unwind label %769

751:                                              ; preds = %748
  br i1 %750, label %752, label %773

752:                                              ; preds = %751
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %802

753:                                              ; preds = %724, %710, %683
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  br label %754

754:                                              ; preds = %753, %679
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  br label %755

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

756:                                              ; preds = %755, %671
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  br label %1368

757:                                              ; preds = %728
  %758 = landingpad { ptr, i32 }
          cleanup
  %759 = extractvalue { ptr, i32 } %758, 0
  store ptr %759, ptr %4, align 8
  %760 = extractvalue { ptr, i32 } %758, 1
  store i32 %760, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  br label %842

761:                                              ; preds = %731
  %762 = landingpad { ptr, i32 }
          cleanup
  %763 = extractvalue { ptr, i32 } %762, 0
  store ptr %763, ptr %4, align 8
  %764 = extractvalue { ptr, i32 } %762, 1
  store i32 %764, ptr %5, align 4
  br label %841

765:                                              ; preds = %739, %734
  %766 = landingpad { ptr, i32 }
          cleanup
  %767 = extractvalue { ptr, i32 } %766, 0
  store ptr %767, ptr %4, align 8
  %768 = extractvalue { ptr, i32 } %766, 1
  store i32 %768, ptr %5, align 4
  br label %840

769:                                              ; preds = %805, %790, %777, %773, %748, %742
  %770 = landingpad { ptr, i32 }
          cleanup
  %771 = extractvalue { ptr, i32 } %770, 0
  store ptr %771, ptr %4, align 8
  %772 = extractvalue { ptr, i32 } %770, 1
  store i32 %772, ptr %5, align 4
  br label %839

773:                                              ; preds = %751, %747
  %774 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %775 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %774)
          to label %776 unwind label %769

776:                                              ; preds = %773
  br i1 %775, label %786, label %777

777:                                              ; preds = %776
  %778 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %779 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %778)
          to label %780 unwind label %769

780:                                              ; preds = %777
  br i1 %779, label %781, label %786

781:                                              ; preds = %780
  %782 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %783 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %784 = fcmp oeq x86_fp80 %782, %783
  br i1 %784, label %785, label %786

785:                                              ; preds = %781
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %801

786:                                              ; preds = %781, %780, %776
  %787 = load x86_fp80, ptr %66, align 16, !tbaa !9
  %788 = fcmp olt x86_fp80 %787, 0xK3FD0B424DC35095CD800
  br i1 %788, label %789, label %790

789:                                              ; preds = %786
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %800

790:                                              ; preds = %786
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %791 unwind label %769

791:                                              ; preds = %790
  %792 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %793 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %794 = load x86_fp80, ptr %65, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %68, i32 noundef %792, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %793, x86_fp80 noundef %794, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %795 unwind label %796

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

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

800:                                              ; preds = %795, %789
  br label %801

801:                                              ; preds = %800, %785
  br label %802

802:                                              ; preds = %801, %752
  %803 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %804 = trunc i8 %803 to i1
  br i1 %804, label %805, label %814

805:                                              ; preds = %802
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %806 unwind label %769

806:                                              ; preds = %805
  %807 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %808 = load x86_fp80, ptr %66, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %69, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %807, x86_fp80 noundef %808, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %809 unwind label %810

809:                                              ; preds = %806
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %814

810:                                              ; preds = %806
  %811 = landingpad { ptr, i32 }
          cleanup
  %812 = extractvalue { ptr, i32 } %811, 0
  store ptr %812, ptr %4, align 8
  %813 = extractvalue { ptr, i32 } %811, 1
  store i32 %813, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %839

814:                                              ; preds = %809, %802
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  %815 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %816 = add nsw i32 %815, 1
  store i32 %816, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %817 unwind label %843

817:                                              ; preds = %814
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #7
  %818 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3982833ADA2003DB9A80) #7
  store x86_fp80 %818, ptr %72, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #7
  %819 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3982833ADA2003DB9A80)
          to label %820 unwind label %847

820:                                              ; preds = %817
  store x86_fp80 %819, ptr %73, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #7
  %821 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %822 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %823 = fsub x86_fp80 %821, %822
  %824 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %823)
          to label %825 unwind label %851

825:                                              ; preds = %820
  %826 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %827 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %826)
          to label %828 unwind label %851

828:                                              ; preds = %825
  %829 = fadd x86_fp80 0xK3FFF8000000000000000, %827
  %830 = fdiv x86_fp80 %824, %829
  store x86_fp80 %830, ptr %74, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #7
  store i8 0, ptr %75, align 1, !tbaa !11
  %831 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %832 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %831)
          to label %833 unwind label %855

833:                                              ; preds = %828
  br i1 %832, label %834, label %859

834:                                              ; preds = %833
  %835 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %836 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %835)
          to label %837 unwind label %855

837:                                              ; preds = %834
  br i1 %836, label %838, label %859

838:                                              ; preds = %837
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %888

839:                                              ; preds = %810, %796, %769
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  br label %840

840:                                              ; preds = %839, %765
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  br label %841

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

842:                                              ; preds = %841, %757
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  br label %1368

843:                                              ; preds = %814
  %844 = landingpad { ptr, i32 }
          cleanup
  %845 = extractvalue { ptr, i32 } %844, 0
  store ptr %845, ptr %4, align 8
  %846 = extractvalue { ptr, i32 } %844, 1
  store i32 %846, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #7
  br label %930

847:                                              ; preds = %817
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %4, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %5, align 4
  br label %929

851:                                              ; preds = %825, %820
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %4, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %5, align 4
  br label %928

855:                                              ; preds = %891, %876, %863, %859, %834, %828
  %856 = landingpad { ptr, i32 }
          cleanup
  %857 = extractvalue { ptr, i32 } %856, 0
  store ptr %857, ptr %4, align 8
  %858 = extractvalue { ptr, i32 } %856, 1
  store i32 %858, ptr %5, align 4
  br label %927

859:                                              ; preds = %837, %833
  %860 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %861 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %860)
          to label %862 unwind label %855

862:                                              ; preds = %859
  br i1 %861, label %872, label %863

863:                                              ; preds = %862
  %864 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %865 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %864)
          to label %866 unwind label %855

866:                                              ; preds = %863
  br i1 %865, label %867, label %872

867:                                              ; preds = %866
  %868 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %869 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %870 = fcmp oeq x86_fp80 %868, %869
  br i1 %870, label %871, label %872

871:                                              ; preds = %867
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %887

872:                                              ; preds = %867, %866, %862
  %873 = load x86_fp80, ptr %74, align 16, !tbaa !9
  %874 = fcmp olt x86_fp80 %873, 0xK3FD0B424DC35095CD800
  br i1 %874, label %875, label %876

875:                                              ; preds = %872
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %886

876:                                              ; preds = %872
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %877 unwind label %855

877:                                              ; preds = %876
  %878 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %879 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %880 = load x86_fp80, ptr %73, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %76, i32 noundef %878, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %879, x86_fp80 noundef %880, x86_fp80 noundef 0xK3982833ADA2003DB9A80)
          to label %881 unwind label %882

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

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

886:                                              ; preds = %881, %875
  br label %887

887:                                              ; preds = %886, %871
  br label %888

888:                                              ; preds = %887, %838
  %889 = load i8, ptr %75, align 1, !tbaa !11, !range !13, !noundef !14
  %890 = trunc i8 %889 to i1
  br i1 %890, label %891, label %900

891:                                              ; preds = %888
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %892 unwind label %855

892:                                              ; preds = %891
  %893 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %894 = load x86_fp80, ptr %74, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %77, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %893, x86_fp80 noundef %894, x86_fp80 noundef 0xK3982833ADA2003DB9A80)
          to label %895 unwind label %896

895:                                              ; preds = %892
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %900

896:                                              ; preds = %892
  %897 = landingpad { ptr, i32 }
          cleanup
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %4, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %927

900:                                              ; preds = %895, %888
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  %901 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %902 = add nsw i32 %901, 1
  store i32 %902, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %903 unwind label %931

903:                                              ; preds = %900
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %80) #7
  %904 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() #7
  %905 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef %904) #7
  store x86_fp80 %905, ptr %80, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %81) #7
  %906 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() #7
  %907 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef %906)
          to label %908 unwind label %935

908:                                              ; preds = %903
  store x86_fp80 %907, ptr %81, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %82) #7
  %909 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %910 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %911 = fsub x86_fp80 %909, %910
  %912 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %911)
          to label %913 unwind label %939

913:                                              ; preds = %908
  %914 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %915 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %914)
          to label %916 unwind label %939

916:                                              ; preds = %913
  %917 = fadd x86_fp80 0xK3FFF8000000000000000, %915
  %918 = fdiv x86_fp80 %912, %917
  store x86_fp80 %918, ptr %82, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #7
  store i8 0, ptr %83, align 1, !tbaa !11
  %919 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %920 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %919)
          to label %921 unwind label %943

921:                                              ; preds = %916
  br i1 %920, label %922, label %947

922:                                              ; preds = %921
  %923 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %924 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %923)
          to label %925 unwind label %943

925:                                              ; preds = %922
  br i1 %924, label %926, label %947

926:                                              ; preds = %925
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %977

927:                                              ; preds = %896, %882, %855
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  br label %928

928:                                              ; preds = %927, %851
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  br label %929

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

930:                                              ; preds = %929, %843
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %1368

931:                                              ; preds = %900
  %932 = landingpad { ptr, i32 }
          cleanup
  %933 = extractvalue { ptr, i32 } %932, 0
  store ptr %933, ptr %4, align 8
  %934 = extractvalue { ptr, i32 } %932, 1
  store i32 %934, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  br label %1021

935:                                              ; preds = %903
  %936 = landingpad { ptr, i32 }
          cleanup
  %937 = extractvalue { ptr, i32 } %936, 0
  store ptr %937, ptr %4, align 8
  %938 = extractvalue { ptr, i32 } %936, 1
  store i32 %938, ptr %5, align 4
  br label %1020

939:                                              ; preds = %913, %908
  %940 = landingpad { ptr, i32 }
          cleanup
  %941 = extractvalue { ptr, i32 } %940, 0
  store ptr %941, ptr %4, align 8
  %942 = extractvalue { ptr, i32 } %940, 1
  store i32 %942, ptr %5, align 4
  br label %1019

943:                                              ; preds = %980, %964, %951, %947, %922, %916
  %944 = landingpad { ptr, i32 }
          cleanup
  %945 = extractvalue { ptr, i32 } %944, 0
  store ptr %945, ptr %4, align 8
  %946 = extractvalue { ptr, i32 } %944, 1
  store i32 %946, ptr %5, align 4
  br label %1018

947:                                              ; preds = %925, %921
  %948 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %949 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %948)
          to label %950 unwind label %943

950:                                              ; preds = %947
  br i1 %949, label %960, label %951

951:                                              ; preds = %950
  %952 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %953 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %952)
          to label %954 unwind label %943

954:                                              ; preds = %951
  br i1 %953, label %955, label %960

955:                                              ; preds = %954
  %956 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %957 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %958 = fcmp oeq x86_fp80 %956, %957
  br i1 %958, label %959, label %960

959:                                              ; preds = %955
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %976

960:                                              ; preds = %955, %954, %950
  %961 = load x86_fp80, ptr %82, align 16, !tbaa !9
  %962 = fcmp olt x86_fp80 %961, 0xK3FD0B424DC35095CD800
  br i1 %962, label %963, label %964

963:                                              ; preds = %960
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %975

964:                                              ; preds = %960
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %965 unwind label %943

965:                                              ; preds = %964
  %966 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %967 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %968 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %969 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() #7
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %84, i32 noundef %966, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %967, x86_fp80 noundef %968, x86_fp80 noundef %969)
          to label %970 unwind label %971

970:                                              ; preds = %965
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %975

971:                                              ; preds = %965
  %972 = landingpad { ptr, i32 }
          cleanup
  %973 = extractvalue { ptr, i32 } %972, 0
  store ptr %973, ptr %4, align 8
  %974 = extractvalue { ptr, i32 } %972, 1
  store i32 %974, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %1018

975:                                              ; preds = %970, %963
  br label %976

976:                                              ; preds = %975, %959
  br label %977

977:                                              ; preds = %976, %926
  %978 = load i8, ptr %83, align 1, !tbaa !11, !range !13, !noundef !14
  %979 = trunc i8 %978 to i1
  br i1 %979, label %980, label %990

980:                                              ; preds = %977
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %981 unwind label %943

981:                                              ; preds = %980
  %982 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %983 = load x86_fp80, ptr %82, align 16, !tbaa !9
  %984 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() #7
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %85, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %982, x86_fp80 noundef %983, x86_fp80 noundef %984)
          to label %985 unwind label %986

985:                                              ; preds = %981
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %990

986:                                              ; preds = %981
  %987 = landingpad { ptr, i32 }
          cleanup
  %988 = extractvalue { ptr, i32 } %987, 0
  store ptr %988, ptr %4, align 8
  %989 = extractvalue { ptr, i32 } %987, 1
  store i32 %989, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %1018

990:                                              ; preds = %985, %977
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  %991 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %992 = add nsw i32 %991, 1
  store i32 %992, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %87)
          to label %993 unwind label %1022

993:                                              ; preds = %990
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #7
  %994 = call noundef double @_ZNSt14numeric_limitsIdE3maxEv() #7
  %995 = call noundef double @_ZN4gcem3logIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %994) #7
  store double %995, ptr %88, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #7
  %996 = call noundef double @_ZNSt14numeric_limitsIdE3maxEv() #7
  %997 = call double @log(double noundef %996) #7
  store double %997, ptr %89, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #7
  %998 = load double, ptr %88, align 8, !tbaa !15
  %999 = load double, ptr %89, align 8, !tbaa !15
  %1000 = fsub double %998, %999
  %1001 = invoke noundef double @_ZSt3absd(double noundef %1000)
          to label %1002 unwind label %1026

1002:                                             ; preds = %993
  %1003 = load double, ptr %89, align 8, !tbaa !15
  %1004 = invoke noundef double @_ZSt3absd(double noundef %1003)
          to label %1005 unwind label %1026

1005:                                             ; preds = %1002
  %1006 = fadd double 1.000000e+00, %1004
  %1007 = fdiv double %1001, %1006
  store double %1007, ptr %90, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #7
  store i8 0, ptr %91, align 1, !tbaa !11
  %1008 = load double, ptr %88, align 8, !tbaa !15
  %1009 = fpext double %1008 to x86_fp80
  %1010 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1009)
          to label %1011 unwind label %1030

1011:                                             ; preds = %1005
  br i1 %1010, label %1012, label %1034

1012:                                             ; preds = %1011
  %1013 = load double, ptr %89, align 8, !tbaa !15
  %1014 = fpext double %1013 to x86_fp80
  %1015 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1014)
          to label %1016 unwind label %1030

1016:                                             ; preds = %1012
  br i1 %1015, label %1017, label %1034

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

1018:                                             ; preds = %986, %971, %943
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #7
  br label %1019

1019:                                             ; preds = %1018, %939
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  br label %1020

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

1021:                                             ; preds = %1020, %931
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  br label %1368

1022:                                             ; preds = %990
  %1023 = landingpad { ptr, i32 }
          cleanup
  %1024 = extractvalue { ptr, i32 } %1023, 0
  store ptr %1024, ptr %4, align 8
  %1025 = extractvalue { ptr, i32 } %1023, 1
  store i32 %1025, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  br label %1110

1026:                                             ; preds = %1002, %993
  %1027 = landingpad { ptr, i32 }
          cleanup
  %1028 = extractvalue { ptr, i32 } %1027, 0
  store ptr %1028, ptr %4, align 8
  %1029 = extractvalue { ptr, i32 } %1027, 1
  store i32 %1029, ptr %5, align 4
  br label %1109

1030:                                             ; preds = %1069, %1053, %1039, %1034, %1012, %1005
  %1031 = landingpad { ptr, i32 }
          cleanup
  %1032 = extractvalue { ptr, i32 } %1031, 0
  store ptr %1032, ptr %4, align 8
  %1033 = extractvalue { ptr, i32 } %1031, 1
  store i32 %1033, ptr %5, align 4
  br label %1108

1034:                                             ; preds = %1016, %1011
  %1035 = load double, ptr %88, align 8, !tbaa !15
  %1036 = fpext double %1035 to x86_fp80
  %1037 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1036)
          to label %1038 unwind label %1030

1038:                                             ; preds = %1034
  br i1 %1037, label %1049, label %1039

1039:                                             ; preds = %1038
  %1040 = load double, ptr %88, align 8, !tbaa !15
  %1041 = fpext double %1040 to x86_fp80
  %1042 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1041)
          to label %1043 unwind label %1030

1043:                                             ; preds = %1039
  br i1 %1042, label %1044, label %1049

1044:                                             ; preds = %1043
  %1045 = load double, ptr %88, align 8, !tbaa !15
  %1046 = load double, ptr %89, align 8, !tbaa !15
  %1047 = fcmp oeq double %1045, %1046
  br i1 %1047, label %1048, label %1049

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

1049:                                             ; preds = %1044, %1043, %1038
  %1050 = load double, ptr %90, align 8, !tbaa !15
  %1051 = fcmp olt double %1050, 0x3D06849B86A12B9B
  br i1 %1051, label %1052, label %1053

1052:                                             ; preds = %1049
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1064

1053:                                             ; preds = %1049
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1054 unwind label %1030

1054:                                             ; preds = %1053
  %1055 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1056 = load double, ptr %88, align 8, !tbaa !15
  %1057 = load double, ptr %89, align 8, !tbaa !15
  %1058 = call noundef double @_ZNSt14numeric_limitsIdE3maxEv() #7
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %92, i32 noundef %1055, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %1056, double noundef %1057, double noundef %1058)
          to label %1059 unwind label %1060

1059:                                             ; preds = %1054
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1064

1060:                                             ; preds = %1054
  %1061 = landingpad { ptr, i32 }
          cleanup
  %1062 = extractvalue { ptr, i32 } %1061, 0
  store ptr %1062, ptr %4, align 8
  %1063 = extractvalue { ptr, i32 } %1061, 1
  store i32 %1063, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1108

1064:                                             ; preds = %1059, %1052
  br label %1065

1065:                                             ; preds = %1064, %1048
  br label %1066

1066:                                             ; preds = %1065, %1017
  %1067 = load i8, ptr %91, align 1, !tbaa !11, !range !13, !noundef !14
  %1068 = trunc i8 %1067 to i1
  br i1 %1068, label %1069, label %1079

1069:                                             ; preds = %1066
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1070 unwind label %1030

1070:                                             ; preds = %1069
  %1071 = load double, ptr %88, align 8, !tbaa !15
  %1072 = load double, ptr %90, align 8, !tbaa !15
  %1073 = call noundef double @_ZNSt14numeric_limitsIdE3maxEv() #7
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %93, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %1071, double noundef %1072, double noundef %1073)
          to label %1074 unwind label %1075

1074:                                             ; preds = %1070
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1079

1075:                                             ; preds = %1070
  %1076 = landingpad { ptr, i32 }
          cleanup
  %1077 = extractvalue { ptr, i32 } %1076, 0
  store ptr %1077, ptr %4, align 8
  %1078 = extractvalue { ptr, i32 } %1076, 1
  store i32 %1078, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1108

1079:                                             ; preds = %1074, %1066
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  %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 %94) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %95) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %1082 unwind label %1111

1082:                                             ; preds = %1079
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %96) #7
  %1083 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %1084 = fneg x86_fp80 %1083
  %1085 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef %1084) #7
  store x86_fp80 %1085, ptr %96, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #7
  %1086 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %1087 = fneg x86_fp80 %1086
  %1088 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef %1087)
          to label %1089 unwind label %1115

1089:                                             ; preds = %1082
  store x86_fp80 %1088, ptr %97, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %98) #7
  %1090 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1091 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1092 = fsub x86_fp80 %1090, %1091
  %1093 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1092)
          to label %1094 unwind label %1119

1094:                                             ; preds = %1089
  %1095 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1096 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1095)
          to label %1097 unwind label %1119

1097:                                             ; preds = %1094
  %1098 = fadd x86_fp80 0xK3FFF8000000000000000, %1096
  %1099 = fdiv x86_fp80 %1093, %1098
  store x86_fp80 %1099, ptr %98, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #7
  store i8 0, ptr %99, align 1, !tbaa !11
  %1100 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1101 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1100)
          to label %1102 unwind label %1123

1102:                                             ; preds = %1097
  br i1 %1101, label %1103, label %1127

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

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

1107:                                             ; preds = %1106
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1158

1108:                                             ; preds = %1075, %1060, %1030
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  br label %1109

1109:                                             ; preds = %1108, %1026
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  br label %1110

1110:                                             ; preds = %1109, %1022
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  br label %1368

1111:                                             ; preds = %1079
  %1112 = landingpad { ptr, i32 }
          cleanup
  %1113 = extractvalue { ptr, i32 } %1112, 0
  store ptr %1113, ptr %4, align 8
  %1114 = extractvalue { ptr, i32 } %1112, 1
  store i32 %1114, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #7
  br label %1202

1115:                                             ; preds = %1082
  %1116 = landingpad { ptr, i32 }
          cleanup
  %1117 = extractvalue { ptr, i32 } %1116, 0
  store ptr %1117, ptr %4, align 8
  %1118 = extractvalue { ptr, i32 } %1116, 1
  store i32 %1118, ptr %5, align 4
  br label %1201

1119:                                             ; preds = %1094, %1089
  %1120 = landingpad { ptr, i32 }
          cleanup
  %1121 = extractvalue { ptr, i32 } %1120, 0
  store ptr %1121, ptr %4, align 8
  %1122 = extractvalue { ptr, i32 } %1120, 1
  store i32 %1122, ptr %5, align 4
  br label %1200

1123:                                             ; preds = %1161, %1144, %1131, %1127, %1103, %1097
  %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
  br label %1199

1127:                                             ; preds = %1106, %1102
  %1128 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1129 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1128)
          to label %1130 unwind label %1123

1130:                                             ; preds = %1127
  br i1 %1129, label %1140, label %1131

1131:                                             ; preds = %1130
  %1132 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1133 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1132)
          to label %1134 unwind label %1123

1134:                                             ; preds = %1131
  br i1 %1133, label %1135, label %1140

1135:                                             ; preds = %1134
  %1136 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1137 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1138 = fcmp oeq x86_fp80 %1136, %1137
  br i1 %1138, label %1139, label %1140

1139:                                             ; preds = %1135
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1157

1140:                                             ; preds = %1135, %1134, %1130
  %1141 = load x86_fp80, ptr %98, align 16, !tbaa !9
  %1142 = fcmp olt x86_fp80 %1141, 0xK3FD0B424DC35095CD800
  br i1 %1142, label %1143, label %1144

1143:                                             ; preds = %1140
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1156

1144:                                             ; preds = %1140
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1145 unwind label %1123

1145:                                             ; preds = %1144
  %1146 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1147 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1148 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1149 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %1150 = fneg x86_fp80 %1149
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %100, i32 noundef %1146, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1147, x86_fp80 noundef %1148, x86_fp80 noundef %1150)
          to label %1151 unwind label %1152

1151:                                             ; preds = %1145
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1156

1152:                                             ; preds = %1145
  %1153 = landingpad { ptr, i32 }
          cleanup
  %1154 = extractvalue { ptr, i32 } %1153, 0
  store ptr %1154, ptr %4, align 8
  %1155 = extractvalue { ptr, i32 } %1153, 1
  store i32 %1155, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1199

1156:                                             ; preds = %1151, %1143
  br label %1157

1157:                                             ; preds = %1156, %1139
  br label %1158

1158:                                             ; preds = %1157, %1107
  %1159 = load i8, ptr %99, align 1, !tbaa !11, !range !13, !noundef !14
  %1160 = trunc i8 %1159 to i1
  br i1 %1160, label %1161, label %1172

1161:                                             ; preds = %1158
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1162 unwind label %1123

1162:                                             ; preds = %1161
  %1163 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1164 = load x86_fp80, ptr %98, align 16, !tbaa !9
  %1165 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %1166 = fneg x86_fp80 %1165
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %101, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1163, x86_fp80 noundef %1164, x86_fp80 noundef %1166)
          to label %1167 unwind label %1168

1167:                                             ; preds = %1162
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1172

1168:                                             ; preds = %1162
  %1169 = landingpad { ptr, i32 }
          cleanup
  %1170 = extractvalue { ptr, i32 } %1169, 0
  store ptr %1170, ptr %4, align 8
  %1171 = extractvalue { ptr, i32 } %1169, 1
  store i32 %1171, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1199

1172:                                             ; preds = %1167, %1158
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  %1173 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1174 = add nsw i32 %1173, 1
  store i32 %1174, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %1175 unwind label %1203

1175:                                             ; preds = %1172
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %104) #7
  %1176 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %1177 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef %1176) #7
  store x86_fp80 %1177, ptr %104, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %105) #7
  %1178 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %1179 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef %1178)
          to label %1180 unwind label %1207

1180:                                             ; preds = %1175
  store x86_fp80 %1179, ptr %105, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #7
  %1181 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1182 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1183 = fsub x86_fp80 %1181, %1182
  %1184 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1183)
          to label %1185 unwind label %1211

1185:                                             ; preds = %1180
  %1186 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1187 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1186)
          to label %1188 unwind label %1211

1188:                                             ; preds = %1185
  %1189 = fadd x86_fp80 0xK3FFF8000000000000000, %1187
  %1190 = fdiv x86_fp80 %1184, %1189
  store x86_fp80 %1190, ptr %106, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #7
  store i8 0, ptr %107, align 1, !tbaa !11
  %1191 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1192 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1191)
          to label %1193 unwind label %1215

1193:                                             ; preds = %1188
  br i1 %1192, label %1194, label %1219

1194:                                             ; preds = %1193
  %1195 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1196 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1195)
          to label %1197 unwind label %1215

1197:                                             ; preds = %1194
  br i1 %1196, label %1198, label %1219

1198:                                             ; preds = %1197
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1249

1199:                                             ; preds = %1168, %1152, %1123
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #7
  br label %1200

1200:                                             ; preds = %1199, %1119
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #7
  br label %1201

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

1202:                                             ; preds = %1201, %1111
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  br label %1368

1203:                                             ; preds = %1172
  %1204 = landingpad { ptr, i32 }
          cleanup
  %1205 = extractvalue { ptr, i32 } %1204, 0
  store ptr %1205, ptr %4, align 8
  %1206 = extractvalue { ptr, i32 } %1204, 1
  store i32 %1206, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #7
  br label %1292

1207:                                             ; preds = %1175
  %1208 = landingpad { ptr, i32 }
          cleanup
  %1209 = extractvalue { ptr, i32 } %1208, 0
  store ptr %1209, ptr %4, align 8
  %1210 = extractvalue { ptr, i32 } %1208, 1
  store i32 %1210, ptr %5, align 4
  br label %1291

1211:                                             ; preds = %1185, %1180
  %1212 = landingpad { ptr, i32 }
          cleanup
  %1213 = extractvalue { ptr, i32 } %1212, 0
  store ptr %1213, ptr %4, align 8
  %1214 = extractvalue { ptr, i32 } %1212, 1
  store i32 %1214, ptr %5, align 4
  br label %1290

1215:                                             ; preds = %1252, %1236, %1223, %1219, %1194, %1188
  %1216 = landingpad { ptr, i32 }
          cleanup
  %1217 = extractvalue { ptr, i32 } %1216, 0
  store ptr %1217, ptr %4, align 8
  %1218 = extractvalue { ptr, i32 } %1216, 1
  store i32 %1218, ptr %5, align 4
  br label %1289

1219:                                             ; preds = %1197, %1193
  %1220 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1221 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1220)
          to label %1222 unwind label %1215

1222:                                             ; preds = %1219
  br i1 %1221, label %1232, label %1223

1223:                                             ; preds = %1222
  %1224 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1225 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1224)
          to label %1226 unwind label %1215

1226:                                             ; preds = %1223
  br i1 %1225, label %1227, label %1232

1227:                                             ; preds = %1226
  %1228 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1229 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1230 = fcmp oeq x86_fp80 %1228, %1229
  br i1 %1230, label %1231, label %1232

1231:                                             ; preds = %1227
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1248

1232:                                             ; preds = %1227, %1226, %1222
  %1233 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1234 = fcmp olt x86_fp80 %1233, 0xK3FD0B424DC35095CD800
  br i1 %1234, label %1235, label %1236

1235:                                             ; preds = %1232
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1247

1236:                                             ; preds = %1232
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1237 unwind label %1215

1237:                                             ; preds = %1236
  %1238 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1239 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1240 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1241 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %108, i32 noundef %1238, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1239, x86_fp80 noundef %1240, x86_fp80 noundef %1241)
          to label %1242 unwind label %1243

1242:                                             ; preds = %1237
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1247

1243:                                             ; preds = %1237
  %1244 = landingpad { ptr, i32 }
          cleanup
  %1245 = extractvalue { ptr, i32 } %1244, 0
  store ptr %1245, ptr %4, align 8
  %1246 = extractvalue { ptr, i32 } %1244, 1
  store i32 %1246, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1289

1247:                                             ; preds = %1242, %1235
  br label %1248

1248:                                             ; preds = %1247, %1231
  br label %1249

1249:                                             ; preds = %1248, %1198
  %1250 = load i8, ptr %107, align 1, !tbaa !11, !range !13, !noundef !14
  %1251 = trunc i8 %1250 to i1
  br i1 %1251, label %1252, label %1262

1252:                                             ; preds = %1249
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1253 unwind label %1215

1253:                                             ; preds = %1252
  %1254 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1255 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1256 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %109, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1254, x86_fp80 noundef %1255, x86_fp80 noundef %1256)
          to label %1257 unwind label %1258

1257:                                             ; preds = %1253
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1262

1258:                                             ; preds = %1253
  %1259 = landingpad { ptr, i32 }
          cleanup
  %1260 = extractvalue { ptr, i32 } %1259, 0
  store ptr %1260, ptr %4, align 8
  %1261 = extractvalue { ptr, i32 } %1259, 1
  store i32 %1261, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1289

1262:                                             ; preds = %1257, %1249
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #7
  %1263 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1264 = add nsw i32 %1263, 1
  store i32 %1264, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %1265 unwind label %1293

1265:                                             ; preds = %1262
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %112) #7
  %1266 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() #7
  %1267 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef %1266) #7
  store x86_fp80 %1267, ptr %112, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #7
  %1268 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() #7
  %1269 = invoke noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef %1268)
          to label %1270 unwind label %1297

1270:                                             ; preds = %1265
  store x86_fp80 %1269, ptr %113, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #7
  %1271 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1272 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1273 = fsub x86_fp80 %1271, %1272
  %1274 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1273)
          to label %1275 unwind label %1301

1275:                                             ; preds = %1270
  %1276 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1277 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1276)
          to label %1278 unwind label %1301

1278:                                             ; preds = %1275
  %1279 = fadd x86_fp80 0xK3FFF8000000000000000, %1277
  %1280 = fdiv x86_fp80 %1274, %1279
  store x86_fp80 %1280, ptr %114, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #7
  store i8 0, ptr %115, align 1, !tbaa !11
  %1281 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1282 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1281)
          to label %1283 unwind label %1305

1283:                                             ; preds = %1278
  br i1 %1282, label %1284, label %1309

1284:                                             ; preds = %1283
  %1285 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1286 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1285)
          to label %1287 unwind label %1305

1287:                                             ; preds = %1284
  br i1 %1286, label %1288, label %1309

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

1289:                                             ; preds = %1258, %1243, %1215
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  br label %1290

1290:                                             ; preds = %1289, %1211
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  br label %1291

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

1292:                                             ; preds = %1291, %1203
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #7
  br label %1368

1293:                                             ; preds = %1262
  %1294 = landingpad { ptr, i32 }
          cleanup
  %1295 = extractvalue { ptr, i32 } %1294, 0
  store ptr %1295, ptr %4, align 8
  %1296 = extractvalue { ptr, i32 } %1294, 1
  store i32 %1296, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  br label %1358

1297:                                             ; preds = %1265
  %1298 = landingpad { ptr, i32 }
          cleanup
  %1299 = extractvalue { ptr, i32 } %1298, 0
  store ptr %1299, ptr %4, align 8
  %1300 = extractvalue { ptr, i32 } %1298, 1
  store i32 %1300, ptr %5, align 4
  br label %1357

1301:                                             ; preds = %1275, %1270
  %1302 = landingpad { ptr, i32 }
          cleanup
  %1303 = extractvalue { ptr, i32 } %1302, 0
  store ptr %1303, ptr %4, align 8
  %1304 = extractvalue { ptr, i32 } %1302, 1
  store i32 %1304, ptr %5, align 4
  br label %1356

1305:                                             ; preds = %1342, %1326, %1313, %1309, %1284, %1278
  %1306 = landingpad { ptr, i32 }
          cleanup
  %1307 = extractvalue { ptr, i32 } %1306, 0
  store ptr %1307, ptr %4, align 8
  %1308 = extractvalue { ptr, i32 } %1306, 1
  store i32 %1308, ptr %5, align 4
  br label %1355

1309:                                             ; preds = %1287, %1283
  %1310 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1311 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1310)
          to label %1312 unwind label %1305

1312:                                             ; preds = %1309
  br i1 %1311, label %1322, label %1313

1313:                                             ; preds = %1312
  %1314 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1315 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1314)
          to label %1316 unwind label %1305

1316:                                             ; preds = %1313
  br i1 %1315, label %1317, label %1322

1317:                                             ; preds = %1316
  %1318 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1319 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1320 = fcmp oeq x86_fp80 %1318, %1319
  br i1 %1320, label %1321, label %1322

1321:                                             ; preds = %1317
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1338

1322:                                             ; preds = %1317, %1316, %1312
  %1323 = load x86_fp80, ptr %114, align 16, !tbaa !9
  %1324 = fcmp olt x86_fp80 %1323, 0xK3FD0B424DC35095CD800
  br i1 %1324, label %1325, label %1326

1325:                                             ; preds = %1322
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1337

1326:                                             ; preds = %1322
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1327 unwind label %1305

1327:                                             ; preds = %1326
  %1328 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1329 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1330 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1331 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %116, i32 noundef %1328, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1329, x86_fp80 noundef %1330, x86_fp80 noundef %1331)
          to label %1332 unwind label %1333

1332:                                             ; preds = %1327
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1337

1333:                                             ; preds = %1327
  %1334 = landingpad { ptr, i32 }
          cleanup
  %1335 = extractvalue { ptr, i32 } %1334, 0
  store ptr %1335, ptr %4, align 8
  %1336 = extractvalue { ptr, i32 } %1334, 1
  store i32 %1336, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1355

1337:                                             ; preds = %1332, %1325
  br label %1338

1338:                                             ; preds = %1337, %1321
  br label %1339

1339:                                             ; preds = %1338, %1288
  %1340 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %1341 = trunc i8 %1340 to i1
  br i1 %1341, label %1342, label %1352

1342:                                             ; preds = %1339
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1343 unwind label %1305

1343:                                             ; preds = %1342
  %1344 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1345 = load x86_fp80, ptr %114, align 16, !tbaa !9
  %1346 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %117, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1344, x86_fp80 noundef %1345, x86_fp80 noundef %1346)
          to label %1347 unwind label %1348

1347:                                             ; preds = %1343
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1352

1348:                                             ; preds = %1343
  %1349 = landingpad { ptr, i32 }
          cleanup
  %1350 = extractvalue { ptr, i32 } %1349, 0
  store ptr %1350, ptr %4, align 8
  %1351 = extractvalue { ptr, i32 } %1349, 1
  store i32 %1351, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1355

1352:                                             ; preds = %1347, %1339
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %112) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1353 unwind label %1359

1353:                                             ; preds = %1352
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %118)
          to label %1354 unwind label %1363

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

1355:                                             ; preds = %1348, %1333, %1305
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  br label %1356

1356:                                             ; preds = %1355, %1301
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #7
  br label %1357

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

1358:                                             ; preds = %1357, %1293
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  br label %1368

1359:                                             ; preds = %1352
  %1360 = landingpad { ptr, i32 }
          cleanup
  %1361 = extractvalue { ptr, i32 } %1360, 0
  store ptr %1361, ptr %4, align 8
  %1362 = extractvalue { ptr, i32 } %1360, 1
  store i32 %1362, ptr %5, align 4
  br label %1367

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

1367:                                             ; preds = %1363, %1359
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  br label %1368

1368:                                             ; preds = %1367, %1358, %1292, %1202, %1110, %1021, %930, %842, %756, %670, %584, %498, %412, %326, %240, %154
  %1369 = load ptr, ptr %4, align 8
  %1370 = load i32, ptr %5, align 4
  %1371 = insertvalue { ptr, i32 } poison, ptr %1369, 0
  %1372 = insertvalue { ptr, i32 } %1371, i32 %1370, 1
  resume { ptr, i32 } %1372
}

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef) #3

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.std::__cxx11::basic_string", align 8
  %2 = alloca %"class.std::allocator", align 1
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::allocator", align 1
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator", align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator", align 1
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator", align 1
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator", align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator", align 1
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator", align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %2) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %2)
          to label %61 unwind label %76

61:                                               ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %1)
          to label %62 unwind label %78

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

65:                                               ; preds = %62
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  %66 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFE8000000000000000) #7
  %67 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3FFE8000000000000000)
  %68 = fsub x86_fp80 %66, %67
  %69 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %68)
  %70 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %67)
  %71 = fadd x86_fp80 %70, 0xK3FFF8000000000000000
  %72 = fdiv x86_fp80 %69, %71
  %73 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %66)
  br i1 %73, label %74, label %85

74:                                               ; preds = %65
  %75 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %67)
  br i1 %75, label %97, label %85

76:                                               ; preds = %0
  %77 = landingpad { ptr, i32 }
          cleanup
  br label %80

78:                                               ; preds = %61
  %79 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #7
  br label %80

80:                                               ; preds = %78, %76
  %.pn = phi { ptr, i32 } [ %79, %78 ], [ %77, %76 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #7
  br label %591

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

83:                                               ; preds = %97, %92
  %84 = landingpad { ptr, i32 }
          cleanup
  br label %114

85:                                               ; preds = %74, %65
  %86 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %66)
  br i1 %86, label %91, label %87

87:                                               ; preds = %85
  %88 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %66)
  %89 = fcmp oeq x86_fp80 %66, %67
  %or.cond = and i1 %89, %88
  %90 = fcmp olt x86_fp80 %72, 0xK3FD0B424DC35095CD800
  %or.cond377 = or i1 %90, %or.cond
  br i1 %or.cond377, label %97, label %92

91:                                               ; preds = %85
  %.old = fcmp olt x86_fp80 %72, 0xK3FD0B424DC35095CD800
  br i1 %.old, label %97, label %92

92:                                               ; preds = %87, %91
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %93 unwind label %83

93:                                               ; preds = %92
  %94 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %5, i32 noundef %94, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %66, x86_fp80 noundef %67, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %.critedge unwind label %95

95:                                               ; preds = %93
  %96 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %114

97:                                               ; preds = %74, %87, %91
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %98 unwind label %83

98:                                               ; preds = %97
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %6, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %66, x86_fp80 noundef %72, x86_fp80 noundef 0xK3FFE8000000000000000)
          to label %.critedge unwind label %99

99:                                               ; preds = %98
  %100 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %114

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

103:                                              ; preds = %.critedge
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #7
  %104 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FF68301A79FEC9A180D) #7
  %105 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3FF68301A79FEC9A180D)
  %106 = fsub x86_fp80 %104, %105
  %107 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %106)
  %108 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %105)
  %109 = fadd x86_fp80 %108, 0xK3FFF8000000000000000
  %110 = fdiv x86_fp80 %107, %109
  %111 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %104)
  br i1 %111, label %112, label %120

112:                                              ; preds = %103
  %113 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %105)
  br i1 %113, label %132, label %120

114:                                              ; preds = %99, %95, %83
  %.pn293 = phi { ptr, i32 } [ %100, %99 ], [ %84, %83 ], [ %96, %95 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %115

115:                                              ; preds = %114, %81
  %.pn293.pn = phi { ptr, i32 } [ %.pn293, %114 ], [ %82, %81 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %591

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

118:                                              ; preds = %132, %127
  %119 = landingpad { ptr, i32 }
          cleanup
  br label %149

120:                                              ; preds = %112, %103
  %121 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %104)
  br i1 %121, label %126, label %122

122:                                              ; preds = %120
  %123 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %104)
  %124 = fcmp oeq x86_fp80 %104, %105
  %or.cond338 = and i1 %124, %123
  %125 = fcmp olt x86_fp80 %110, 0xK3FD0B424DC35095CD800
  %or.cond379 = or i1 %125, %or.cond338
  br i1 %or.cond379, label %132, label %127

126:                                              ; preds = %120
  %.old378 = fcmp olt x86_fp80 %110, 0xK3FD0B424DC35095CD800
  br i1 %.old378, label %132, label %127

127:                                              ; preds = %122, %126
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %128 unwind label %118

128:                                              ; preds = %127
  %129 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %9, i32 noundef %129, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %104, x86_fp80 noundef %105, x86_fp80 noundef 0xK3FF68301A79FEC9A180D)
          to label %.critedge340 unwind label %130

130:                                              ; preds = %128
  %131 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %149

132:                                              ; preds = %112, %122, %126
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %133 unwind label %118

133:                                              ; preds = %132
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %10, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %104, x86_fp80 noundef %110, x86_fp80 noundef 0xK3FF68301A79FEC9A180D)
          to label %.critedge340 unwind label %134

134:                                              ; preds = %133
  %135 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %149

.critedge340:                                     ; preds = %133, %128
  %.sink404 = phi ptr [ %9, %128 ], [ %10, %133 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink404) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  %136 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %137 = add nsw i32 %136, 1
  store i32 %137, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %138 unwind label %151

138:                                              ; preds = %.critedge340
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  %139 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFF8000000000000000) #7
  %140 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3FFF8000000000000000)
  %141 = fsub x86_fp80 %139, %140
  %142 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %141)
  %143 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %140)
  %144 = fadd x86_fp80 %143, 0xK3FFF8000000000000000
  %145 = fdiv x86_fp80 %142, %144
  %146 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %139)
  br i1 %146, label %147, label %155

147:                                              ; preds = %138
  %148 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %140)
  br i1 %148, label %167, label %155

149:                                              ; preds = %134, %130, %118
  %.pn296 = phi { ptr, i32 } [ %135, %134 ], [ %119, %118 ], [ %131, %130 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %150

150:                                              ; preds = %149, %116
  %.pn296.pn = phi { ptr, i32 } [ %.pn296, %149 ], [ %117, %116 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %591

151:                                              ; preds = %.critedge340
  %152 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  br label %185

153:                                              ; preds = %167, %162
  %154 = landingpad { ptr, i32 }
          cleanup
  br label %184

155:                                              ; preds = %147, %138
  %156 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %139)
  br i1 %156, label %161, label %157

157:                                              ; preds = %155
  %158 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %139)
  %159 = fcmp oeq x86_fp80 %139, %140
  %or.cond341 = and i1 %159, %158
  %160 = fcmp olt x86_fp80 %145, 0xK3FD0B424DC35095CD800
  %or.cond381 = or i1 %160, %or.cond341
  br i1 %or.cond381, label %167, label %162

161:                                              ; preds = %155
  %.old380 = fcmp olt x86_fp80 %145, 0xK3FD0B424DC35095CD800
  br i1 %.old380, label %167, label %162

162:                                              ; preds = %157, %161
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %163 unwind label %153

163:                                              ; preds = %162
  %164 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %13, i32 noundef %164, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %139, x86_fp80 noundef %140, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge343 unwind label %165

165:                                              ; preds = %163
  %166 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %184

167:                                              ; preds = %147, %157, %161
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %168 unwind label %153

168:                                              ; preds = %167
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %14, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %139, x86_fp80 noundef %145, x86_fp80 noundef 0xK3FFF8000000000000000)
          to label %.critedge343 unwind label %169

169:                                              ; preds = %168
  %170 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %184

.critedge343:                                     ; preds = %168, %163
  %.sink405 = phi ptr [ %13, %163 ], [ %14, %168 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink405) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  %171 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %172 = add nsw i32 %171, 1
  store i32 %172, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %173 unwind label %186

173:                                              ; preds = %.critedge343
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  %174 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFC000000000000000) #7
  %175 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3FFFC000000000000000)
  %176 = fsub x86_fp80 %174, %175
  %177 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %176)
  %178 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %175)
  %179 = fadd x86_fp80 %178, 0xK3FFF8000000000000000
  %180 = fdiv x86_fp80 %177, %179
  %181 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %174)
  br i1 %181, label %182, label %190

182:                                              ; preds = %173
  %183 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %175)
  br i1 %183, label %202, label %190

184:                                              ; preds = %169, %165, %153
  %.pn299 = phi { ptr, i32 } [ %170, %169 ], [ %154, %153 ], [ %166, %165 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %185

185:                                              ; preds = %184, %151
  %.pn299.pn = phi { ptr, i32 } [ %.pn299, %184 ], [ %152, %151 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %591

186:                                              ; preds = %.critedge343
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  br label %220

188:                                              ; preds = %202, %197
  %189 = landingpad { ptr, i32 }
          cleanup
  br label %219

190:                                              ; preds = %182, %173
  %191 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %174)
  br i1 %191, label %196, label %192

192:                                              ; preds = %190
  %193 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %174)
  %194 = fcmp oeq x86_fp80 %174, %175
  %or.cond344 = and i1 %194, %193
  %195 = fcmp olt x86_fp80 %180, 0xK3FD0B424DC35095CD800
  %or.cond383 = or i1 %195, %or.cond344
  br i1 %or.cond383, label %202, label %197

196:                                              ; preds = %190
  %.old382 = fcmp olt x86_fp80 %180, 0xK3FD0B424DC35095CD800
  br i1 %.old382, label %202, label %197

197:                                              ; preds = %192, %196
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %198 unwind label %188

198:                                              ; preds = %197
  %199 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %17, i32 noundef %199, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %174, x86_fp80 noundef %175, x86_fp80 noundef 0xK3FFFC000000000000000)
          to label %.critedge346 unwind label %200

200:                                              ; preds = %198
  %201 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %219

202:                                              ; preds = %182, %192, %196
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %203 unwind label %188

203:                                              ; preds = %202
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %18, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %174, x86_fp80 noundef %180, x86_fp80 noundef 0xK3FFFC000000000000000)
          to label %.critedge346 unwind label %204

204:                                              ; preds = %203
  %205 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %219

.critedge346:                                     ; preds = %203, %198
  %.sink406 = phi ptr [ %17, %198 ], [ %18, %203 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink406) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  %206 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %207 = add nsw i32 %206, 1
  store i32 %207, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %208 unwind label %221

208:                                              ; preds = %.critedge346
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  %209 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4004A600000000000000) #7
  %210 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK4004A600000000000000)
  %211 = fsub x86_fp80 %209, %210
  %212 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %211)
  %213 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %210)
  %214 = fadd x86_fp80 %213, 0xK3FFF8000000000000000
  %215 = fdiv x86_fp80 %212, %214
  %216 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %209)
  br i1 %216, label %217, label %225

217:                                              ; preds = %208
  %218 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %210)
  br i1 %218, label %237, label %225

219:                                              ; preds = %204, %200, %188
  %.pn302 = phi { ptr, i32 } [ %205, %204 ], [ %189, %188 ], [ %201, %200 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %220

220:                                              ; preds = %219, %186
  %.pn302.pn = phi { ptr, i32 } [ %.pn302, %219 ], [ %187, %186 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %591

221:                                              ; preds = %.critedge346
  %222 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  br label %255

223:                                              ; preds = %237, %232
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %254

225:                                              ; preds = %217, %208
  %226 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %209)
  br i1 %226, label %231, label %227

227:                                              ; preds = %225
  %228 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %209)
  %229 = fcmp oeq x86_fp80 %209, %210
  %or.cond347 = and i1 %229, %228
  %230 = fcmp olt x86_fp80 %215, 0xK3FD0B424DC35095CD800
  %or.cond385 = or i1 %230, %or.cond347
  br i1 %or.cond385, label %237, label %232

231:                                              ; preds = %225
  %.old384 = fcmp olt x86_fp80 %215, 0xK3FD0B424DC35095CD800
  br i1 %.old384, label %237, label %232

232:                                              ; preds = %227, %231
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %233 unwind label %223

233:                                              ; preds = %232
  %234 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %21, i32 noundef %234, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %209, x86_fp80 noundef %210, x86_fp80 noundef 0xK4004A600000000000000)
          to label %.critedge349 unwind label %235

235:                                              ; preds = %233
  %236 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %254

237:                                              ; preds = %217, %227, %231
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %238 unwind label %223

238:                                              ; preds = %237
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %22, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %209, x86_fp80 noundef %215, x86_fp80 noundef 0xK4004A600000000000000)
          to label %.critedge349 unwind label %239

239:                                              ; preds = %238
  %240 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %254

.critedge349:                                     ; preds = %238, %233
  %.sink407 = phi ptr [ %21, %233 ], [ %22, %238 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink407) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  %241 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %242 = add nsw i32 %241, 1
  store i32 %242, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %243 unwind label %256

243:                                              ; preds = %.critedge349
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  %244 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4019EB79A2B000000000) #7
  %245 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK4019EB79A2B000000000)
  %246 = fsub x86_fp80 %244, %245
  %247 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %246)
  %248 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %245)
  %249 = fadd x86_fp80 %248, 0xK3FFF8000000000000000
  %250 = fdiv x86_fp80 %247, %249
  %251 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %244)
  br i1 %251, label %252, label %260

252:                                              ; preds = %243
  %253 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %245)
  br i1 %253, label %272, label %260

254:                                              ; preds = %239, %235, %223
  %.pn305 = phi { ptr, i32 } [ %240, %239 ], [ %224, %223 ], [ %236, %235 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %255

255:                                              ; preds = %254, %221
  %.pn305.pn = phi { ptr, i32 } [ %.pn305, %254 ], [ %222, %221 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %591

256:                                              ; preds = %.critedge349
  %257 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  br label %290

258:                                              ; preds = %272, %267
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %289

260:                                              ; preds = %252, %243
  %261 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %244)
  br i1 %261, label %266, label %262

262:                                              ; preds = %260
  %263 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %244)
  %264 = fcmp oeq x86_fp80 %244, %245
  %or.cond350 = and i1 %264, %263
  %265 = fcmp olt x86_fp80 %250, 0xK3FD0B424DC35095CD800
  %or.cond387 = or i1 %265, %or.cond350
  br i1 %or.cond387, label %272, label %267

266:                                              ; preds = %260
  %.old386 = fcmp olt x86_fp80 %250, 0xK3FD0B424DC35095CD800
  br i1 %.old386, label %272, label %267

267:                                              ; preds = %262, %266
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %268 unwind label %258

268:                                              ; preds = %267
  %269 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %25, i32 noundef %269, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %244, x86_fp80 noundef %245, x86_fp80 noundef 0xK4019EB79A2B000000000)
          to label %.critedge352 unwind label %270

270:                                              ; preds = %268
  %271 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %289

272:                                              ; preds = %252, %262, %266
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %273 unwind label %258

273:                                              ; preds = %272
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %26, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %244, x86_fp80 noundef %250, x86_fp80 noundef 0xK4019EB79A2B000000000)
          to label %.critedge352 unwind label %274

274:                                              ; preds = %273
  %275 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %289

.critedge352:                                     ; preds = %273, %268
  %.sink408 = phi ptr [ %25, %268 ], [ %26, %273 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink408) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  %276 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %277 = add nsw i32 %276, 1
  store i32 %277, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %278 unwind label %291

278:                                              ; preds = %.critedge352
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  %279 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK00000000000000000000) #7
  %280 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK00000000000000000000)
  %281 = fsub x86_fp80 %279, %280
  %282 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %281)
  %283 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %280)
  %284 = fadd x86_fp80 %283, 0xK3FFF8000000000000000
  %285 = fdiv x86_fp80 %282, %284
  %286 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %279)
  br i1 %286, label %287, label %295

287:                                              ; preds = %278
  %288 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %280)
  br i1 %288, label %307, label %295

289:                                              ; preds = %274, %270, %258
  %.pn308 = phi { ptr, i32 } [ %275, %274 ], [ %259, %258 ], [ %271, %270 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %290

290:                                              ; preds = %289, %256
  %.pn308.pn = phi { ptr, i32 } [ %.pn308, %289 ], [ %257, %256 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %591

291:                                              ; preds = %.critedge352
  %292 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  br label %325

293:                                              ; preds = %307, %302
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %324

295:                                              ; preds = %287, %278
  %296 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %279)
  br i1 %296, label %301, label %297

297:                                              ; preds = %295
  %298 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %279)
  %299 = fcmp oeq x86_fp80 %279, %280
  %or.cond353 = and i1 %299, %298
  %300 = fcmp olt x86_fp80 %285, 0xK3FD0B424DC35095CD800
  %or.cond389 = or i1 %300, %or.cond353
  br i1 %or.cond389, label %307, label %302

301:                                              ; preds = %295
  %.old388 = fcmp olt x86_fp80 %285, 0xK3FD0B424DC35095CD800
  br i1 %.old388, label %307, label %302

302:                                              ; preds = %297, %301
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %303 unwind label %293

303:                                              ; preds = %302
  %304 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %29, i32 noundef %304, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %279, x86_fp80 noundef %280, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge355 unwind label %305

305:                                              ; preds = %303
  %306 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %324

307:                                              ; preds = %287, %297, %301
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %308 unwind label %293

308:                                              ; preds = %307
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %30, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %279, x86_fp80 noundef %285, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge355 unwind label %309

309:                                              ; preds = %308
  %310 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %324

.critedge355:                                     ; preds = %308, %303
  %.sink409 = phi ptr [ %29, %303 ], [ %30, %308 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink409) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  %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 nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %313 unwind label %326

313:                                              ; preds = %.critedge355
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  %314 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFF8000000000000000) #7
  %315 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xKBFFF8000000000000000)
  %316 = fsub x86_fp80 %314, %315
  %317 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %316)
  %318 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %315)
  %319 = fadd x86_fp80 %318, 0xK3FFF8000000000000000
  %320 = fdiv x86_fp80 %317, %319
  %321 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %314)
  br i1 %321, label %322, label %330

322:                                              ; preds = %313
  %323 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %315)
  br i1 %323, label %342, label %330

324:                                              ; preds = %309, %305, %293
  %.pn311 = phi { ptr, i32 } [ %310, %309 ], [ %294, %293 ], [ %306, %305 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %325

325:                                              ; preds = %324, %291
  %.pn311.pn = phi { ptr, i32 } [ %.pn311, %324 ], [ %292, %291 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %591

326:                                              ; preds = %.critedge355
  %327 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  br label %360

328:                                              ; preds = %342, %337
  %329 = landingpad { ptr, i32 }
          cleanup
  br label %359

330:                                              ; preds = %322, %313
  %331 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %314)
  br i1 %331, label %336, label %332

332:                                              ; preds = %330
  %333 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %314)
  %334 = fcmp oeq x86_fp80 %314, %315
  %or.cond356 = and i1 %334, %333
  %335 = fcmp olt x86_fp80 %320, 0xK3FD0B424DC35095CD800
  %or.cond391 = or i1 %335, %or.cond356
  br i1 %or.cond391, label %342, label %337

336:                                              ; preds = %330
  %.old390 = fcmp olt x86_fp80 %320, 0xK3FD0B424DC35095CD800
  br i1 %.old390, label %342, label %337

337:                                              ; preds = %332, %336
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %338 unwind label %328

338:                                              ; preds = %337
  %339 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %33, i32 noundef %339, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %314, x86_fp80 noundef %315, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %.critedge358 unwind label %340

340:                                              ; preds = %338
  %341 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %359

342:                                              ; preds = %322, %332, %336
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %343 unwind label %328

343:                                              ; preds = %342
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %34, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %314, x86_fp80 noundef %320, x86_fp80 noundef 0xKBFFF8000000000000000)
          to label %.critedge358 unwind label %344

344:                                              ; preds = %343
  %345 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %359

.critedge358:                                     ; preds = %343, %338
  %.sink410 = phi ptr [ %33, %338 ], [ %34, %343 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink410) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  %346 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %347 = add nsw i32 %346, 1
  store i32 %347, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %348 unwind label %361

348:                                              ; preds = %.critedge358
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  %349 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3982833ADA2003DB9A80) #7
  %350 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef 0xK3982833ADA2003DB9A80)
  %351 = fsub x86_fp80 %349, %350
  %352 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %351)
  %353 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %350)
  %354 = fadd x86_fp80 %353, 0xK3FFF8000000000000000
  %355 = fdiv x86_fp80 %352, %354
  %356 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %349)
  br i1 %356, label %357, label %365

357:                                              ; preds = %348
  %358 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %350)
  br i1 %358, label %377, label %365

359:                                              ; preds = %344, %340, %328
  %.pn314 = phi { ptr, i32 } [ %345, %344 ], [ %329, %328 ], [ %341, %340 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %360

360:                                              ; preds = %359, %326
  %.pn314.pn = phi { ptr, i32 } [ %.pn314, %359 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %591

361:                                              ; preds = %.critedge358
  %362 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  br label %397

363:                                              ; preds = %377, %372
  %364 = landingpad { ptr, i32 }
          cleanup
  br label %396

365:                                              ; preds = %357, %348
  %366 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %349)
  br i1 %366, label %371, label %367

367:                                              ; preds = %365
  %368 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %349)
  %369 = fcmp oeq x86_fp80 %349, %350
  %or.cond359 = and i1 %369, %368
  %370 = fcmp olt x86_fp80 %355, 0xK3FD0B424DC35095CD800
  %or.cond393 = or i1 %370, %or.cond359
  br i1 %or.cond393, label %377, label %372

371:                                              ; preds = %365
  %.old392 = fcmp olt x86_fp80 %355, 0xK3FD0B424DC35095CD800
  br i1 %.old392, label %377, label %372

372:                                              ; preds = %367, %371
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %373 unwind label %363

373:                                              ; preds = %372
  %374 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %37, i32 noundef %374, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %349, x86_fp80 noundef %350, x86_fp80 noundef 0xK3982833ADA2003DB9A80)
          to label %.critedge361 unwind label %375

375:                                              ; preds = %373
  %376 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %396

377:                                              ; preds = %357, %367, %371
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %378 unwind label %363

378:                                              ; preds = %377
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %38, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %349, x86_fp80 noundef %355, x86_fp80 noundef 0xK3982833ADA2003DB9A80)
          to label %.critedge361 unwind label %379

379:                                              ; preds = %378
  %380 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %396

.critedge361:                                     ; preds = %378, %373
  %.sink411 = phi ptr [ %37, %373 ], [ %38, %378 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink411) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  %381 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %382 = add nsw i32 %381, 1
  store i32 %382, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %383 unwind label %398

383:                                              ; preds = %.critedge361
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  %384 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() #7
  %385 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef %384) #7
  %386 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() #7
  %387 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef %386)
  %388 = fsub x86_fp80 %385, %387
  %389 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %388)
  %390 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %387)
  %391 = fadd x86_fp80 %390, 0xK3FFF8000000000000000
  %392 = fdiv x86_fp80 %389, %391
  %393 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %385)
  br i1 %393, label %394, label %402

394:                                              ; preds = %383
  %395 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %387)
  br i1 %395, label %415, label %402

396:                                              ; preds = %379, %375, %363
  %.pn317 = phi { ptr, i32 } [ %380, %379 ], [ %364, %363 ], [ %376, %375 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %397

397:                                              ; preds = %396, %361
  %.pn317.pn = phi { ptr, i32 } [ %.pn317, %396 ], [ %362, %361 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %591

398:                                              ; preds = %.critedge361
  %399 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br label %438

400:                                              ; preds = %415, %409
  %401 = landingpad { ptr, i32 }
          cleanup
  br label %437

402:                                              ; preds = %394, %383
  %403 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %385)
  br i1 %403, label %408, label %404

404:                                              ; preds = %402
  %405 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %385)
  %406 = fcmp oeq x86_fp80 %385, %387
  %or.cond362 = and i1 %406, %405
  %407 = fcmp olt x86_fp80 %392, 0xK3FD0B424DC35095CD800
  %or.cond395 = or i1 %407, %or.cond362
  br i1 %or.cond395, label %415, label %409

408:                                              ; preds = %402
  %.old394 = fcmp olt x86_fp80 %392, 0xK3FD0B424DC35095CD800
  br i1 %.old394, label %415, label %409

409:                                              ; preds = %404, %408
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %410 unwind label %400

410:                                              ; preds = %409
  %411 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %412 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() #7
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %41, i32 noundef %411, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %385, x86_fp80 noundef %387, x86_fp80 noundef %412)
          to label %.critedge364 unwind label %413

413:                                              ; preds = %410
  %414 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %437

415:                                              ; preds = %394, %404, %408
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %416 unwind label %400

416:                                              ; preds = %415
  %417 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() #7
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %42, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %385, x86_fp80 noundef %392, x86_fp80 noundef %417)
          to label %.critedge364 unwind label %418

418:                                              ; preds = %416
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %437

.critedge364:                                     ; preds = %416, %410
  %.sink412 = phi ptr [ %41, %410 ], [ %42, %416 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink412) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  %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 %43) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %422 unwind label %439

422:                                              ; preds = %.critedge364
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  %423 = call noundef double @_ZNSt14numeric_limitsIdE3maxEv() #7
  %424 = call noundef double @_ZN4gcem3logIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %423) #7
  %425 = call noundef double @_ZNSt14numeric_limitsIdE3maxEv() #7
  %426 = call double @log(double noundef %425) #7
  %427 = fsub double %424, %426
  %428 = call noundef double @_ZSt3absd(double noundef %427)
  %429 = call noundef double @_ZSt3absd(double noundef %426)
  %430 = fadd double %429, 1.000000e+00
  %431 = fdiv double %428, %430
  %432 = fpext double %424 to x86_fp80
  %433 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %432)
  br i1 %433, label %434, label %443

434:                                              ; preds = %422
  %435 = fpext double %426 to x86_fp80
  %436 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %435)
  br i1 %436, label %456, label %443

437:                                              ; preds = %418, %413, %400
  %.pn320 = phi { ptr, i32 } [ %419, %418 ], [ %401, %400 ], [ %414, %413 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %438

438:                                              ; preds = %437, %398
  %.pn320.pn = phi { ptr, i32 } [ %.pn320, %437 ], [ %399, %398 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  br label %591

439:                                              ; preds = %.critedge364
  %440 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  br label %479

441:                                              ; preds = %456, %450
  %442 = landingpad { ptr, i32 }
          cleanup
  br label %478

443:                                              ; preds = %434, %422
  %444 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %432)
  br i1 %444, label %449, label %445

445:                                              ; preds = %443
  %446 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %432)
  %447 = fcmp oeq double %424, %426
  %or.cond365 = and i1 %447, %446
  %448 = fcmp olt double %431, 0x3D06849B86A12B9B
  %or.cond397 = or i1 %448, %or.cond365
  br i1 %or.cond397, label %456, label %450

449:                                              ; preds = %443
  %.old396 = fcmp olt double %431, 0x3D06849B86A12B9B
  br i1 %.old396, label %456, label %450

450:                                              ; preds = %445, %449
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %451 unwind label %441

451:                                              ; preds = %450
  %452 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %453 = call noundef double @_ZNSt14numeric_limitsIdE3maxEv() #7
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %45, i32 noundef %452, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %424, double noundef %426, double noundef %453)
          to label %.critedge367 unwind label %454

454:                                              ; preds = %451
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %478

456:                                              ; preds = %434, %445, %449
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %457 unwind label %441

457:                                              ; preds = %456
  %458 = call noundef double @_ZNSt14numeric_limitsIdE3maxEv() #7
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %46, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %424, double noundef %431, double noundef %458)
          to label %.critedge367 unwind label %459

459:                                              ; preds = %457
  %460 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %478

.critedge367:                                     ; preds = %457, %451
  %.sink413 = phi ptr [ %45, %451 ], [ %46, %457 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink413) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  %461 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %462 = add nsw i32 %461, 1
  store i32 %462, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %463 unwind label %480

463:                                              ; preds = %.critedge367
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  %464 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %465 = fneg x86_fp80 %464
  %466 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef %465) #7
  %467 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %468 = fneg x86_fp80 %467
  %469 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef %468)
  %470 = fsub x86_fp80 %466, %469
  %471 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %470)
  %472 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %469)
  %473 = fadd x86_fp80 %472, 0xK3FFF8000000000000000
  %474 = fdiv x86_fp80 %471, %473
  %475 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %466)
  br i1 %475, label %476, label %484

476:                                              ; preds = %463
  %477 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %469)
  br i1 %477, label %498, label %484

478:                                              ; preds = %459, %454, %441
  %.pn323 = phi { ptr, i32 } [ %460, %459 ], [ %442, %441 ], [ %455, %454 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %479

479:                                              ; preds = %478, %439
  %.pn323.pn = phi { ptr, i32 } [ %.pn323, %478 ], [ %440, %439 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %591

480:                                              ; preds = %.critedge367
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  br label %520

482:                                              ; preds = %498, %491
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %519

484:                                              ; preds = %476, %463
  %485 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %466)
  br i1 %485, label %490, label %486

486:                                              ; preds = %484
  %487 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %466)
  %488 = fcmp oeq x86_fp80 %466, %469
  %or.cond368 = and i1 %488, %487
  %489 = fcmp olt x86_fp80 %474, 0xK3FD0B424DC35095CD800
  %or.cond399 = or i1 %489, %or.cond368
  br i1 %or.cond399, label %498, label %491

490:                                              ; preds = %484
  %.old398 = fcmp olt x86_fp80 %474, 0xK3FD0B424DC35095CD800
  br i1 %.old398, label %498, label %491

491:                                              ; preds = %486, %490
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %492 unwind label %482

492:                                              ; preds = %491
  %493 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %494 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %495 = fneg x86_fp80 %494
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %49, i32 noundef %493, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %466, x86_fp80 noundef %469, x86_fp80 noundef %495)
          to label %.critedge370 unwind label %496

496:                                              ; preds = %492
  %497 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %519

498:                                              ; preds = %476, %486, %490
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %499 unwind label %482

499:                                              ; preds = %498
  %500 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %501 = fneg x86_fp80 %500
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %50, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %466, x86_fp80 noundef %474, x86_fp80 noundef %501)
          to label %.critedge370 unwind label %502

502:                                              ; preds = %499
  %503 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %519

.critedge370:                                     ; preds = %499, %492
  %.sink414 = phi ptr [ %49, %492 ], [ %50, %499 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink414) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  %504 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %505 = add nsw i32 %504, 1
  store i32 %505, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %506 unwind label %521

506:                                              ; preds = %.critedge370
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  %507 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %508 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef %507) #7
  %509 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  %510 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef %509)
  %511 = fsub x86_fp80 %508, %510
  %512 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %511)
  %513 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %510)
  %514 = fadd x86_fp80 %513, 0xK3FFF8000000000000000
  %515 = fdiv x86_fp80 %512, %514
  %516 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %508)
  br i1 %516, label %517, label %525

517:                                              ; preds = %506
  %518 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %510)
  br i1 %518, label %538, label %525

519:                                              ; preds = %502, %496, %482
  %.pn326 = phi { ptr, i32 } [ %503, %502 ], [ %483, %482 ], [ %497, %496 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %520

520:                                              ; preds = %519, %480
  %.pn326.pn = phi { ptr, i32 } [ %.pn326, %519 ], [ %481, %480 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  br label %591

521:                                              ; preds = %.critedge370
  %522 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  br label %559

523:                                              ; preds = %538, %532
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %558

525:                                              ; preds = %517, %506
  %526 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %508)
  br i1 %526, label %531, label %527

527:                                              ; preds = %525
  %528 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %508)
  %529 = fcmp oeq x86_fp80 %508, %510
  %or.cond371 = and i1 %529, %528
  %530 = fcmp olt x86_fp80 %515, 0xK3FD0B424DC35095CD800
  %or.cond401 = or i1 %530, %or.cond371
  br i1 %or.cond401, label %538, label %532

531:                                              ; preds = %525
  %.old400 = fcmp olt x86_fp80 %515, 0xK3FD0B424DC35095CD800
  br i1 %.old400, label %538, label %532

532:                                              ; preds = %527, %531
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %533 unwind label %523

533:                                              ; preds = %532
  %534 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %535 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %53, i32 noundef %534, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %508, x86_fp80 noundef %510, x86_fp80 noundef %535)
          to label %.critedge373 unwind label %536

536:                                              ; preds = %533
  %537 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %558

538:                                              ; preds = %517, %527, %531
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %539 unwind label %523

539:                                              ; preds = %538
  %540 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() #7
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %54, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %508, x86_fp80 noundef %515, x86_fp80 noundef %540)
          to label %.critedge373 unwind label %541

541:                                              ; preds = %539
  %542 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  br label %558

.critedge373:                                     ; preds = %539, %533
  %.sink415 = phi ptr [ %53, %533 ], [ %54, %539 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink415) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  %543 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %544 = add nsw i32 %543, 1
  store i32 %544, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %545 unwind label %560

545:                                              ; preds = %.critedge373
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  %546 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() #7
  %547 = call noundef x86_fp80 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef %546) #7
  %548 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() #7
  %549 = call noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef %548)
  %550 = fsub x86_fp80 %547, %549
  %551 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %550)
  %552 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %549)
  %553 = fadd x86_fp80 %552, 0xK3FFF8000000000000000
  %554 = fdiv x86_fp80 %551, %553
  %555 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %547)
  br i1 %555, label %556, label %564

556:                                              ; preds = %545
  %557 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %549)
  br i1 %557, label %577, label %564

558:                                              ; preds = %541, %536, %523
  %.pn329 = phi { ptr, i32 } [ %542, %541 ], [ %524, %523 ], [ %537, %536 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %559

559:                                              ; preds = %558, %521
  %.pn329.pn = phi { ptr, i32 } [ %.pn329, %558 ], [ %522, %521 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  br label %591

560:                                              ; preds = %.critedge373
  %561 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  br label %585

562:                                              ; preds = %577, %571
  %563 = landingpad { ptr, i32 }
          cleanup
  br label %584

564:                                              ; preds = %556, %545
  %565 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %547)
  br i1 %565, label %570, label %566

566:                                              ; preds = %564
  %567 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %547)
  %568 = fcmp oeq x86_fp80 %547, %549
  %or.cond374 = and i1 %568, %567
  %569 = fcmp olt x86_fp80 %554, 0xK3FD0B424DC35095CD800
  %or.cond403 = or i1 %569, %or.cond374
  br i1 %or.cond403, label %577, label %571

570:                                              ; preds = %564
  %.old402 = fcmp olt x86_fp80 %554, 0xK3FD0B424DC35095CD800
  br i1 %.old402, label %577, label %571

571:                                              ; preds = %566, %570
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %572 unwind label %562

572:                                              ; preds = %571
  %573 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %574 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %57, i32 noundef %573, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %547, x86_fp80 noundef %549, x86_fp80 noundef %574)
          to label %.critedge376 unwind label %575

575:                                              ; preds = %572
  %576 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %584

577:                                              ; preds = %556, %566, %570
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %578 unwind label %562

578:                                              ; preds = %577
  %579 = call noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %58, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %547, x86_fp80 noundef %554, x86_fp80 noundef %579)
          to label %.critedge376 unwind label %580

580:                                              ; preds = %578
  %581 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %584

.critedge376:                                     ; preds = %578, %572
  %.sink416 = phi ptr [ %57, %572 ], [ %58, %578 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink416) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %582 unwind label %586

582:                                              ; preds = %.critedge376
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %59)
          to label %583 unwind label %588

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

584:                                              ; preds = %580, %575, %562
  %.pn332 = phi { ptr, i32 } [ %581, %580 ], [ %563, %562 ], [ %576, %575 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %585

585:                                              ; preds = %584, %560
  %.pn332.pn = phi { ptr, i32 } [ %.pn332, %584 ], [ %561, %560 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %591

586:                                              ; preds = %.critedge376
  %587 = landingpad { ptr, i32 }
          cleanup
  br label %590

588:                                              ; preds = %582
  %589 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %590

590:                                              ; preds = %588, %586
  %.pn335 = phi { ptr, i32 } [ %589, %588 ], [ %587, %586 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #7
  br label %591

591:                                              ; preds = %590, %585, %559, %520, %479, %438, %397, %360, %325, %290, %255, %220, %185, %150, %115, %80
  %.pn335.pn = phi { ptr, i32 } [ %.pn335, %590 ], [ %.pn332.pn, %585 ], [ %.pn329.pn, %559 ], [ %.pn326.pn, %520 ], [ %.pn323.pn, %479 ], [ %.pn320.pn, %438 ], [ %.pn317.pn, %397 ], [ %.pn314.pn, %360 ], [ %.pn311.pn, %325 ], [ %.pn308.pn, %290 ], [ %.pn305.pn, %255 ], [ %.pn302.pn, %220 ], [ %.pn299.pn, %185 ], [ %.pn296.pn, %150 ], [ %.pn293.pn, %115 ], [ %.pn, %80 ]
  resume { ptr, i32 } %.pn335.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 @_ZN4gcem3logIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3loge(x86_fp80 noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef, i32 noundef, i32 noundef, i32 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZNSt14numeric_limitsIeE3minEv() local_unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @log(double noundef) local_unnamed_addr #6

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZNSt14numeric_limitsIeE8infinityEv() local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZNSt14numeric_limitsIeE9quiet_NaNEv() local_unnamed_addr #3 align 2

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,ReassociatePass,SROAPass,SimplifyCFGPass