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

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

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

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

169:                                              ; preds = %168
  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
  %170 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %171 = add nsw i32 %170, 1
  store i32 %171, 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 %172 unwind label %203

172:                                              ; preds = %169
  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
  %173 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK00000000000000000000) #7
  store x86_fp80 %173, ptr %8, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #7
  %174 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK00000000000000000000)
          to label %175 unwind label %207

175:                                              ; preds = %172
  store x86_fp80 %174, ptr %9, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #7
  %176 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %177 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %178 = fsub x86_fp80 %176, %177
  %179 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %178)
          to label %180 unwind label %211

180:                                              ; preds = %175
  %181 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %182 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %181)
          to label %183 unwind label %211

183:                                              ; preds = %180
  %184 = fadd x86_fp80 0xK3FFF8000000000000000, %182
  %185 = fdiv x86_fp80 %179, %184
  store x86_fp80 %185, 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
  %186 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %187 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %186)
          to label %188 unwind label %215

188:                                              ; preds = %183
  br i1 %187, label %189, label %219

189:                                              ; preds = %188
  %190 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %191 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %190)
          to label %192 unwind label %215

192:                                              ; preds = %189
  br i1 %191, label %193, label %219

193:                                              ; preds = %192
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %248

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

198:                                              ; preds = %168
  %199 = landingpad { ptr, i32 }
          cleanup
  %200 = extractvalue { ptr, i32 } %199, 0
  store ptr %200, ptr %4, align 8
  %201 = extractvalue { ptr, i32 } %199, 1
  store i32 %201, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  br label %202

202:                                              ; preds = %198, %194
  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 %1912

203:                                              ; preds = %169
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %4, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, 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 %288

207:                                              ; preds = %172
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %4, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %5, align 4
  br label %287

211:                                              ; preds = %180, %175
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %4, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %5, align 4
  br label %286

215:                                              ; preds = %251, %236, %223, %219, %189, %183
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %4, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %5, align 4
  br label %285

219:                                              ; preds = %192, %188
  %220 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %221 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %220)
          to label %222 unwind label %215

222:                                              ; preds = %219
  br i1 %221, label %232, label %223

223:                                              ; preds = %222
  %224 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %225 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %224)
          to label %226 unwind label %215

226:                                              ; preds = %223
  br i1 %225, label %227, label %232

227:                                              ; preds = %226
  %228 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %229 = load x86_fp80, ptr %9, align 16, !tbaa !9
  %230 = fcmp oeq x86_fp80 %228, %229
  br i1 %230, label %231, label %232

231:                                              ; preds = %227
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %247

232:                                              ; preds = %227, %226, %222
  %233 = load x86_fp80, ptr %10, align 16, !tbaa !9
  %234 = fcmp olt x86_fp80 %233, 0xK3FD0B424DC35095CD800
  br i1 %234, label %235, label %236

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

236:                                              ; preds = %232
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %237 unwind label %215

237:                                              ; preds = %236
  %238 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %239 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %240 = load x86_fp80, ptr %9, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %12, i32 noundef %238, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %239, x86_fp80 noundef %240, x86_fp80 noundef 0xK00000000000000000000)
          to label %241 unwind label %242

241:                                              ; preds = %237
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %246

242:                                              ; preds = %237
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %4, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %285

246:                                              ; preds = %241, %235
  br label %247

247:                                              ; preds = %246, %231
  br label %248

248:                                              ; preds = %247, %193
  %249 = load i8, ptr %11, align 1, !tbaa !11, !range !13, !noundef !14
  %250 = trunc i8 %249 to i1
  br i1 %250, label %251, label %260

251:                                              ; preds = %248
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %252 unwind label %215

252:                                              ; preds = %251
  %253 = load x86_fp80, ptr %8, align 16, !tbaa !9
  %254 = 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 %253, x86_fp80 noundef %254, x86_fp80 noundef 0xK00000000000000000000)
          to label %255 unwind label %256

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

256:                                              ; preds = %252
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %4, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %285

260:                                              ; preds = %255, %248
  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
  %261 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %262 = add nsw i32 %261, 1
  store i32 %262, 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 %263 unwind label %289

263:                                              ; preds = %260
  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
  %264 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FF583126E978D4FDF3B) #7
  store x86_fp80 %264, ptr %16, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #7
  %265 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %266 unwind label %293

266:                                              ; preds = %263
  store x86_fp80 %265, ptr %17, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #7
  %267 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %268 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %269 = fsub x86_fp80 %267, %268
  %270 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %269)
          to label %271 unwind label %297

271:                                              ; preds = %266
  %272 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %273 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %272)
          to label %274 unwind label %297

274:                                              ; preds = %271
  %275 = fadd x86_fp80 0xK3FFF8000000000000000, %273
  %276 = fdiv x86_fp80 %270, %275
  store x86_fp80 %276, 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
  %277 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %278 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %277)
          to label %279 unwind label %301

279:                                              ; preds = %274
  br i1 %278, label %280, label %305

280:                                              ; preds = %279
  %281 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %282 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %281)
          to label %283 unwind label %301

283:                                              ; preds = %280
  br i1 %282, label %284, label %305

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

285:                                              ; preds = %256, %242, %215
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  br label %286

286:                                              ; preds = %285, %211
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  br label %287

287:                                              ; preds = %286, %207
  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 %288

288:                                              ; preds = %287, %203
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  br label %1912

289:                                              ; preds = %260
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %4, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, 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 %374

293:                                              ; preds = %263
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %4, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %5, align 4
  br label %373

297:                                              ; preds = %271, %266
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %4, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %5, align 4
  br label %372

301:                                              ; preds = %337, %322, %309, %305, %280, %274
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %4, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %5, align 4
  br label %371

305:                                              ; preds = %283, %279
  %306 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %307 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %306)
          to label %308 unwind label %301

308:                                              ; preds = %305
  br i1 %307, label %318, label %309

309:                                              ; preds = %308
  %310 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %311 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %310)
          to label %312 unwind label %301

312:                                              ; preds = %309
  br i1 %311, label %313, label %318

313:                                              ; preds = %312
  %314 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %315 = load x86_fp80, ptr %17, align 16, !tbaa !9
  %316 = fcmp oeq x86_fp80 %314, %315
  br i1 %316, label %317, label %318

317:                                              ; preds = %313
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %333

318:                                              ; preds = %313, %312, %308
  %319 = load x86_fp80, ptr %18, align 16, !tbaa !9
  %320 = fcmp olt x86_fp80 %319, 0xK3FD0B424DC35095CD800
  br i1 %320, label %321, label %322

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

322:                                              ; preds = %318
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %323 unwind label %301

323:                                              ; preds = %322
  %324 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %325 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %326 = load x86_fp80, ptr %17, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %20, i32 noundef %324, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %325, x86_fp80 noundef %326, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %327 unwind label %328

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

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

332:                                              ; preds = %327, %321
  br label %333

333:                                              ; preds = %332, %317
  br label %334

334:                                              ; preds = %333, %284
  %335 = load i8, ptr %19, align 1, !tbaa !11, !range !13, !noundef !14
  %336 = trunc i8 %335 to i1
  br i1 %336, label %337, label %346

337:                                              ; preds = %334
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %338 unwind label %301

338:                                              ; preds = %337
  %339 = load x86_fp80, ptr %16, align 16, !tbaa !9
  %340 = 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 %339, x86_fp80 noundef %340, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %341 unwind label %342

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

342:                                              ; preds = %338
  %343 = landingpad { ptr, i32 }
          cleanup
  %344 = extractvalue { ptr, i32 } %343, 0
  store ptr %344, ptr %4, align 8
  %345 = extractvalue { ptr, i32 } %343, 1
  store i32 %345, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %371

346:                                              ; preds = %341, %334
  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
  %347 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %348 = add nsw i32 %347, 1
  store i32 %348, 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 %349 unwind label %375

349:                                              ; preds = %346
  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
  %350 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFDFAE147AE147AE148) #7
  store x86_fp80 %350, ptr %24, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %351 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %352 unwind label %379

352:                                              ; preds = %349
  store x86_fp80 %351, ptr %25, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #7
  %353 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %354 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %355 = fsub x86_fp80 %353, %354
  %356 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %355)
          to label %357 unwind label %383

357:                                              ; preds = %352
  %358 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %359 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %358)
          to label %360 unwind label %383

360:                                              ; preds = %357
  %361 = fadd x86_fp80 0xK3FFF8000000000000000, %359
  %362 = fdiv x86_fp80 %356, %361
  store x86_fp80 %362, 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
  %363 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %364 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %363)
          to label %365 unwind label %387

365:                                              ; preds = %360
  br i1 %364, label %366, label %391

366:                                              ; preds = %365
  %367 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %368 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %367)
          to label %369 unwind label %387

369:                                              ; preds = %366
  br i1 %368, label %370, label %391

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

371:                                              ; preds = %342, %328, %301
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  br label %372

372:                                              ; preds = %371, %297
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  br label %373

373:                                              ; preds = %372, %293
  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 %374

374:                                              ; preds = %373, %289
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %1912

375:                                              ; preds = %346
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %4, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, 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 %460

379:                                              ; preds = %349
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %4, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %5, align 4
  br label %459

383:                                              ; preds = %357, %352
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %4, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %5, align 4
  br label %458

387:                                              ; preds = %423, %408, %395, %391, %366, %360
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %4, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %5, align 4
  br label %457

391:                                              ; preds = %369, %365
  %392 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %393 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %392)
          to label %394 unwind label %387

394:                                              ; preds = %391
  br i1 %393, label %404, label %395

395:                                              ; preds = %394
  %396 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %397 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %396)
          to label %398 unwind label %387

398:                                              ; preds = %395
  br i1 %397, label %399, label %404

399:                                              ; preds = %398
  %400 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %401 = load x86_fp80, ptr %25, align 16, !tbaa !9
  %402 = fcmp oeq x86_fp80 %400, %401
  br i1 %402, label %403, label %404

403:                                              ; preds = %399
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %419

404:                                              ; preds = %399, %398, %394
  %405 = load x86_fp80, ptr %26, align 16, !tbaa !9
  %406 = fcmp olt x86_fp80 %405, 0xK3FD0B424DC35095CD800
  br i1 %406, label %407, label %408

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

408:                                              ; preds = %404
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %409 unwind label %387

409:                                              ; preds = %408
  %410 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %411 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %412 = load x86_fp80, ptr %25, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %28, i32 noundef %410, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %411, x86_fp80 noundef %412, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %413 unwind label %414

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

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

418:                                              ; preds = %413, %407
  br label %419

419:                                              ; preds = %418, %403
  br label %420

420:                                              ; preds = %419, %370
  %421 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %422 = trunc i8 %421 to i1
  br i1 %422, label %423, label %432

423:                                              ; preds = %420
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %424 unwind label %387

424:                                              ; preds = %423
  %425 = load x86_fp80, ptr %24, align 16, !tbaa !9
  %426 = 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 %425, x86_fp80 noundef %426, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %427 unwind label %428

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

428:                                              ; preds = %424
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %4, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %457

432:                                              ; preds = %427, %420
  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
  %433 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %434 = add nsw i32 %433, 1
  store i32 %434, 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 %435 unwind label %461

435:                                              ; preds = %432
  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
  %436 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFE8000000000000000) #7
  store x86_fp80 %436, ptr %32, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #7
  %437 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %438 unwind label %465

438:                                              ; preds = %435
  store x86_fp80 %437, ptr %33, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %439 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %440 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %441 = fsub x86_fp80 %439, %440
  %442 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %441)
          to label %443 unwind label %469

443:                                              ; preds = %438
  %444 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %445 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %444)
          to label %446 unwind label %469

446:                                              ; preds = %443
  %447 = fadd x86_fp80 0xK3FFF8000000000000000, %445
  %448 = fdiv x86_fp80 %442, %447
  store x86_fp80 %448, 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
  %449 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %450 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %449)
          to label %451 unwind label %473

451:                                              ; preds = %446
  br i1 %450, label %452, label %477

452:                                              ; preds = %451
  %453 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %454 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %453)
          to label %455 unwind label %473

455:                                              ; preds = %452
  br i1 %454, label %456, label %477

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

457:                                              ; preds = %428, %414, %387
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  br label %458

458:                                              ; preds = %457, %383
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  br label %459

459:                                              ; preds = %458, %379
  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 %460

460:                                              ; preds = %459, %375
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br label %1912

461:                                              ; preds = %432
  %462 = landingpad { ptr, i32 }
          cleanup
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %4, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, 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 %546

465:                                              ; preds = %435
  %466 = landingpad { ptr, i32 }
          cleanup
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %4, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %5, align 4
  br label %545

469:                                              ; preds = %443, %438
  %470 = landingpad { ptr, i32 }
          cleanup
  %471 = extractvalue { ptr, i32 } %470, 0
  store ptr %471, ptr %4, align 8
  %472 = extractvalue { ptr, i32 } %470, 1
  store i32 %472, ptr %5, align 4
  br label %544

473:                                              ; preds = %509, %494, %481, %477, %452, %446
  %474 = landingpad { ptr, i32 }
          cleanup
  %475 = extractvalue { ptr, i32 } %474, 0
  store ptr %475, ptr %4, align 8
  %476 = extractvalue { ptr, i32 } %474, 1
  store i32 %476, ptr %5, align 4
  br label %543

477:                                              ; preds = %455, %451
  %478 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %479 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %478)
          to label %480 unwind label %473

480:                                              ; preds = %477
  br i1 %479, label %490, label %481

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

484:                                              ; preds = %481
  br i1 %483, label %485, label %490

485:                                              ; preds = %484
  %486 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %487 = load x86_fp80, ptr %33, align 16, !tbaa !9
  %488 = fcmp oeq x86_fp80 %486, %487
  br i1 %488, label %489, label %490

489:                                              ; preds = %485
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %505

490:                                              ; preds = %485, %484, %480
  %491 = load x86_fp80, ptr %34, align 16, !tbaa !9
  %492 = fcmp olt x86_fp80 %491, 0xK3FD0B424DC35095CD800
  br i1 %492, label %493, label %494

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

494:                                              ; preds = %490
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %495 unwind label %473

495:                                              ; preds = %494
  %496 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %497 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %498 = load x86_fp80, ptr %33, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %36, i32 noundef %496, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %497, x86_fp80 noundef %498, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %499 unwind label %500

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

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

504:                                              ; preds = %499, %493
  br label %505

505:                                              ; preds = %504, %489
  br label %506

506:                                              ; preds = %505, %456
  %507 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %508 = trunc i8 %507 to i1
  br i1 %508, label %509, label %518

509:                                              ; preds = %506
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %510 unwind label %473

510:                                              ; preds = %509
  %511 = load x86_fp80, ptr %32, align 16, !tbaa !9
  %512 = 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 %511, x86_fp80 noundef %512, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %513 unwind label %514

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

514:                                              ; preds = %510
  %515 = landingpad { ptr, i32 }
          cleanup
  %516 = extractvalue { ptr, i32 } %515, 0
  store ptr %516, ptr %4, align 8
  %517 = extractvalue { ptr, i32 } %515, 1
  store i32 %517, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %543

518:                                              ; preds = %513, %506
  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
  %519 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %520 = add nsw i32 %519, 1
  store i32 %520, 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 %521 unwind label %547

521:                                              ; preds = %518
  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
  %522 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFFC000000000000000) #7
  store x86_fp80 %522, ptr %40, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #7
  %523 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xKBFFFC000000000000000)
          to label %524 unwind label %551

524:                                              ; preds = %521
  store x86_fp80 %523, ptr %41, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #7
  %525 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %526 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %527 = fsub x86_fp80 %525, %526
  %528 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %527)
          to label %529 unwind label %555

529:                                              ; preds = %524
  %530 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %531 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %530)
          to label %532 unwind label %555

532:                                              ; preds = %529
  %533 = fadd x86_fp80 0xK3FFF8000000000000000, %531
  %534 = fdiv x86_fp80 %528, %533
  store x86_fp80 %534, 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
  %535 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %536 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %535)
          to label %537 unwind label %559

537:                                              ; preds = %532
  br i1 %536, label %538, label %563

538:                                              ; preds = %537
  %539 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %540 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %539)
          to label %541 unwind label %559

541:                                              ; preds = %538
  br i1 %540, label %542, label %563

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

543:                                              ; preds = %514, %500, %473
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  br label %544

544:                                              ; preds = %543, %469
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  br label %545

545:                                              ; preds = %544, %465
  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 %546

546:                                              ; preds = %545, %461
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  br label %1912

547:                                              ; preds = %518
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %4, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, 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 %632

551:                                              ; preds = %521
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %4, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %5, align 4
  br label %631

555:                                              ; preds = %529, %524
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %4, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %5, align 4
  br label %630

559:                                              ; preds = %595, %580, %567, %563, %538, %532
  %560 = landingpad { ptr, i32 }
          cleanup
  %561 = extractvalue { ptr, i32 } %560, 0
  store ptr %561, ptr %4, align 8
  %562 = extractvalue { ptr, i32 } %560, 1
  store i32 %562, ptr %5, align 4
  br label %629

563:                                              ; preds = %541, %537
  %564 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %565 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %564)
          to label %566 unwind label %559

566:                                              ; preds = %563
  br i1 %565, label %576, label %567

567:                                              ; preds = %566
  %568 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %569 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %568)
          to label %570 unwind label %559

570:                                              ; preds = %567
  br i1 %569, label %571, label %576

571:                                              ; preds = %570
  %572 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %573 = load x86_fp80, ptr %41, align 16, !tbaa !9
  %574 = fcmp oeq x86_fp80 %572, %573
  br i1 %574, label %575, label %576

575:                                              ; preds = %571
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %591

576:                                              ; preds = %571, %570, %566
  %577 = load x86_fp80, ptr %42, align 16, !tbaa !9
  %578 = fcmp olt x86_fp80 %577, 0xK3FD0B424DC35095CD800
  br i1 %578, label %579, label %580

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

580:                                              ; preds = %576
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %581 unwind label %559

581:                                              ; preds = %580
  %582 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %583 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %584 = load x86_fp80, ptr %41, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %44, i32 noundef %582, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %583, x86_fp80 noundef %584, x86_fp80 noundef 0xKBFFFC000000000000000)
          to label %585 unwind label %586

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

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

590:                                              ; preds = %585, %579
  br label %591

591:                                              ; preds = %590, %575
  br label %592

592:                                              ; preds = %591, %542
  %593 = load i8, ptr %43, align 1, !tbaa !11, !range !13, !noundef !14
  %594 = trunc i8 %593 to i1
  br i1 %594, label %595, label %604

595:                                              ; preds = %592
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %596 unwind label %559

596:                                              ; preds = %595
  %597 = load x86_fp80, ptr %40, align 16, !tbaa !9
  %598 = 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 %597, x86_fp80 noundef %598, x86_fp80 noundef 0xKBFFFC000000000000000)
          to label %599 unwind label %600

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

600:                                              ; preds = %596
  %601 = landingpad { ptr, i32 }
          cleanup
  %602 = extractvalue { ptr, i32 } %601, 0
  store ptr %602, ptr %4, align 8
  %603 = extractvalue { ptr, i32 } %601, 1
  store i32 %603, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %629

604:                                              ; preds = %599, %592
  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
  %605 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %606 = add nsw i32 %605, 1
  store i32 %606, 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 %607 unwind label %633

607:                                              ; preds = %604
  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
  %608 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFEC1BDCF0307F23CC9) #7
  store x86_fp80 %608, ptr %48, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #7
  %609 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFEC1BDCF0307F23CC9)
          to label %610 unwind label %637

610:                                              ; preds = %607
  store x86_fp80 %609, ptr %49, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #7
  %611 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %612 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %613 = fsub x86_fp80 %611, %612
  %614 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %613)
          to label %615 unwind label %641

615:                                              ; preds = %610
  %616 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %617 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %616)
          to label %618 unwind label %641

618:                                              ; preds = %615
  %619 = fadd x86_fp80 0xK3FFF8000000000000000, %617
  %620 = fdiv x86_fp80 %614, %619
  store x86_fp80 %620, 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
  %621 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %622 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %621)
          to label %623 unwind label %645

623:                                              ; preds = %618
  br i1 %622, label %624, label %649

624:                                              ; preds = %623
  %625 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %626 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %625)
          to label %627 unwind label %645

627:                                              ; preds = %624
  br i1 %626, label %628, label %649

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

629:                                              ; preds = %600, %586, %559
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  br label %630

630:                                              ; preds = %629, %555
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  br label %631

631:                                              ; preds = %630, %551
  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 %632

632:                                              ; preds = %631, %547
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  br label %1912

633:                                              ; preds = %604
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %4, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, 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 %718

637:                                              ; preds = %607
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %4, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %5, align 4
  br label %717

641:                                              ; preds = %615, %610
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %4, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %5, align 4
  br label %716

645:                                              ; preds = %681, %666, %653, %649, %624, %618
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %4, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %5, align 4
  br label %715

649:                                              ; preds = %627, %623
  %650 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %651 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %650)
          to label %652 unwind label %645

652:                                              ; preds = %649
  br i1 %651, label %662, label %653

653:                                              ; preds = %652
  %654 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %655 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %654)
          to label %656 unwind label %645

656:                                              ; preds = %653
  br i1 %655, label %657, label %662

657:                                              ; preds = %656
  %658 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %659 = load x86_fp80, ptr %49, align 16, !tbaa !9
  %660 = fcmp oeq x86_fp80 %658, %659
  br i1 %660, label %661, label %662

661:                                              ; preds = %657
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %677

662:                                              ; preds = %657, %656, %652
  %663 = load x86_fp80, ptr %50, align 16, !tbaa !9
  %664 = fcmp olt x86_fp80 %663, 0xK3FD0B424DC35095CD800
  br i1 %664, label %665, label %666

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

666:                                              ; preds = %662
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %667 unwind label %645

667:                                              ; preds = %666
  %668 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %669 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %670 = load x86_fp80, ptr %49, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %52, i32 noundef %668, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %669, x86_fp80 noundef %670, x86_fp80 noundef 0xK3FFEC1BDCF0307F23CC9)
          to label %671 unwind label %672

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

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

676:                                              ; preds = %671, %665
  br label %677

677:                                              ; preds = %676, %661
  br label %678

678:                                              ; preds = %677, %628
  %679 = load i8, ptr %51, align 1, !tbaa !11, !range !13, !noundef !14
  %680 = trunc i8 %679 to i1
  br i1 %680, label %681, label %690

681:                                              ; preds = %678
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %682 unwind label %645

682:                                              ; preds = %681
  %683 = load x86_fp80, ptr %48, align 16, !tbaa !9
  %684 = 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 %683, x86_fp80 noundef %684, x86_fp80 noundef 0xK3FFEC1BDCF0307F23CC9)
          to label %685 unwind label %686

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

686:                                              ; preds = %682
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %4, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %715

690:                                              ; preds = %685, %678
  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
  %691 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %692 = add nsw i32 %691, 1
  store i32 %692, 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 %693 unwind label %719

693:                                              ; preds = %690
  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
  %694 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFEFD70A3D70A3D70A4) #7
  store x86_fp80 %694, ptr %56, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #7
  %695 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFEFD70A3D70A3D70A4)
          to label %696 unwind label %723

696:                                              ; preds = %693
  store x86_fp80 %695, ptr %57, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #7
  %697 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %698 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %699 = fsub x86_fp80 %697, %698
  %700 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %699)
          to label %701 unwind label %727

701:                                              ; preds = %696
  %702 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %703 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %702)
          to label %704 unwind label %727

704:                                              ; preds = %701
  %705 = fadd x86_fp80 0xK3FFF8000000000000000, %703
  %706 = fdiv x86_fp80 %700, %705
  store x86_fp80 %706, 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
  %707 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %708 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %707)
          to label %709 unwind label %731

709:                                              ; preds = %704
  br i1 %708, label %710, label %735

710:                                              ; preds = %709
  %711 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %712 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %711)
          to label %713 unwind label %731

713:                                              ; preds = %710
  br i1 %712, label %714, label %735

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

715:                                              ; preds = %686, %672, %645
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  br label %716

716:                                              ; preds = %715, %641
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  br label %717

717:                                              ; preds = %716, %637
  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 %718

718:                                              ; preds = %717, %633
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  br label %1912

719:                                              ; preds = %690
  %720 = landingpad { ptr, i32 }
          cleanup
  %721 = extractvalue { ptr, i32 } %720, 0
  store ptr %721, ptr %4, align 8
  %722 = extractvalue { ptr, i32 } %720, 1
  store i32 %722, 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 %804

723:                                              ; preds = %693
  %724 = landingpad { ptr, i32 }
          cleanup
  %725 = extractvalue { ptr, i32 } %724, 0
  store ptr %725, ptr %4, align 8
  %726 = extractvalue { ptr, i32 } %724, 1
  store i32 %726, ptr %5, align 4
  br label %803

727:                                              ; preds = %701, %696
  %728 = landingpad { ptr, i32 }
          cleanup
  %729 = extractvalue { ptr, i32 } %728, 0
  store ptr %729, ptr %4, align 8
  %730 = extractvalue { ptr, i32 } %728, 1
  store i32 %730, ptr %5, align 4
  br label %802

731:                                              ; preds = %767, %752, %739, %735, %710, %704
  %732 = landingpad { ptr, i32 }
          cleanup
  %733 = extractvalue { ptr, i32 } %732, 0
  store ptr %733, ptr %4, align 8
  %734 = extractvalue { ptr, i32 } %732, 1
  store i32 %734, ptr %5, align 4
  br label %801

735:                                              ; preds = %713, %709
  %736 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %737 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %736)
          to label %738 unwind label %731

738:                                              ; preds = %735
  br i1 %737, label %748, label %739

739:                                              ; preds = %738
  %740 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %741 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %740)
          to label %742 unwind label %731

742:                                              ; preds = %739
  br i1 %741, label %743, label %748

743:                                              ; preds = %742
  %744 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %745 = load x86_fp80, ptr %57, align 16, !tbaa !9
  %746 = fcmp oeq x86_fp80 %744, %745
  br i1 %746, label %747, label %748

747:                                              ; preds = %743
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %763

748:                                              ; preds = %743, %742, %738
  %749 = load x86_fp80, ptr %58, align 16, !tbaa !9
  %750 = fcmp olt x86_fp80 %749, 0xK3FD0B424DC35095CD800
  br i1 %750, label %751, label %752

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

752:                                              ; preds = %748
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %753 unwind label %731

753:                                              ; preds = %752
  %754 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %755 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %756 = load x86_fp80, ptr %57, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %60, i32 noundef %754, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %755, x86_fp80 noundef %756, x86_fp80 noundef 0xK3FFEFD70A3D70A3D70A4)
          to label %757 unwind label %758

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

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

762:                                              ; preds = %757, %751
  br label %763

763:                                              ; preds = %762, %747
  br label %764

764:                                              ; preds = %763, %714
  %765 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %766 = trunc i8 %765 to i1
  br i1 %766, label %767, label %776

767:                                              ; preds = %764
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %768 unwind label %731

768:                                              ; preds = %767
  %769 = load x86_fp80, ptr %56, align 16, !tbaa !9
  %770 = 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 %769, x86_fp80 noundef %770, x86_fp80 noundef 0xK3FFEFD70A3D70A3D70A4)
          to label %771 unwind label %772

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

772:                                              ; preds = %768
  %773 = landingpad { ptr, i32 }
          cleanup
  %774 = extractvalue { ptr, i32 } %773, 0
  store ptr %774, ptr %4, align 8
  %775 = extractvalue { ptr, i32 } %773, 1
  store i32 %775, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %801

776:                                              ; preds = %771, %764
  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
  %777 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %778 = add nsw i32 %777, 1
  store i32 %778, 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 %779 unwind label %805

779:                                              ; preds = %776
  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
  %780 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFBEB851EB851EB852) #7
  store x86_fp80 %780, ptr %64, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #7
  %781 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFFBEB851EB851EB852)
          to label %782 unwind label %809

782:                                              ; preds = %779
  store x86_fp80 %781, ptr %65, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #7
  %783 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %784 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %785 = fsub x86_fp80 %783, %784
  %786 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %785)
          to label %787 unwind label %813

787:                                              ; preds = %782
  %788 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %789 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %788)
          to label %790 unwind label %813

790:                                              ; preds = %787
  %791 = fadd x86_fp80 0xK3FFF8000000000000000, %789
  %792 = fdiv x86_fp80 %786, %791
  store x86_fp80 %792, 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
  %793 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %794 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %793)
          to label %795 unwind label %817

795:                                              ; preds = %790
  br i1 %794, label %796, label %821

796:                                              ; preds = %795
  %797 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %798 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %797)
          to label %799 unwind label %817

799:                                              ; preds = %796
  br i1 %798, label %800, label %821

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

801:                                              ; preds = %772, %758, %731
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  br label %802

802:                                              ; preds = %801, %727
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  br label %803

803:                                              ; preds = %802, %723
  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 %804

804:                                              ; preds = %803, %719
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  br label %1912

805:                                              ; preds = %776
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %4, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, 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 %890

809:                                              ; preds = %779
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %4, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %5, align 4
  br label %889

813:                                              ; preds = %787, %782
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %4, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %5, align 4
  br label %888

817:                                              ; preds = %853, %838, %825, %821, %796, %790
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %4, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %5, align 4
  br label %887

821:                                              ; preds = %799, %795
  %822 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %823 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %822)
          to label %824 unwind label %817

824:                                              ; preds = %821
  br i1 %823, label %834, label %825

825:                                              ; preds = %824
  %826 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %827 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %826)
          to label %828 unwind label %817

828:                                              ; preds = %825
  br i1 %827, label %829, label %834

829:                                              ; preds = %828
  %830 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %831 = load x86_fp80, ptr %65, align 16, !tbaa !9
  %832 = fcmp oeq x86_fp80 %830, %831
  br i1 %832, label %833, label %834

833:                                              ; preds = %829
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %849

834:                                              ; preds = %829, %828, %824
  %835 = load x86_fp80, ptr %66, align 16, !tbaa !9
  %836 = fcmp olt x86_fp80 %835, 0xK3FD0B424DC35095CD800
  br i1 %836, label %837, label %838

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

838:                                              ; preds = %834
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %839 unwind label %817

839:                                              ; preds = %838
  %840 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %841 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %842 = load x86_fp80, ptr %65, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %68, i32 noundef %840, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %841, x86_fp80 noundef %842, x86_fp80 noundef 0xK3FFFBEB851EB851EB852)
          to label %843 unwind label %844

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

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

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

849:                                              ; preds = %848, %833
  br label %850

850:                                              ; preds = %849, %800
  %851 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %852 = trunc i8 %851 to i1
  br i1 %852, label %853, label %862

853:                                              ; preds = %850
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %854 unwind label %817

854:                                              ; preds = %853
  %855 = load x86_fp80, ptr %64, align 16, !tbaa !9
  %856 = 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 %855, x86_fp80 noundef %856, x86_fp80 noundef 0xK3FFFBEB851EB851EB852)
          to label %857 unwind label %858

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

858:                                              ; preds = %854
  %859 = landingpad { ptr, i32 }
          cleanup
  %860 = extractvalue { ptr, i32 } %859, 0
  store ptr %860, ptr %4, align 8
  %861 = extractvalue { ptr, i32 } %859, 1
  store i32 %861, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %887

862:                                              ; preds = %857, %850
  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
  %863 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %864 = add nsw i32 %863, 1
  store i32 %864, 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 %865 unwind label %891

865:                                              ; preds = %862
  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
  %866 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFFEB851EB851EB852) #7
  store x86_fp80 %866, ptr %72, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #7
  %867 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFFFEB851EB851EB852)
          to label %868 unwind label %895

868:                                              ; preds = %865
  store x86_fp80 %867, ptr %73, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #7
  %869 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %870 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %871 = fsub x86_fp80 %869, %870
  %872 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %871)
          to label %873 unwind label %899

873:                                              ; preds = %868
  %874 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %875 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %874)
          to label %876 unwind label %899

876:                                              ; preds = %873
  %877 = fadd x86_fp80 0xK3FFF8000000000000000, %875
  %878 = fdiv x86_fp80 %872, %877
  store x86_fp80 %878, 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
  %879 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %880 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %879)
          to label %881 unwind label %903

881:                                              ; preds = %876
  br i1 %880, label %882, label %907

882:                                              ; preds = %881
  %883 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %884 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %883)
          to label %885 unwind label %903

885:                                              ; preds = %882
  br i1 %884, label %886, label %907

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

887:                                              ; preds = %858, %844, %817
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  br label %888

888:                                              ; preds = %887, %813
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  br label %889

889:                                              ; preds = %888, %809
  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 %890

890:                                              ; preds = %889, %805
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  br label %1912

891:                                              ; preds = %862
  %892 = landingpad { ptr, i32 }
          cleanup
  %893 = extractvalue { ptr, i32 } %892, 0
  store ptr %893, ptr %4, align 8
  %894 = extractvalue { ptr, i32 } %892, 1
  store i32 %894, 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 %976

895:                                              ; preds = %865
  %896 = landingpad { ptr, i32 }
          cleanup
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %4, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %5, align 4
  br label %975

899:                                              ; preds = %873, %868
  %900 = landingpad { ptr, i32 }
          cleanup
  %901 = extractvalue { ptr, i32 } %900, 0
  store ptr %901, ptr %4, align 8
  %902 = extractvalue { ptr, i32 } %900, 1
  store i32 %902, ptr %5, align 4
  br label %974

903:                                              ; preds = %939, %924, %911, %907, %882, %876
  %904 = landingpad { ptr, i32 }
          cleanup
  %905 = extractvalue { ptr, i32 } %904, 0
  store ptr %905, ptr %4, align 8
  %906 = extractvalue { ptr, i32 } %904, 1
  store i32 %906, ptr %5, align 4
  br label %973

907:                                              ; preds = %885, %881
  %908 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %909 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %908)
          to label %910 unwind label %903

910:                                              ; preds = %907
  br i1 %909, label %920, label %911

911:                                              ; preds = %910
  %912 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %913 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %912)
          to label %914 unwind label %903

914:                                              ; preds = %911
  br i1 %913, label %915, label %920

915:                                              ; preds = %914
  %916 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %917 = load x86_fp80, ptr %73, align 16, !tbaa !9
  %918 = fcmp oeq x86_fp80 %916, %917
  br i1 %918, label %919, label %920

919:                                              ; preds = %915
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %935

920:                                              ; preds = %915, %914, %910
  %921 = load x86_fp80, ptr %74, align 16, !tbaa !9
  %922 = fcmp olt x86_fp80 %921, 0xK3FD0B424DC35095CD800
  br i1 %922, label %923, label %924

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

924:                                              ; preds = %920
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %925 unwind label %903

925:                                              ; preds = %924
  %926 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %927 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %928 = load x86_fp80, ptr %73, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %76, i32 noundef %926, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %927, x86_fp80 noundef %928, x86_fp80 noundef 0xK3FFFFEB851EB851EB852)
          to label %929 unwind label %930

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

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

934:                                              ; preds = %929, %923
  br label %935

935:                                              ; preds = %934, %919
  br label %936

936:                                              ; preds = %935, %886
  %937 = load i8, ptr %75, align 1, !tbaa !11, !range !13, !noundef !14
  %938 = trunc i8 %937 to i1
  br i1 %938, label %939, label %948

939:                                              ; preds = %936
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %940 unwind label %903

940:                                              ; preds = %939
  %941 = load x86_fp80, ptr %72, align 16, !tbaa !9
  %942 = 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 %941, x86_fp80 noundef %942, x86_fp80 noundef 0xK3FFFFEB851EB851EB852)
          to label %943 unwind label %944

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

944:                                              ; preds = %940
  %945 = landingpad { ptr, i32 }
          cleanup
  %946 = extractvalue { ptr, i32 } %945, 0
  store ptr %946, ptr %4, align 8
  %947 = extractvalue { ptr, i32 } %945, 1
  store i32 %947, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %973

948:                                              ; preds = %943, %936
  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
  %949 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %950 = add nsw i32 %949, 1
  store i32 %950, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %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 %951 unwind label %977

951:                                              ; preds = %948
  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
  %952 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK40009F5C28F5C28F5C29) #7
  store x86_fp80 %952, ptr %80, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %81) #7
  %953 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK40009F5C28F5C28F5C29)
          to label %954 unwind label %981

954:                                              ; preds = %951
  store x86_fp80 %953, ptr %81, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %82) #7
  %955 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %956 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %957 = fsub x86_fp80 %955, %956
  %958 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %957)
          to label %959 unwind label %985

959:                                              ; preds = %954
  %960 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %961 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %960)
          to label %962 unwind label %985

962:                                              ; preds = %959
  %963 = fadd x86_fp80 0xK3FFF8000000000000000, %961
  %964 = fdiv x86_fp80 %958, %963
  store x86_fp80 %964, 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
  %965 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %966 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %965)
          to label %967 unwind label %989

967:                                              ; preds = %962
  br i1 %966, label %968, label %993

968:                                              ; preds = %967
  %969 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %970 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %969)
          to label %971 unwind label %989

971:                                              ; preds = %968
  br i1 %970, label %972, label %993

972:                                              ; preds = %971
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %1022

973:                                              ; preds = %944, %930, %903
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  br label %974

974:                                              ; preds = %973, %899
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  br label %975

975:                                              ; preds = %974, %895
  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 %976

976:                                              ; preds = %975, %891
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %1912

977:                                              ; preds = %948
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %4, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, 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 %1062

981:                                              ; preds = %951
  %982 = landingpad { ptr, i32 }
          cleanup
  %983 = extractvalue { ptr, i32 } %982, 0
  store ptr %983, ptr %4, align 8
  %984 = extractvalue { ptr, i32 } %982, 1
  store i32 %984, ptr %5, align 4
  br label %1061

985:                                              ; preds = %959, %954
  %986 = landingpad { ptr, i32 }
          cleanup
  %987 = extractvalue { ptr, i32 } %986, 0
  store ptr %987, ptr %4, align 8
  %988 = extractvalue { ptr, i32 } %986, 1
  store i32 %988, ptr %5, align 4
  br label %1060

989:                                              ; preds = %1025, %1010, %997, %993, %968, %962
  %990 = landingpad { ptr, i32 }
          cleanup
  %991 = extractvalue { ptr, i32 } %990, 0
  store ptr %991, ptr %4, align 8
  %992 = extractvalue { ptr, i32 } %990, 1
  store i32 %992, ptr %5, align 4
  br label %1059

993:                                              ; preds = %971, %967
  %994 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %995 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %994)
          to label %996 unwind label %989

996:                                              ; preds = %993
  br i1 %995, label %1006, label %997

997:                                              ; preds = %996
  %998 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %999 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %998)
          to label %1000 unwind label %989

1000:                                             ; preds = %997
  br i1 %999, label %1001, label %1006

1001:                                             ; preds = %1000
  %1002 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1003 = load x86_fp80, ptr %81, align 16, !tbaa !9
  %1004 = fcmp oeq x86_fp80 %1002, %1003
  br i1 %1004, label %1005, label %1006

1005:                                             ; preds = %1001
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %1021

1006:                                             ; preds = %1001, %1000, %996
  %1007 = load x86_fp80, ptr %82, align 16, !tbaa !9
  %1008 = fcmp olt x86_fp80 %1007, 0xK3FD0B424DC35095CD800
  br i1 %1008, label %1009, label %1010

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

1010:                                             ; preds = %1006
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %1011 unwind label %989

1011:                                             ; preds = %1010
  %1012 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1013 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1014 = load x86_fp80, ptr %81, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %84, i32 noundef %1012, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1013, x86_fp80 noundef %1014, x86_fp80 noundef 0xK40009F5C28F5C28F5C29)
          to label %1015 unwind label %1016

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

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

1020:                                             ; preds = %1015, %1009
  br label %1021

1021:                                             ; preds = %1020, %1005
  br label %1022

1022:                                             ; preds = %1021, %972
  %1023 = load i8, ptr %83, align 1, !tbaa !11, !range !13, !noundef !14
  %1024 = trunc i8 %1023 to i1
  br i1 %1024, label %1025, label %1034

1025:                                             ; preds = %1022
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %1026 unwind label %989

1026:                                             ; preds = %1025
  %1027 = load x86_fp80, ptr %80, align 16, !tbaa !9
  %1028 = load x86_fp80, ptr %82, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %85, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1027, x86_fp80 noundef %1028, x86_fp80 noundef 0xK40009F5C28F5C28F5C29)
          to label %1029 unwind label %1030

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

1030:                                             ; preds = %1026
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %1059

1034:                                             ; preds = %1029, %1022
  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
  %1035 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1036 = add nsw i32 %1035, 1
  store i32 %1036, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %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 %1037 unwind label %1063

1037:                                             ; preds = %1034
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %88) #7
  %1038 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000A0A3D70A3D70A3D7) #7
  store x86_fp80 %1038, ptr %88, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %89) #7
  %1039 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4000A0A3D70A3D70A3D7)
          to label %1040 unwind label %1067

1040:                                             ; preds = %1037
  store x86_fp80 %1039, ptr %89, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %90) #7
  %1041 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1042 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1043 = fsub x86_fp80 %1041, %1042
  %1044 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1043)
          to label %1045 unwind label %1071

1045:                                             ; preds = %1040
  %1046 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1047 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1046)
          to label %1048 unwind label %1071

1048:                                             ; preds = %1045
  %1049 = fadd x86_fp80 0xK3FFF8000000000000000, %1047
  %1050 = fdiv x86_fp80 %1044, %1049
  store x86_fp80 %1050, ptr %90, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #7
  store i8 0, ptr %91, align 1, !tbaa !11
  %1051 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1052 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1051)
          to label %1053 unwind label %1075

1053:                                             ; preds = %1048
  br i1 %1052, label %1054, label %1079

1054:                                             ; preds = %1053
  %1055 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1056 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1055)
          to label %1057 unwind label %1075

1057:                                             ; preds = %1054
  br i1 %1056, label %1058, label %1079

1058:                                             ; preds = %1057
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1108

1059:                                             ; preds = %1030, %1016, %989
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #7
  br label %1060

1060:                                             ; preds = %1059, %985
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  br label %1061

1061:                                             ; preds = %1060, %981
  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 %1062

1062:                                             ; preds = %1061, %977
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  br label %1912

1063:                                             ; preds = %1034
  %1064 = landingpad { ptr, i32 }
          cleanup
  %1065 = extractvalue { ptr, i32 } %1064, 0
  store ptr %1065, ptr %4, align 8
  %1066 = extractvalue { ptr, i32 } %1064, 1
  store i32 %1066, 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 %1148

1067:                                             ; preds = %1037
  %1068 = landingpad { ptr, i32 }
          cleanup
  %1069 = extractvalue { ptr, i32 } %1068, 0
  store ptr %1069, ptr %4, align 8
  %1070 = extractvalue { ptr, i32 } %1068, 1
  store i32 %1070, ptr %5, align 4
  br label %1147

1071:                                             ; preds = %1045, %1040
  %1072 = landingpad { ptr, i32 }
          cleanup
  %1073 = extractvalue { ptr, i32 } %1072, 0
  store ptr %1073, ptr %4, align 8
  %1074 = extractvalue { ptr, i32 } %1072, 1
  store i32 %1074, ptr %5, align 4
  br label %1146

1075:                                             ; preds = %1111, %1096, %1083, %1079, %1054, %1048
  %1076 = landingpad { ptr, i32 }
          cleanup
  %1077 = extractvalue { ptr, i32 } %1076, 0
  store ptr %1077, ptr %4, align 8
  %1078 = extractvalue { ptr, i32 } %1076, 1
  store i32 %1078, ptr %5, align 4
  br label %1145

1079:                                             ; preds = %1057, %1053
  %1080 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1081 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1080)
          to label %1082 unwind label %1075

1082:                                             ; preds = %1079
  br i1 %1081, label %1092, label %1083

1083:                                             ; preds = %1082
  %1084 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1085 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1084)
          to label %1086 unwind label %1075

1086:                                             ; preds = %1083
  br i1 %1085, label %1087, label %1092

1087:                                             ; preds = %1086
  %1088 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1089 = load x86_fp80, ptr %89, align 16, !tbaa !9
  %1090 = fcmp oeq x86_fp80 %1088, %1089
  br i1 %1090, label %1091, label %1092

1091:                                             ; preds = %1087
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %1107

1092:                                             ; preds = %1087, %1086, %1082
  %1093 = load x86_fp80, ptr %90, align 16, !tbaa !9
  %1094 = fcmp olt x86_fp80 %1093, 0xK3FD0B424DC35095CD800
  br i1 %1094, label %1095, label %1096

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

1096:                                             ; preds = %1092
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1097 unwind label %1075

1097:                                             ; preds = %1096
  %1098 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1099 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1100 = load x86_fp80, ptr %89, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %92, i32 noundef %1098, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1099, x86_fp80 noundef %1100, x86_fp80 noundef 0xK4000A0A3D70A3D70A3D7)
          to label %1101 unwind label %1102

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

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

1106:                                             ; preds = %1101, %1095
  br label %1107

1107:                                             ; preds = %1106, %1091
  br label %1108

1108:                                             ; preds = %1107, %1058
  %1109 = load i8, ptr %91, align 1, !tbaa !11, !range !13, !noundef !14
  %1110 = trunc i8 %1109 to i1
  br i1 %1110, label %1111, label %1120

1111:                                             ; preds = %1108
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1112 unwind label %1075

1112:                                             ; preds = %1111
  %1113 = load x86_fp80, ptr %88, align 16, !tbaa !9
  %1114 = load x86_fp80, ptr %90, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %93, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1113, x86_fp80 noundef %1114, x86_fp80 noundef 0xK4000A0A3D70A3D70A3D7)
          to label %1115 unwind label %1116

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

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

1120:                                             ; preds = %1115, %1108
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  %1121 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1122 = add nsw i32 %1121, 1
  store i32 %1122, 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 %1123 unwind label %1149

1123:                                             ; preds = %1120
  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
  %1124 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000FF5C28F5C28F5C29) #7
  store x86_fp80 %1124, ptr %96, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #7
  %1125 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4000FF5C28F5C28F5C29)
          to label %1126 unwind label %1153

1126:                                             ; preds = %1123
  store x86_fp80 %1125, ptr %97, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %98) #7
  %1127 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1128 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1129 = fsub x86_fp80 %1127, %1128
  %1130 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1129)
          to label %1131 unwind label %1157

1131:                                             ; preds = %1126
  %1132 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1133 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1132)
          to label %1134 unwind label %1157

1134:                                             ; preds = %1131
  %1135 = fadd x86_fp80 0xK3FFF8000000000000000, %1133
  %1136 = fdiv x86_fp80 %1130, %1135
  store x86_fp80 %1136, 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
  %1137 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1138 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1137)
          to label %1139 unwind label %1161

1139:                                             ; preds = %1134
  br i1 %1138, label %1140, label %1165

1140:                                             ; preds = %1139
  %1141 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1142 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1141)
          to label %1143 unwind label %1161

1143:                                             ; preds = %1140
  br i1 %1142, label %1144, label %1165

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

1145:                                             ; preds = %1116, %1102, %1075
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  br label %1146

1146:                                             ; preds = %1145, %1071
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  br label %1147

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

1148:                                             ; preds = %1147, %1063
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  br label %1912

1149:                                             ; preds = %1120
  %1150 = landingpad { ptr, i32 }
          cleanup
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %4, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, 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 %1234

1153:                                             ; preds = %1123
  %1154 = landingpad { ptr, i32 }
          cleanup
  %1155 = extractvalue { ptr, i32 } %1154, 0
  store ptr %1155, ptr %4, align 8
  %1156 = extractvalue { ptr, i32 } %1154, 1
  store i32 %1156, ptr %5, align 4
  br label %1233

1157:                                             ; preds = %1131, %1126
  %1158 = landingpad { ptr, i32 }
          cleanup
  %1159 = extractvalue { ptr, i32 } %1158, 0
  store ptr %1159, ptr %4, align 8
  %1160 = extractvalue { ptr, i32 } %1158, 1
  store i32 %1160, ptr %5, align 4
  br label %1232

1161:                                             ; preds = %1197, %1182, %1169, %1165, %1140, %1134
  %1162 = landingpad { ptr, i32 }
          cleanup
  %1163 = extractvalue { ptr, i32 } %1162, 0
  store ptr %1163, ptr %4, align 8
  %1164 = extractvalue { ptr, i32 } %1162, 1
  store i32 %1164, ptr %5, align 4
  br label %1231

1165:                                             ; preds = %1143, %1139
  %1166 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1167 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1166)
          to label %1168 unwind label %1161

1168:                                             ; preds = %1165
  br i1 %1167, label %1178, label %1169

1169:                                             ; preds = %1168
  %1170 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1171 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1170)
          to label %1172 unwind label %1161

1172:                                             ; preds = %1169
  br i1 %1171, label %1173, label %1178

1173:                                             ; preds = %1172
  %1174 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1175 = load x86_fp80, ptr %97, align 16, !tbaa !9
  %1176 = fcmp oeq x86_fp80 %1174, %1175
  br i1 %1176, label %1177, label %1178

1177:                                             ; preds = %1173
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %1193

1178:                                             ; preds = %1173, %1172, %1168
  %1179 = load x86_fp80, ptr %98, align 16, !tbaa !9
  %1180 = fcmp olt x86_fp80 %1179, 0xK3FD0B424DC35095CD800
  br i1 %1180, label %1181, label %1182

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

1182:                                             ; preds = %1178
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1183 unwind label %1161

1183:                                             ; preds = %1182
  %1184 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1185 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1186 = load x86_fp80, ptr %97, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %100, i32 noundef %1184, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1185, x86_fp80 noundef %1186, x86_fp80 noundef 0xK4000FF5C28F5C28F5C29)
          to label %1187 unwind label %1188

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

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

1192:                                             ; preds = %1187, %1181
  br label %1193

1193:                                             ; preds = %1192, %1177
  br label %1194

1194:                                             ; preds = %1193, %1144
  %1195 = load i8, ptr %99, align 1, !tbaa !11, !range !13, !noundef !14
  %1196 = trunc i8 %1195 to i1
  br i1 %1196, label %1197, label %1206

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

1198:                                             ; preds = %1197
  %1199 = load x86_fp80, ptr %96, align 16, !tbaa !9
  %1200 = load x86_fp80, ptr %98, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %101, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1199, x86_fp80 noundef %1200, x86_fp80 noundef 0xK4000FF5C28F5C28F5C29)
          to label %1201 unwind label %1202

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

1202:                                             ; preds = %1198
  %1203 = landingpad { ptr, i32 }
          cleanup
  %1204 = extractvalue { ptr, i32 } %1203, 0
  store ptr %1204, ptr %4, align 8
  %1205 = extractvalue { ptr, i32 } %1203, 1
  store i32 %1205, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %1231

1206:                                             ; preds = %1201, %1194
  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
  %1207 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1208 = add nsw i32 %1207, 1
  store i32 %1208, 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 %1209 unwind label %1235

1209:                                             ; preds = %1206
  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
  %1210 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4001E000000000000000) #7
  store x86_fp80 %1210, ptr %104, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %105) #7
  %1211 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4001E000000000000000)
          to label %1212 unwind label %1239

1212:                                             ; preds = %1209
  store x86_fp80 %1211, ptr %105, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #7
  %1213 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1214 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1215 = fsub x86_fp80 %1213, %1214
  %1216 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1215)
          to label %1217 unwind label %1243

1217:                                             ; preds = %1212
  %1218 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1219 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1218)
          to label %1220 unwind label %1243

1220:                                             ; preds = %1217
  %1221 = fadd x86_fp80 0xK3FFF8000000000000000, %1219
  %1222 = fdiv x86_fp80 %1216, %1221
  store x86_fp80 %1222, 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
  %1223 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1224 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1223)
          to label %1225 unwind label %1247

1225:                                             ; preds = %1220
  br i1 %1224, label %1226, label %1251

1226:                                             ; preds = %1225
  %1227 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1228 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1227)
          to label %1229 unwind label %1247

1229:                                             ; preds = %1226
  br i1 %1228, label %1230, label %1251

1230:                                             ; preds = %1229
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1280

1231:                                             ; preds = %1202, %1188, %1161
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #7
  br label %1232

1232:                                             ; preds = %1231, %1157
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #7
  br label %1233

1233:                                             ; preds = %1232, %1153
  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 %1234

1234:                                             ; preds = %1233, %1149
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  br label %1912

1235:                                             ; preds = %1206
  %1236 = landingpad { ptr, i32 }
          cleanup
  %1237 = extractvalue { ptr, i32 } %1236, 0
  store ptr %1237, ptr %4, align 8
  %1238 = extractvalue { ptr, i32 } %1236, 1
  store i32 %1238, 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 %1320

1239:                                             ; preds = %1209
  %1240 = landingpad { ptr, i32 }
          cleanup
  %1241 = extractvalue { ptr, i32 } %1240, 0
  store ptr %1241, ptr %4, align 8
  %1242 = extractvalue { ptr, i32 } %1240, 1
  store i32 %1242, ptr %5, align 4
  br label %1319

1243:                                             ; preds = %1217, %1212
  %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
  br label %1318

1247:                                             ; preds = %1283, %1268, %1255, %1251, %1226, %1220
  %1248 = landingpad { ptr, i32 }
          cleanup
  %1249 = extractvalue { ptr, i32 } %1248, 0
  store ptr %1249, ptr %4, align 8
  %1250 = extractvalue { ptr, i32 } %1248, 1
  store i32 %1250, ptr %5, align 4
  br label %1317

1251:                                             ; preds = %1229, %1225
  %1252 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1253 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1252)
          to label %1254 unwind label %1247

1254:                                             ; preds = %1251
  br i1 %1253, label %1264, label %1255

1255:                                             ; preds = %1254
  %1256 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1257 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1256)
          to label %1258 unwind label %1247

1258:                                             ; preds = %1255
  br i1 %1257, label %1259, label %1264

1259:                                             ; preds = %1258
  %1260 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1261 = load x86_fp80, ptr %105, align 16, !tbaa !9
  %1262 = fcmp oeq x86_fp80 %1260, %1261
  br i1 %1262, label %1263, label %1264

1263:                                             ; preds = %1259
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %1279

1264:                                             ; preds = %1259, %1258, %1254
  %1265 = load x86_fp80, ptr %106, align 16, !tbaa !9
  %1266 = fcmp olt x86_fp80 %1265, 0xK3FD0B424DC35095CD800
  br i1 %1266, label %1267, label %1268

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

1268:                                             ; preds = %1264
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1269 unwind label %1247

1269:                                             ; preds = %1268
  %1270 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1271 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1272 = load x86_fp80, ptr %105, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %108, i32 noundef %1270, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1271, x86_fp80 noundef %1272, x86_fp80 noundef 0xK4001E000000000000000)
          to label %1273 unwind label %1274

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

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

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

1279:                                             ; preds = %1278, %1263
  br label %1280

1280:                                             ; preds = %1279, %1230
  %1281 = load i8, ptr %107, align 1, !tbaa !11, !range !13, !noundef !14
  %1282 = trunc i8 %1281 to i1
  br i1 %1282, label %1283, label %1292

1283:                                             ; preds = %1280
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1284 unwind label %1247

1284:                                             ; preds = %1283
  %1285 = load x86_fp80, ptr %104, align 16, !tbaa !9
  %1286 = load x86_fp80, ptr %106, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %109, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1285, x86_fp80 noundef %1286, x86_fp80 noundef 0xK4001E000000000000000)
          to label %1287 unwind label %1288

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

1288:                                             ; preds = %1284
  %1289 = landingpad { ptr, i32 }
          cleanup
  %1290 = extractvalue { ptr, i32 } %1289, 0
  store ptr %1290, ptr %4, align 8
  %1291 = extractvalue { ptr, i32 } %1289, 1
  store i32 %1291, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1317

1292:                                             ; preds = %1287, %1280
  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
  %1293 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1294 = add nsw i32 %1293, 1
  store i32 %1294, 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 %1295 unwind label %1321

1295:                                             ; preds = %1292
  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
  %1296 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4002B000000000000000) #7
  store x86_fp80 %1296, ptr %112, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #7
  %1297 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4002B000000000000000)
          to label %1298 unwind label %1325

1298:                                             ; preds = %1295
  store x86_fp80 %1297, ptr %113, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #7
  %1299 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1300 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1301 = fsub x86_fp80 %1299, %1300
  %1302 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1301)
          to label %1303 unwind label %1329

1303:                                             ; preds = %1298
  %1304 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1305 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1304)
          to label %1306 unwind label %1329

1306:                                             ; preds = %1303
  %1307 = fadd x86_fp80 0xK3FFF8000000000000000, %1305
  %1308 = fdiv x86_fp80 %1302, %1307
  store x86_fp80 %1308, 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
  %1309 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1310 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1309)
          to label %1311 unwind label %1333

1311:                                             ; preds = %1306
  br i1 %1310, label %1312, label %1337

1312:                                             ; preds = %1311
  %1313 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1314 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1313)
          to label %1315 unwind label %1333

1315:                                             ; preds = %1312
  br i1 %1314, label %1316, label %1337

1316:                                             ; preds = %1315
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1366

1317:                                             ; preds = %1288, %1274, %1247
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  br label %1318

1318:                                             ; preds = %1317, %1243
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  br label %1319

1319:                                             ; preds = %1318, %1239
  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 %1320

1320:                                             ; preds = %1319, %1235
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #7
  br label %1912

1321:                                             ; preds = %1292
  %1322 = landingpad { ptr, i32 }
          cleanup
  %1323 = extractvalue { ptr, i32 } %1322, 0
  store ptr %1323, ptr %4, align 8
  %1324 = extractvalue { ptr, i32 } %1322, 1
  store i32 %1324, 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 %1406

1325:                                             ; preds = %1295
  %1326 = landingpad { ptr, i32 }
          cleanup
  %1327 = extractvalue { ptr, i32 } %1326, 0
  store ptr %1327, ptr %4, align 8
  %1328 = extractvalue { ptr, i32 } %1326, 1
  store i32 %1328, ptr %5, align 4
  br label %1405

1329:                                             ; preds = %1303, %1298
  %1330 = landingpad { ptr, i32 }
          cleanup
  %1331 = extractvalue { ptr, i32 } %1330, 0
  store ptr %1331, ptr %4, align 8
  %1332 = extractvalue { ptr, i32 } %1330, 1
  store i32 %1332, ptr %5, align 4
  br label %1404

1333:                                             ; preds = %1369, %1354, %1341, %1337, %1312, %1306
  %1334 = landingpad { ptr, i32 }
          cleanup
  %1335 = extractvalue { ptr, i32 } %1334, 0
  store ptr %1335, ptr %4, align 8
  %1336 = extractvalue { ptr, i32 } %1334, 1
  store i32 %1336, ptr %5, align 4
  br label %1403

1337:                                             ; preds = %1315, %1311
  %1338 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1339 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1338)
          to label %1340 unwind label %1333

1340:                                             ; preds = %1337
  br i1 %1339, label %1350, label %1341

1341:                                             ; preds = %1340
  %1342 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1343 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1342)
          to label %1344 unwind label %1333

1344:                                             ; preds = %1341
  br i1 %1343, label %1345, label %1350

1345:                                             ; preds = %1344
  %1346 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1347 = load x86_fp80, ptr %113, align 16, !tbaa !9
  %1348 = fcmp oeq x86_fp80 %1346, %1347
  br i1 %1348, label %1349, label %1350

1349:                                             ; preds = %1345
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %1365

1350:                                             ; preds = %1345, %1344, %1340
  %1351 = load x86_fp80, ptr %114, align 16, !tbaa !9
  %1352 = fcmp olt x86_fp80 %1351, 0xK3FD0B424DC35095CD800
  br i1 %1352, label %1353, label %1354

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

1354:                                             ; preds = %1350
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1355 unwind label %1333

1355:                                             ; preds = %1354
  %1356 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1357 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1358 = load x86_fp80, ptr %113, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %116, i32 noundef %1356, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1357, x86_fp80 noundef %1358, x86_fp80 noundef 0xK4002B000000000000000)
          to label %1359 unwind label %1360

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

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

1364:                                             ; preds = %1359, %1353
  br label %1365

1365:                                             ; preds = %1364, %1349
  br label %1366

1366:                                             ; preds = %1365, %1316
  %1367 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %1368 = trunc i8 %1367 to i1
  br i1 %1368, label %1369, label %1378

1369:                                             ; preds = %1366
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1370 unwind label %1333

1370:                                             ; preds = %1369
  %1371 = load x86_fp80, ptr %112, align 16, !tbaa !9
  %1372 = load x86_fp80, ptr %114, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %117, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1371, x86_fp80 noundef %1372, x86_fp80 noundef 0xK4002B000000000000000)
          to label %1373 unwind label %1374

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

1374:                                             ; preds = %1370
  %1375 = landingpad { ptr, i32 }
          cleanup
  %1376 = extractvalue { ptr, i32 } %1375, 0
  store ptr %1376, ptr %4, align 8
  %1377 = extractvalue { ptr, i32 } %1375, 1
  store i32 %1377, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %1403

1378:                                             ; preds = %1373, %1366
  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
  %1379 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1380 = add nsw i32 %1379, 1
  store i32 %1380, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1381 unwind label %1407

1381:                                             ; preds = %1378
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #7
  %1382 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4003C800000000000000) #7
  store x86_fp80 %1382, ptr %120, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #7
  %1383 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4003C800000000000000)
          to label %1384 unwind label %1411

1384:                                             ; preds = %1381
  store x86_fp80 %1383, ptr %121, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %122) #7
  %1385 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1386 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1387 = fsub x86_fp80 %1385, %1386
  %1388 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1387)
          to label %1389 unwind label %1415

1389:                                             ; preds = %1384
  %1390 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1391 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1390)
          to label %1392 unwind label %1415

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

1397:                                             ; preds = %1392
  br i1 %1396, label %1398, label %1423

1398:                                             ; preds = %1397
  %1399 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1400 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1399)
          to label %1401 unwind label %1419

1401:                                             ; preds = %1398
  br i1 %1400, label %1402, label %1423

1402:                                             ; preds = %1401
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1452

1403:                                             ; preds = %1374, %1360, %1333
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  br label %1404

1404:                                             ; preds = %1403, %1329
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #7
  br label %1405

1405:                                             ; preds = %1404, %1325
  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 %1406

1406:                                             ; preds = %1405, %1321
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  br label %1912

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

1411:                                             ; preds = %1381
  %1412 = landingpad { ptr, i32 }
          cleanup
  %1413 = extractvalue { ptr, i32 } %1412, 0
  store ptr %1413, ptr %4, align 8
  %1414 = extractvalue { ptr, i32 } %1412, 1
  store i32 %1414, ptr %5, align 4
  br label %1491

1415:                                             ; preds = %1389, %1384
  %1416 = landingpad { ptr, i32 }
          cleanup
  %1417 = extractvalue { ptr, i32 } %1416, 0
  store ptr %1417, ptr %4, align 8
  %1418 = extractvalue { ptr, i32 } %1416, 1
  store i32 %1418, ptr %5, align 4
  br label %1490

1419:                                             ; preds = %1455, %1440, %1427, %1423, %1398, %1392
  %1420 = landingpad { ptr, i32 }
          cleanup
  %1421 = extractvalue { ptr, i32 } %1420, 0
  store ptr %1421, ptr %4, align 8
  %1422 = extractvalue { ptr, i32 } %1420, 1
  store i32 %1422, ptr %5, align 4
  br label %1489

1423:                                             ; preds = %1401, %1397
  %1424 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1425 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1424)
          to label %1426 unwind label %1419

1426:                                             ; preds = %1423
  br i1 %1425, label %1436, label %1427

1427:                                             ; preds = %1426
  %1428 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1429 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1428)
          to label %1430 unwind label %1419

1430:                                             ; preds = %1427
  br i1 %1429, label %1431, label %1436

1431:                                             ; preds = %1430
  %1432 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1433 = load x86_fp80, ptr %121, align 16, !tbaa !9
  %1434 = fcmp oeq x86_fp80 %1432, %1433
  br i1 %1434, label %1435, label %1436

1435:                                             ; preds = %1431
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1451

1436:                                             ; preds = %1431, %1430, %1426
  %1437 = load x86_fp80, ptr %122, align 16, !tbaa !9
  %1438 = fcmp olt x86_fp80 %1437, 0xK3FD0B424DC35095CD800
  br i1 %1438, label %1439, label %1440

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

1440:                                             ; preds = %1436
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1441 unwind label %1419

1441:                                             ; preds = %1440
  %1442 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1443 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1444 = load x86_fp80, ptr %121, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %124, i32 noundef %1442, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1443, x86_fp80 noundef %1444, x86_fp80 noundef 0xK4003C800000000000000)
          to label %1445 unwind label %1446

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

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

1450:                                             ; preds = %1445, %1439
  br label %1451

1451:                                             ; preds = %1450, %1435
  br label %1452

1452:                                             ; preds = %1451, %1402
  %1453 = load i8, ptr %123, align 1, !tbaa !11, !range !13, !noundef !14
  %1454 = trunc i8 %1453 to i1
  br i1 %1454, label %1455, label %1464

1455:                                             ; preds = %1452
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1456 unwind label %1419

1456:                                             ; preds = %1455
  %1457 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %1458 = load x86_fp80, ptr %122, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %125, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1457, x86_fp80 noundef %1458, x86_fp80 noundef 0xK4003C800000000000000)
          to label %1459 unwind label %1460

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

1460:                                             ; preds = %1456
  %1461 = landingpad { ptr, i32 }
          cleanup
  %1462 = extractvalue { ptr, i32 } %1461, 0
  store ptr %1462, ptr %4, align 8
  %1463 = extractvalue { ptr, i32 } %1461, 1
  store i32 %1463, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  br label %1489

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

1467:                                             ; preds = %1464
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %128) #7
  %1468 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4005CA00000000000000) #7
  store x86_fp80 %1468, ptr %128, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %129) #7
  %1469 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4005CA00000000000000)
          to label %1470 unwind label %1497

1470:                                             ; preds = %1467
  store x86_fp80 %1469, ptr %129, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %130) #7
  %1471 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1472 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1473 = fsub x86_fp80 %1471, %1472
  %1474 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1473)
          to label %1475 unwind label %1501

1475:                                             ; preds = %1470
  %1476 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1477 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1476)
          to label %1478 unwind label %1501

1478:                                             ; preds = %1475
  %1479 = fadd x86_fp80 0xK3FFF8000000000000000, %1477
  %1480 = fdiv x86_fp80 %1474, %1479
  store x86_fp80 %1480, ptr %130, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %131) #7
  store i8 0, ptr %131, align 1, !tbaa !11
  %1481 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1482 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1481)
          to label %1483 unwind label %1505

1483:                                             ; preds = %1478
  br i1 %1482, label %1484, label %1509

1484:                                             ; preds = %1483
  %1485 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1486 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1485)
          to label %1487 unwind label %1505

1487:                                             ; preds = %1484
  br i1 %1486, label %1488, label %1509

1488:                                             ; preds = %1487
  store i8 1, ptr %131, align 1, !tbaa !11
  br label %1538

1489:                                             ; preds = %1460, %1446, %1419
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #7
  br label %1490

1490:                                             ; preds = %1489, %1415
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #7
  br label %1491

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

1492:                                             ; preds = %1491, %1407
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  br label %1912

1493:                                             ; preds = %1464
  %1494 = landingpad { ptr, i32 }
          cleanup
  %1495 = extractvalue { ptr, i32 } %1494, 0
  store ptr %1495, ptr %4, align 8
  %1496 = extractvalue { ptr, i32 } %1494, 1
  store i32 %1496, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #7
  br label %1578

1497:                                             ; preds = %1467
  %1498 = landingpad { ptr, i32 }
          cleanup
  %1499 = extractvalue { ptr, i32 } %1498, 0
  store ptr %1499, ptr %4, align 8
  %1500 = extractvalue { ptr, i32 } %1498, 1
  store i32 %1500, ptr %5, align 4
  br label %1577

1501:                                             ; preds = %1475, %1470
  %1502 = landingpad { ptr, i32 }
          cleanup
  %1503 = extractvalue { ptr, i32 } %1502, 0
  store ptr %1503, ptr %4, align 8
  %1504 = extractvalue { ptr, i32 } %1502, 1
  store i32 %1504, ptr %5, align 4
  br label %1576

1505:                                             ; preds = %1541, %1526, %1513, %1509, %1484, %1478
  %1506 = landingpad { ptr, i32 }
          cleanup
  %1507 = extractvalue { ptr, i32 } %1506, 0
  store ptr %1507, ptr %4, align 8
  %1508 = extractvalue { ptr, i32 } %1506, 1
  store i32 %1508, ptr %5, align 4
  br label %1575

1509:                                             ; preds = %1487, %1483
  %1510 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1511 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1510)
          to label %1512 unwind label %1505

1512:                                             ; preds = %1509
  br i1 %1511, label %1522, label %1513

1513:                                             ; preds = %1512
  %1514 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1515 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1514)
          to label %1516 unwind label %1505

1516:                                             ; preds = %1513
  br i1 %1515, label %1517, label %1522

1517:                                             ; preds = %1516
  %1518 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1519 = load x86_fp80, ptr %129, align 16, !tbaa !9
  %1520 = fcmp oeq x86_fp80 %1518, %1519
  br i1 %1520, label %1521, label %1522

1521:                                             ; preds = %1517
  store i8 1, ptr %131, align 1, !tbaa !11
  br label %1537

1522:                                             ; preds = %1517, %1516, %1512
  %1523 = load x86_fp80, ptr %130, align 16, !tbaa !9
  %1524 = fcmp olt x86_fp80 %1523, 0xK3FD0B424DC35095CD800
  br i1 %1524, label %1525, label %1526

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

1526:                                             ; preds = %1522
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %1527 unwind label %1505

1527:                                             ; preds = %1526
  %1528 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1529 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1530 = load x86_fp80, ptr %129, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %132, i32 noundef %1528, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1529, x86_fp80 noundef %1530, x86_fp80 noundef 0xK4005CA00000000000000)
          to label %1531 unwind label %1532

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

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

1536:                                             ; preds = %1531, %1525
  br label %1537

1537:                                             ; preds = %1536, %1521
  br label %1538

1538:                                             ; preds = %1537, %1488
  %1539 = load i8, ptr %131, align 1, !tbaa !11, !range !13, !noundef !14
  %1540 = trunc i8 %1539 to i1
  br i1 %1540, label %1541, label %1550

1541:                                             ; preds = %1538
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %1542 unwind label %1505

1542:                                             ; preds = %1541
  %1543 = load x86_fp80, ptr %128, align 16, !tbaa !9
  %1544 = load x86_fp80, ptr %130, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %133, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1543, x86_fp80 noundef %1544, x86_fp80 noundef 0xK4005CA00000000000000)
          to label %1545 unwind label %1546

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

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

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

1553:                                             ; preds = %1550
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %136) #7
  %1554 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4008E100000000000000) #7
  store x86_fp80 %1554, ptr %136, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %137) #7
  %1555 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4008E100000000000000)
          to label %1556 unwind label %1583

1556:                                             ; preds = %1553
  store x86_fp80 %1555, ptr %137, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %138) #7
  %1557 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1558 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1559 = fsub x86_fp80 %1557, %1558
  %1560 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1559)
          to label %1561 unwind label %1587

1561:                                             ; preds = %1556
  %1562 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1563 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1562)
          to label %1564 unwind label %1587

1564:                                             ; preds = %1561
  %1565 = fadd x86_fp80 0xK3FFF8000000000000000, %1563
  %1566 = fdiv x86_fp80 %1560, %1565
  store x86_fp80 %1566, ptr %138, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %139) #7
  store i8 0, ptr %139, align 1, !tbaa !11
  %1567 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1568 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1567)
          to label %1569 unwind label %1591

1569:                                             ; preds = %1564
  br i1 %1568, label %1570, label %1595

1570:                                             ; preds = %1569
  %1571 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1572 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1571)
          to label %1573 unwind label %1591

1573:                                             ; preds = %1570
  br i1 %1572, label %1574, label %1595

1574:                                             ; preds = %1573
  store i8 1, ptr %139, align 1, !tbaa !11
  br label %1624

1575:                                             ; preds = %1546, %1532, %1505
  call void @llvm.lifetime.end.p0(i64 1, ptr %131) #7
  br label %1576

1576:                                             ; preds = %1575, %1501
  call void @llvm.lifetime.end.p0(i64 16, ptr %130) #7
  br label %1577

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

1578:                                             ; preds = %1577, %1493
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #7
  br label %1912

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

1583:                                             ; preds = %1553
  %1584 = landingpad { ptr, i32 }
          cleanup
  %1585 = extractvalue { ptr, i32 } %1584, 0
  store ptr %1585, ptr %4, align 8
  %1586 = extractvalue { ptr, i32 } %1584, 1
  store i32 %1586, ptr %5, align 4
  br label %1663

1587:                                             ; preds = %1561, %1556
  %1588 = landingpad { ptr, i32 }
          cleanup
  %1589 = extractvalue { ptr, i32 } %1588, 0
  store ptr %1589, ptr %4, align 8
  %1590 = extractvalue { ptr, i32 } %1588, 1
  store i32 %1590, ptr %5, align 4
  br label %1662

1591:                                             ; preds = %1627, %1612, %1599, %1595, %1570, %1564
  %1592 = landingpad { ptr, i32 }
          cleanup
  %1593 = extractvalue { ptr, i32 } %1592, 0
  store ptr %1593, ptr %4, align 8
  %1594 = extractvalue { ptr, i32 } %1592, 1
  store i32 %1594, ptr %5, align 4
  br label %1661

1595:                                             ; preds = %1573, %1569
  %1596 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1597 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1596)
          to label %1598 unwind label %1591

1598:                                             ; preds = %1595
  br i1 %1597, label %1608, label %1599

1599:                                             ; preds = %1598
  %1600 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1601 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1600)
          to label %1602 unwind label %1591

1602:                                             ; preds = %1599
  br i1 %1601, label %1603, label %1608

1603:                                             ; preds = %1602
  %1604 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1605 = load x86_fp80, ptr %137, align 16, !tbaa !9
  %1606 = fcmp oeq x86_fp80 %1604, %1605
  br i1 %1606, label %1607, label %1608

1607:                                             ; preds = %1603
  store i8 1, ptr %139, align 1, !tbaa !11
  br label %1623

1608:                                             ; preds = %1603, %1602, %1598
  %1609 = load x86_fp80, ptr %138, align 16, !tbaa !9
  %1610 = fcmp olt x86_fp80 %1609, 0xK3FD0B424DC35095CD800
  br i1 %1610, label %1611, label %1612

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

1612:                                             ; preds = %1608
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1613 unwind label %1591

1613:                                             ; preds = %1612
  %1614 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1615 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1616 = load x86_fp80, ptr %137, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %140, i32 noundef %1614, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1615, x86_fp80 noundef %1616, x86_fp80 noundef 0xK4008E100000000000000)
          to label %1617 unwind label %1618

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

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

1622:                                             ; preds = %1617, %1611
  br label %1623

1623:                                             ; preds = %1622, %1607
  br label %1624

1624:                                             ; preds = %1623, %1574
  %1625 = load i8, ptr %139, align 1, !tbaa !11, !range !13, !noundef !14
  %1626 = trunc i8 %1625 to i1
  br i1 %1626, label %1627, label %1636

1627:                                             ; preds = %1624
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1628 unwind label %1591

1628:                                             ; preds = %1627
  %1629 = load x86_fp80, ptr %136, align 16, !tbaa !9
  %1630 = load x86_fp80, ptr %138, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %141, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1629, x86_fp80 noundef %1630, x86_fp80 noundef 0xK4008E100000000000000)
          to label %1631 unwind label %1632

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

1632:                                             ; preds = %1628
  %1633 = landingpad { ptr, i32 }
          cleanup
  %1634 = extractvalue { ptr, i32 } %1633, 0
  store ptr %1634, ptr %4, align 8
  %1635 = extractvalue { ptr, i32 } %1633, 1
  store i32 %1635, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1661

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

1639:                                             ; preds = %1636
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %144) #7
  %1640 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4008FA40000000000000) #7
  store x86_fp80 %1640, ptr %144, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %145) #7
  %1641 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4008FA40000000000000)
          to label %1642 unwind label %1669

1642:                                             ; preds = %1639
  store x86_fp80 %1641, ptr %145, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %146) #7
  %1643 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1644 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1645 = fsub x86_fp80 %1643, %1644
  %1646 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1645)
          to label %1647 unwind label %1673

1647:                                             ; preds = %1642
  %1648 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1649 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1648)
          to label %1650 unwind label %1673

1650:                                             ; preds = %1647
  %1651 = fadd x86_fp80 0xK3FFF8000000000000000, %1649
  %1652 = fdiv x86_fp80 %1646, %1651
  store x86_fp80 %1652, ptr %146, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #7
  store i8 0, ptr %147, align 1, !tbaa !11
  %1653 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1654 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1653)
          to label %1655 unwind label %1677

1655:                                             ; preds = %1650
  br i1 %1654, label %1656, label %1681

1656:                                             ; preds = %1655
  %1657 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1658 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1657)
          to label %1659 unwind label %1677

1659:                                             ; preds = %1656
  br i1 %1658, label %1660, label %1681

1660:                                             ; preds = %1659
  store i8 1, ptr %147, align 1, !tbaa !11
  br label %1710

1661:                                             ; preds = %1632, %1618, %1591
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #7
  br label %1662

1662:                                             ; preds = %1661, %1587
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #7
  br label %1663

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

1664:                                             ; preds = %1663, %1579
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  br label %1912

1665:                                             ; preds = %1636
  %1666 = landingpad { ptr, i32 }
          cleanup
  %1667 = extractvalue { ptr, i32 } %1666, 0
  store ptr %1667, ptr %4, align 8
  %1668 = extractvalue { ptr, i32 } %1666, 1
  store i32 %1668, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  br label %1750

1669:                                             ; preds = %1639
  %1670 = landingpad { ptr, i32 }
          cleanup
  %1671 = extractvalue { ptr, i32 } %1670, 0
  store ptr %1671, ptr %4, align 8
  %1672 = extractvalue { ptr, i32 } %1670, 1
  store i32 %1672, ptr %5, align 4
  br label %1749

1673:                                             ; preds = %1647, %1642
  %1674 = landingpad { ptr, i32 }
          cleanup
  %1675 = extractvalue { ptr, i32 } %1674, 0
  store ptr %1675, ptr %4, align 8
  %1676 = extractvalue { ptr, i32 } %1674, 1
  store i32 %1676, ptr %5, align 4
  br label %1748

1677:                                             ; preds = %1713, %1698, %1685, %1681, %1656, %1650
  %1678 = landingpad { ptr, i32 }
          cleanup
  %1679 = extractvalue { ptr, i32 } %1678, 0
  store ptr %1679, ptr %4, align 8
  %1680 = extractvalue { ptr, i32 } %1678, 1
  store i32 %1680, ptr %5, align 4
  br label %1747

1681:                                             ; preds = %1659, %1655
  %1682 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1683 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1682)
          to label %1684 unwind label %1677

1684:                                             ; preds = %1681
  br i1 %1683, label %1694, label %1685

1685:                                             ; preds = %1684
  %1686 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1687 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1686)
          to label %1688 unwind label %1677

1688:                                             ; preds = %1685
  br i1 %1687, label %1689, label %1694

1689:                                             ; preds = %1688
  %1690 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1691 = load x86_fp80, ptr %145, align 16, !tbaa !9
  %1692 = fcmp oeq x86_fp80 %1690, %1691
  br i1 %1692, label %1693, label %1694

1693:                                             ; preds = %1689
  store i8 1, ptr %147, align 1, !tbaa !11
  br label %1709

1694:                                             ; preds = %1689, %1688, %1684
  %1695 = load x86_fp80, ptr %146, align 16, !tbaa !9
  %1696 = fcmp olt x86_fp80 %1695, 0xK3FD0B424DC35095CD800
  br i1 %1696, label %1697, label %1698

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

1698:                                             ; preds = %1694
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1699 unwind label %1677

1699:                                             ; preds = %1698
  %1700 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1701 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1702 = load x86_fp80, ptr %145, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %148, i32 noundef %1700, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1701, x86_fp80 noundef %1702, x86_fp80 noundef 0xK4008FA40000000000000)
          to label %1703 unwind label %1704

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

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

1708:                                             ; preds = %1703, %1697
  br label %1709

1709:                                             ; preds = %1708, %1693
  br label %1710

1710:                                             ; preds = %1709, %1660
  %1711 = load i8, ptr %147, align 1, !tbaa !11, !range !13, !noundef !14
  %1712 = trunc i8 %1711 to i1
  br i1 %1712, label %1713, label %1722

1713:                                             ; preds = %1710
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1714 unwind label %1677

1714:                                             ; preds = %1713
  %1715 = load x86_fp80, ptr %144, align 16, !tbaa !9
  %1716 = load x86_fp80, ptr %146, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %149, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1715, x86_fp80 noundef %1716, x86_fp80 noundef 0xK4008FA40000000000000)
          to label %1717 unwind label %1718

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

1718:                                             ; preds = %1714
  %1719 = landingpad { ptr, i32 }
          cleanup
  %1720 = extractvalue { ptr, i32 } %1719, 0
  store ptr %1720, ptr %4, align 8
  %1721 = extractvalue { ptr, i32 } %1719, 1
  store i32 %1721, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #7
  br label %1747

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

1725:                                             ; preds = %1722
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %152) #7
  %1726 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4012F424000000000000) #7
  store x86_fp80 %1726, ptr %152, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %153) #7
  %1727 = invoke noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4012F424000000000000)
          to label %1728 unwind label %1755

1728:                                             ; preds = %1725
  store x86_fp80 %1727, ptr %153, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %154) #7
  %1729 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1730 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1731 = fsub x86_fp80 %1729, %1730
  %1732 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1731)
          to label %1733 unwind label %1759

1733:                                             ; preds = %1728
  %1734 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1735 = invoke noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %1734)
          to label %1736 unwind label %1759

1736:                                             ; preds = %1733
  %1737 = fadd x86_fp80 0xK3FFF8000000000000000, %1735
  %1738 = fdiv x86_fp80 %1732, %1737
  store x86_fp80 %1738, ptr %154, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %155) #7
  store i8 0, ptr %155, align 1, !tbaa !11
  %1739 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1740 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1739)
          to label %1741 unwind label %1763

1741:                                             ; preds = %1736
  br i1 %1740, label %1742, label %1767

1742:                                             ; preds = %1741
  %1743 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1744 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1743)
          to label %1745 unwind label %1763

1745:                                             ; preds = %1742
  br i1 %1744, label %1746, label %1767

1746:                                             ; preds = %1745
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1796

1747:                                             ; preds = %1718, %1704, %1677
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  br label %1748

1748:                                             ; preds = %1747, %1673
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #7
  br label %1749

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

1750:                                             ; preds = %1749, %1665
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  br label %1912

1751:                                             ; preds = %1722
  %1752 = landingpad { ptr, i32 }
          cleanup
  %1753 = extractvalue { ptr, i32 } %1752, 0
  store ptr %1753, ptr %4, align 8
  %1754 = extractvalue { ptr, i32 } %1752, 1
  store i32 %1754, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #7
  br label %1839

1755:                                             ; preds = %1725
  %1756 = landingpad { ptr, i32 }
          cleanup
  %1757 = extractvalue { ptr, i32 } %1756, 0
  store ptr %1757, ptr %4, align 8
  %1758 = extractvalue { ptr, i32 } %1756, 1
  store i32 %1758, ptr %5, align 4
  br label %1838

1759:                                             ; preds = %1733, %1728
  %1760 = landingpad { ptr, i32 }
          cleanup
  %1761 = extractvalue { ptr, i32 } %1760, 0
  store ptr %1761, ptr %4, align 8
  %1762 = extractvalue { ptr, i32 } %1760, 1
  store i32 %1762, ptr %5, align 4
  br label %1837

1763:                                             ; preds = %1799, %1784, %1771, %1767, %1742, %1736
  %1764 = landingpad { ptr, i32 }
          cleanup
  %1765 = extractvalue { ptr, i32 } %1764, 0
  store ptr %1765, ptr %4, align 8
  %1766 = extractvalue { ptr, i32 } %1764, 1
  store i32 %1766, ptr %5, align 4
  br label %1836

1767:                                             ; preds = %1745, %1741
  %1768 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1769 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1768)
          to label %1770 unwind label %1763

1770:                                             ; preds = %1767
  br i1 %1769, label %1780, label %1771

1771:                                             ; preds = %1770
  %1772 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1773 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1772)
          to label %1774 unwind label %1763

1774:                                             ; preds = %1771
  br i1 %1773, label %1775, label %1780

1775:                                             ; preds = %1774
  %1776 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1777 = load x86_fp80, ptr %153, align 16, !tbaa !9
  %1778 = fcmp oeq x86_fp80 %1776, %1777
  br i1 %1778, label %1779, label %1780

1779:                                             ; preds = %1775
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1795

1780:                                             ; preds = %1775, %1774, %1770
  %1781 = load x86_fp80, ptr %154, align 16, !tbaa !9
  %1782 = fcmp olt x86_fp80 %1781, 0xK3FD0B424DC35095CD800
  br i1 %1782, label %1783, label %1784

1783:                                             ; preds = %1780
  store i8 1, ptr %155, align 1, !tbaa !11
  br label %1794

1784:                                             ; preds = %1780
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1785 unwind label %1763

1785:                                             ; preds = %1784
  %1786 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1787 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1788 = load x86_fp80, ptr %153, align 16, !tbaa !9
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %156, i32 noundef %1786, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1787, x86_fp80 noundef %1788, x86_fp80 noundef 0xK4012F424000000000000)
          to label %1789 unwind label %1790

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

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

1794:                                             ; preds = %1789, %1783
  br label %1795

1795:                                             ; preds = %1794, %1779
  br label %1796

1796:                                             ; preds = %1795, %1746
  %1797 = load i8, ptr %155, align 1, !tbaa !11, !range !13, !noundef !14
  %1798 = trunc i8 %1797 to i1
  br i1 %1798, label %1799, label %1808

1799:                                             ; preds = %1796
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1800 unwind label %1763

1800:                                             ; preds = %1799
  %1801 = load x86_fp80, ptr %152, align 16, !tbaa !9
  %1802 = load x86_fp80, ptr %154, align 16, !tbaa !9
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %157, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %1801, x86_fp80 noundef %1802, x86_fp80 noundef 0xK4012F424000000000000)
          to label %1803 unwind label %1804

1803:                                             ; preds = %1800
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  br label %1808

1804:                                             ; preds = %1800
  %1805 = landingpad { ptr, i32 }
          cleanup
  %1806 = extractvalue { ptr, i32 } %1805, 0
  store ptr %1806, ptr %4, align 8
  %1807 = extractvalue { ptr, i32 } %1805, 1
  store i32 %1807, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  br label %1836

1808:                                             ; preds = %1803, %1796
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  %1809 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1810 = add nsw i32 %1809, 1
  store i32 %1810, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %158) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %159) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %159)
          to label %1811 unwind label %1840

1811:                                             ; preds = %1808
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #7
  %1812 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1813 = call noundef double @_ZN4gcem4atanIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %1812) #7
  store double %1813, ptr %160, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #7
  %1814 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %1815 = call double @atan(double noundef %1814) #7
  store double %1815, ptr %161, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #7
  %1816 = load double, ptr %160, align 8, !tbaa !15
  %1817 = load double, ptr %161, align 8, !tbaa !15
  %1818 = fsub double %1816, %1817
  %1819 = invoke noundef double @_ZSt3absd(double noundef %1818)
          to label %1820 unwind label %1844

1820:                                             ; preds = %1811
  %1821 = load double, ptr %161, align 8, !tbaa !15
  %1822 = invoke noundef double @_ZSt3absd(double noundef %1821)
          to label %1823 unwind label %1844

1823:                                             ; preds = %1820
  %1824 = fadd double 1.000000e+00, %1822
  %1825 = fdiv double %1819, %1824
  store double %1825, ptr %162, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %163) #7
  store i8 0, ptr %163, align 1, !tbaa !11
  %1826 = load double, ptr %160, align 8, !tbaa !15
  %1827 = fpext double %1826 to x86_fp80
  %1828 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1827)
          to label %1829 unwind label %1848

1829:                                             ; preds = %1823
  br i1 %1828, label %1830, label %1852

1830:                                             ; preds = %1829
  %1831 = load double, ptr %161, align 8, !tbaa !15
  %1832 = fpext double %1831 to x86_fp80
  %1833 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1832)
          to label %1834 unwind label %1848

1834:                                             ; preds = %1830
  br i1 %1833, label %1835, label %1852

1835:                                             ; preds = %1834
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1884

1836:                                             ; preds = %1804, %1790, %1763
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #7
  br label %1837

1837:                                             ; preds = %1836, %1759
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #7
  br label %1838

1838:                                             ; preds = %1837, %1755
  call void @llvm.lifetime.end.p0(i64 16, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  br label %1839

1839:                                             ; preds = %1838, %1751
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  br label %1912

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

1844:                                             ; preds = %1820, %1811
  %1845 = landingpad { ptr, i32 }
          cleanup
  %1846 = extractvalue { ptr, i32 } %1845, 0
  store ptr %1846, ptr %4, align 8
  %1847 = extractvalue { ptr, i32 } %1845, 1
  store i32 %1847, ptr %5, align 4
  br label %1901

1848:                                             ; preds = %1887, %1871, %1857, %1852, %1830, %1823
  %1849 = landingpad { ptr, i32 }
          cleanup
  %1850 = extractvalue { ptr, i32 } %1849, 0
  store ptr %1850, ptr %4, align 8
  %1851 = extractvalue { ptr, i32 } %1849, 1
  store i32 %1851, ptr %5, align 4
  br label %1900

1852:                                             ; preds = %1834, %1829
  %1853 = load double, ptr %160, align 8, !tbaa !15
  %1854 = fpext double %1853 to x86_fp80
  %1855 = invoke noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %1854)
          to label %1856 unwind label %1848

1856:                                             ; preds = %1852
  br i1 %1855, label %1867, label %1857

1857:                                             ; preds = %1856
  %1858 = load double, ptr %160, align 8, !tbaa !15
  %1859 = fpext double %1858 to x86_fp80
  %1860 = invoke noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %1859)
          to label %1861 unwind label %1848

1861:                                             ; preds = %1857
  br i1 %1860, label %1862, label %1867

1862:                                             ; preds = %1861
  %1863 = load double, ptr %160, align 8, !tbaa !15
  %1864 = load double, ptr %161, align 8, !tbaa !15
  %1865 = fcmp oeq double %1863, %1864
  br i1 %1865, label %1866, label %1867

1866:                                             ; preds = %1862
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1883

1867:                                             ; preds = %1862, %1861, %1856
  %1868 = load double, ptr %162, align 8, !tbaa !15
  %1869 = fcmp olt double %1868, 0x3D06849B86A12B9B
  br i1 %1869, label %1870, label %1871

1870:                                             ; preds = %1867
  store i8 1, ptr %163, align 1, !tbaa !11
  br label %1882

1871:                                             ; preds = %1867
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1872 unwind label %1848

1872:                                             ; preds = %1871
  %1873 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %1874 = load double, ptr %160, align 8, !tbaa !15
  %1875 = load double, ptr %161, align 8, !tbaa !15
  %1876 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef %164, i32 noundef %1873, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %1874, double noundef %1875, double noundef %1876)
          to label %1877 unwind label %1878

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

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

1882:                                             ; preds = %1877, %1870
  br label %1883

1883:                                             ; preds = %1882, %1866
  br label %1884

1884:                                             ; preds = %1883, %1835
  %1885 = load i8, ptr %163, align 1, !tbaa !11, !range !13, !noundef !14
  %1886 = trunc i8 %1885 to i1
  br i1 %1886, label %1887, label %1897

1887:                                             ; preds = %1884
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1888 unwind label %1848

1888:                                             ; preds = %1887
  %1889 = load double, ptr %160, align 8, !tbaa !15
  %1890 = load double, ptr %162, align 8, !tbaa !15
  %1891 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef %165, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %1889, double noundef %1890, double noundef %1891)
          to label %1892 unwind label %1893

1892:                                             ; preds = %1888
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %1897

1893:                                             ; preds = %1888
  %1894 = landingpad { ptr, i32 }
          cleanup
  %1895 = extractvalue { ptr, i32 } %1894, 0
  store ptr %1895, ptr %4, align 8
  %1896 = extractvalue { ptr, i32 } %1894, 1
  store i32 %1896, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %1900

1897:                                             ; preds = %1892, %1884
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %1898 unwind label %1903

1898:                                             ; preds = %1897
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %166)
          to label %1899 unwind label %1907

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

1900:                                             ; preds = %1893, %1878, %1848
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  br label %1901

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

1902:                                             ; preds = %1901, %1840
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  br label %1912

1903:                                             ; preds = %1897
  %1904 = landingpad { ptr, i32 }
          cleanup
  %1905 = extractvalue { ptr, i32 } %1904, 0
  store ptr %1905, ptr %4, align 8
  %1906 = extractvalue { ptr, i32 } %1904, 1
  store i32 %1906, ptr %5, align 4
  br label %1911

1907:                                             ; preds = %1898
  %1908 = landingpad { ptr, i32 }
          cleanup
  %1909 = extractvalue { ptr, i32 } %1908, 0
  store ptr %1909, ptr %4, align 8
  %1910 = extractvalue { ptr, i32 } %1908, 1
  store i32 %1910, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #7
  br label %1911

1911:                                             ; preds = %1907, %1903
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  br label %1912

1912:                                             ; preds = %1911, %1902, %1839, %1750, %1664, %1578, %1492, %1406, %1320, %1234, %1148, %1062, %976, %890, %804, %718, %632, %546, %460, %374, %288, %202
  %1913 = load ptr, ptr %4, align 8
  %1914 = load i32, ptr %5, align 4
  %1915 = insertvalue { ptr, i32 } poison, ptr %1913, 0
  %1916 = insertvalue { ptr, i32 } %1915, i32 %1914, 1
  resume { ptr, i32 } %1916
}

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

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

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

; Function Attrs: nounwind
declare double @atan(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: 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 [5 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [11 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.std::__cxx11::basic_string", align 8
  %2 = alloca %"class.std::allocator", align 1
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::allocator", align 1
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator", align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator", align 1
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator", align 1
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator", align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator", align 1
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator", align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::allocator", align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator", align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::allocator", align 1
  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 %85 unwind label %100

85:                                               ; preds = %0
  invoke void @_Z11print_beginNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %1)
          to label %86 unwind label %102

86:                                               ; preds = %85
  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
  %87 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %88 = add nsw i32 %87, 1
  store i32 %88, 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 %89 unwind label %105

89:                                               ; preds = %86
  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
  %90 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK00000000000000000000) #7
  %91 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK00000000000000000000)
  %92 = fsub x86_fp80 %90, %91
  %93 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %92)
  %94 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %91)
  %95 = fadd x86_fp80 %94, 0xK3FFF8000000000000000
  %96 = fdiv x86_fp80 %93, %95
  %97 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %90)
  br i1 %97, label %98, label %109

98:                                               ; preds = %89
  %99 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %91)
  br i1 %99, label %121, label %109

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

102:                                              ; preds = %85
  %103 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #7
  br label %104

104:                                              ; preds = %102, %100
  %.pn = phi { ptr, i32 } [ %103, %102 ], [ %101, %100 ]
  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 %805

105:                                              ; preds = %86
  %106 = 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 %139

107:                                              ; preds = %121, %116
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %138

109:                                              ; preds = %98, %89
  %110 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %90)
  br i1 %110, label %115, label %111

111:                                              ; preds = %109
  %112 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %90)
  %113 = fcmp oeq x86_fp80 %90, %91
  %or.cond = and i1 %113, %112
  %114 = fcmp olt x86_fp80 %96, 0xK3FD0B424DC35095CD800
  %or.cond539 = or i1 %114, %or.cond
  br i1 %or.cond539, label %121, label %116

115:                                              ; preds = %109
  %.old = fcmp olt x86_fp80 %96, 0xK3FD0B424DC35095CD800
  br i1 %.old, label %121, label %116

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

117:                                              ; preds = %116
  %118 = 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 %118, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %90, x86_fp80 noundef %91, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge unwind label %119

119:                                              ; preds = %117
  %120 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %138

121:                                              ; preds = %98, %111, %115
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %122 unwind label %107

122:                                              ; preds = %121
  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 %90, x86_fp80 noundef %96, x86_fp80 noundef 0xK00000000000000000000)
          to label %.critedge unwind label %123

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

.critedge:                                        ; preds = %122, %117
  %.sink = phi ptr [ %5, %117 ], [ %6, %122 ]
  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
  %125 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %126 = add nsw i32 %125, 1
  store i32 %126, 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 %127 unwind label %140

127:                                              ; 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
  %128 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FF583126E978D4FDF3B) #7
  %129 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
  %130 = fsub x86_fp80 %128, %129
  %131 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %130)
  %132 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %129)
  %133 = fadd x86_fp80 %132, 0xK3FFF8000000000000000
  %134 = fdiv x86_fp80 %131, %133
  %135 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %128)
  br i1 %135, label %136, label %144

136:                                              ; preds = %127
  %137 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %129)
  br i1 %137, label %156, label %144

138:                                              ; preds = %123, %119, %107
  %.pn419 = phi { ptr, i32 } [ %124, %123 ], [ %108, %107 ], [ %120, %119 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %139

139:                                              ; preds = %138, %105
  %.pn419.pn = phi { ptr, i32 } [ %.pn419, %138 ], [ %106, %105 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %805

140:                                              ; preds = %.critedge
  %141 = 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 %174

142:                                              ; preds = %156, %151
  %143 = landingpad { ptr, i32 }
          cleanup
  br label %173

144:                                              ; preds = %136, %127
  %145 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %128)
  br i1 %145, label %150, label %146

146:                                              ; preds = %144
  %147 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %128)
  %148 = fcmp oeq x86_fp80 %128, %129
  %or.cond482 = and i1 %148, %147
  %149 = fcmp olt x86_fp80 %134, 0xK3FD0B424DC35095CD800
  %or.cond541 = or i1 %149, %or.cond482
  br i1 %or.cond541, label %156, label %151

150:                                              ; preds = %144
  %.old540 = fcmp olt x86_fp80 %134, 0xK3FD0B424DC35095CD800
  br i1 %.old540, label %156, label %151

151:                                              ; preds = %146, %150
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %152 unwind label %142

152:                                              ; preds = %151
  %153 = 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 %153, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %128, x86_fp80 noundef %129, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %.critedge484 unwind label %154

154:                                              ; preds = %152
  %155 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %173

156:                                              ; preds = %136, %146, %150
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %157 unwind label %142

157:                                              ; preds = %156
  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 %128, x86_fp80 noundef %134, x86_fp80 noundef 0xK3FF583126E978D4FDF3B)
          to label %.critedge484 unwind label %158

158:                                              ; preds = %157
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %173

.critedge484:                                     ; preds = %157, %152
  %.sink578 = phi ptr [ %9, %152 ], [ %10, %157 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink578) #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
  %160 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %161 = add nsw i32 %160, 1
  store i32 %161, 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 %162 unwind label %175

162:                                              ; preds = %.critedge484
  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
  %163 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFDFAE147AE147AE148) #7
  %164 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
  %165 = fsub x86_fp80 %163, %164
  %166 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %165)
  %167 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %164)
  %168 = fadd x86_fp80 %167, 0xK3FFF8000000000000000
  %169 = fdiv x86_fp80 %166, %168
  %170 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %163)
  br i1 %170, label %171, label %179

171:                                              ; preds = %162
  %172 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %164)
  br i1 %172, label %191, label %179

173:                                              ; preds = %158, %154, %142
  %.pn422 = phi { ptr, i32 } [ %159, %158 ], [ %143, %142 ], [ %155, %154 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %174

174:                                              ; preds = %173, %140
  %.pn422.pn = phi { ptr, i32 } [ %.pn422, %173 ], [ %141, %140 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %805

175:                                              ; preds = %.critedge484
  %176 = 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 %209

177:                                              ; preds = %191, %186
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %208

179:                                              ; preds = %171, %162
  %180 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %163)
  br i1 %180, label %185, label %181

181:                                              ; preds = %179
  %182 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %163)
  %183 = fcmp oeq x86_fp80 %163, %164
  %or.cond485 = and i1 %183, %182
  %184 = fcmp olt x86_fp80 %169, 0xK3FD0B424DC35095CD800
  %or.cond543 = or i1 %184, %or.cond485
  br i1 %or.cond543, label %191, label %186

185:                                              ; preds = %179
  %.old542 = fcmp olt x86_fp80 %169, 0xK3FD0B424DC35095CD800
  br i1 %.old542, label %191, label %186

186:                                              ; preds = %181, %185
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %187 unwind label %177

187:                                              ; preds = %186
  %188 = 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 %188, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %163, x86_fp80 noundef %164, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %.critedge487 unwind label %189

189:                                              ; preds = %187
  %190 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %208

191:                                              ; preds = %171, %181, %185
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %192 unwind label %177

192:                                              ; preds = %191
  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 %163, x86_fp80 noundef %169, x86_fp80 noundef 0xK3FFDFAE147AE147AE148)
          to label %.critedge487 unwind label %193

193:                                              ; preds = %192
  %194 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %208

.critedge487:                                     ; preds = %192, %187
  %.sink579 = phi ptr [ %13, %187 ], [ %14, %192 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink579) #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
  %195 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %196 = add nsw i32 %195, 1
  store i32 %196, 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 %197 unwind label %210

197:                                              ; preds = %.critedge487
  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
  %198 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFE8000000000000000) #7
  %199 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xKBFFE8000000000000000)
  %200 = fsub x86_fp80 %198, %199
  %201 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %200)
  %202 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %199)
  %203 = fadd x86_fp80 %202, 0xK3FFF8000000000000000
  %204 = fdiv x86_fp80 %201, %203
  %205 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %198)
  br i1 %205, label %206, label %214

206:                                              ; preds = %197
  %207 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %199)
  br i1 %207, label %226, label %214

208:                                              ; preds = %193, %189, %177
  %.pn425 = phi { ptr, i32 } [ %194, %193 ], [ %178, %177 ], [ %190, %189 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %209

209:                                              ; preds = %208, %175
  %.pn425.pn = phi { ptr, i32 } [ %.pn425, %208 ], [ %176, %175 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %805

210:                                              ; preds = %.critedge487
  %211 = 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 %244

212:                                              ; preds = %226, %221
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %243

214:                                              ; preds = %206, %197
  %215 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %198)
  br i1 %215, label %220, label %216

216:                                              ; preds = %214
  %217 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %198)
  %218 = fcmp oeq x86_fp80 %198, %199
  %or.cond488 = and i1 %218, %217
  %219 = fcmp olt x86_fp80 %204, 0xK3FD0B424DC35095CD800
  %or.cond545 = or i1 %219, %or.cond488
  br i1 %or.cond545, label %226, label %221

220:                                              ; preds = %214
  %.old544 = fcmp olt x86_fp80 %204, 0xK3FD0B424DC35095CD800
  br i1 %.old544, label %226, label %221

221:                                              ; preds = %216, %220
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %222 unwind label %212

222:                                              ; preds = %221
  %223 = 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 %223, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %198, x86_fp80 noundef %199, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge490 unwind label %224

224:                                              ; preds = %222
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %243

226:                                              ; preds = %206, %216, %220
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %227 unwind label %212

227:                                              ; preds = %226
  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 %198, x86_fp80 noundef %204, x86_fp80 noundef 0xKBFFE8000000000000000)
          to label %.critedge490 unwind label %228

228:                                              ; preds = %227
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %243

.critedge490:                                     ; preds = %227, %222
  %.sink580 = phi ptr [ %17, %222 ], [ %18, %227 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink580) #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
  %230 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %231 = add nsw i32 %230, 1
  store i32 %231, 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 %232 unwind label %245

232:                                              ; preds = %.critedge490
  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
  %233 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xKBFFFC000000000000000) #7
  %234 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xKBFFFC000000000000000)
  %235 = fsub x86_fp80 %233, %234
  %236 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %235)
  %237 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %234)
  %238 = fadd x86_fp80 %237, 0xK3FFF8000000000000000
  %239 = fdiv x86_fp80 %236, %238
  %240 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %233)
  br i1 %240, label %241, label %249

241:                                              ; preds = %232
  %242 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %234)
  br i1 %242, label %261, label %249

243:                                              ; preds = %228, %224, %212
  %.pn428 = phi { ptr, i32 } [ %229, %228 ], [ %213, %212 ], [ %225, %224 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %244

244:                                              ; preds = %243, %210
  %.pn428.pn = phi { ptr, i32 } [ %.pn428, %243 ], [ %211, %210 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %805

245:                                              ; preds = %.critedge490
  %246 = 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 %279

247:                                              ; preds = %261, %256
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %278

249:                                              ; preds = %241, %232
  %250 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %233)
  br i1 %250, label %255, label %251

251:                                              ; preds = %249
  %252 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %233)
  %253 = fcmp oeq x86_fp80 %233, %234
  %or.cond491 = and i1 %253, %252
  %254 = fcmp olt x86_fp80 %239, 0xK3FD0B424DC35095CD800
  %or.cond547 = or i1 %254, %or.cond491
  br i1 %or.cond547, label %261, label %256

255:                                              ; preds = %249
  %.old546 = fcmp olt x86_fp80 %239, 0xK3FD0B424DC35095CD800
  br i1 %.old546, label %261, label %256

256:                                              ; preds = %251, %255
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %257 unwind label %247

257:                                              ; preds = %256
  %258 = 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 %258, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %233, x86_fp80 noundef %234, x86_fp80 noundef 0xKBFFFC000000000000000)
          to label %.critedge493 unwind label %259

259:                                              ; preds = %257
  %260 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %278

261:                                              ; preds = %241, %251, %255
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %262 unwind label %247

262:                                              ; preds = %261
  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 %233, x86_fp80 noundef %239, x86_fp80 noundef 0xKBFFFC000000000000000)
          to label %.critedge493 unwind label %263

263:                                              ; preds = %262
  %264 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %278

.critedge493:                                     ; preds = %262, %257
  %.sink581 = phi ptr [ %21, %257 ], [ %22, %262 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink581) #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
  %265 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %266 = add nsw i32 %265, 1
  store i32 %266, 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 %267 unwind label %280

267:                                              ; preds = %.critedge493
  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
  %268 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFEC1BDCF0307F23CC9) #7
  %269 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFEC1BDCF0307F23CC9)
  %270 = fsub x86_fp80 %268, %269
  %271 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %270)
  %272 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %269)
  %273 = fadd x86_fp80 %272, 0xK3FFF8000000000000000
  %274 = fdiv x86_fp80 %271, %273
  %275 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %268)
  br i1 %275, label %276, label %284

276:                                              ; preds = %267
  %277 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %269)
  br i1 %277, label %296, label %284

278:                                              ; preds = %263, %259, %247
  %.pn431 = phi { ptr, i32 } [ %264, %263 ], [ %248, %247 ], [ %260, %259 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %279

279:                                              ; preds = %278, %245
  %.pn431.pn = phi { ptr, i32 } [ %.pn431, %278 ], [ %246, %245 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %805

280:                                              ; preds = %.critedge493
  %281 = 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 %314

282:                                              ; preds = %296, %291
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %313

284:                                              ; preds = %276, %267
  %285 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %268)
  br i1 %285, label %290, label %286

286:                                              ; preds = %284
  %287 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %268)
  %288 = fcmp oeq x86_fp80 %268, %269
  %or.cond494 = and i1 %288, %287
  %289 = fcmp olt x86_fp80 %274, 0xK3FD0B424DC35095CD800
  %or.cond549 = or i1 %289, %or.cond494
  br i1 %or.cond549, label %296, label %291

290:                                              ; preds = %284
  %.old548 = fcmp olt x86_fp80 %274, 0xK3FD0B424DC35095CD800
  br i1 %.old548, label %296, label %291

291:                                              ; preds = %286, %290
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %292 unwind label %282

292:                                              ; preds = %291
  %293 = 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 %293, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %268, x86_fp80 noundef %269, x86_fp80 noundef 0xK3FFEC1BDCF0307F23CC9)
          to label %.critedge496 unwind label %294

294:                                              ; preds = %292
  %295 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %313

296:                                              ; preds = %276, %286, %290
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %297 unwind label %282

297:                                              ; preds = %296
  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 %268, x86_fp80 noundef %274, x86_fp80 noundef 0xK3FFEC1BDCF0307F23CC9)
          to label %.critedge496 unwind label %298

298:                                              ; preds = %297
  %299 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %313

.critedge496:                                     ; preds = %297, %292
  %.sink582 = phi ptr [ %25, %292 ], [ %26, %297 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink582) #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
  %300 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %301 = add nsw i32 %300, 1
  store i32 %301, 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 %302 unwind label %315

302:                                              ; preds = %.critedge496
  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
  %303 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFEFD70A3D70A3D70A4) #7
  %304 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFEFD70A3D70A3D70A4)
  %305 = fsub x86_fp80 %303, %304
  %306 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %305)
  %307 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %304)
  %308 = fadd x86_fp80 %307, 0xK3FFF8000000000000000
  %309 = fdiv x86_fp80 %306, %308
  %310 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %303)
  br i1 %310, label %311, label %319

311:                                              ; preds = %302
  %312 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %304)
  br i1 %312, label %331, label %319

313:                                              ; preds = %298, %294, %282
  %.pn434 = phi { ptr, i32 } [ %299, %298 ], [ %283, %282 ], [ %295, %294 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %314

314:                                              ; preds = %313, %280
  %.pn434.pn = phi { ptr, i32 } [ %.pn434, %313 ], [ %281, %280 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %805

315:                                              ; preds = %.critedge496
  %316 = 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 %349

317:                                              ; preds = %331, %326
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %348

319:                                              ; preds = %311, %302
  %320 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %303)
  br i1 %320, label %325, label %321

321:                                              ; preds = %319
  %322 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %303)
  %323 = fcmp oeq x86_fp80 %303, %304
  %or.cond497 = and i1 %323, %322
  %324 = fcmp olt x86_fp80 %309, 0xK3FD0B424DC35095CD800
  %or.cond551 = or i1 %324, %or.cond497
  br i1 %or.cond551, label %331, label %326

325:                                              ; preds = %319
  %.old550 = fcmp olt x86_fp80 %309, 0xK3FD0B424DC35095CD800
  br i1 %.old550, label %331, label %326

326:                                              ; preds = %321, %325
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %327 unwind label %317

327:                                              ; preds = %326
  %328 = 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 %328, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %303, x86_fp80 noundef %304, x86_fp80 noundef 0xK3FFEFD70A3D70A3D70A4)
          to label %.critedge499 unwind label %329

329:                                              ; preds = %327
  %330 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %348

331:                                              ; preds = %311, %321, %325
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %332 unwind label %317

332:                                              ; preds = %331
  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 %303, x86_fp80 noundef %309, x86_fp80 noundef 0xK3FFEFD70A3D70A3D70A4)
          to label %.critedge499 unwind label %333

333:                                              ; preds = %332
  %334 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %348

.critedge499:                                     ; preds = %332, %327
  %.sink583 = phi ptr [ %29, %327 ], [ %30, %332 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink583) #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
  %335 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %336 = add nsw i32 %335, 1
  store i32 %336, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #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 %337 unwind label %350

337:                                              ; preds = %.critedge499
  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
  %338 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFBEB851EB851EB852) #7
  %339 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFFBEB851EB851EB852)
  %340 = fsub x86_fp80 %338, %339
  %341 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %340)
  %342 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %339)
  %343 = fadd x86_fp80 %342, 0xK3FFF8000000000000000
  %344 = fdiv x86_fp80 %341, %343
  %345 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %338)
  br i1 %345, label %346, label %354

346:                                              ; preds = %337
  %347 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %339)
  br i1 %347, label %366, label %354

348:                                              ; preds = %333, %329, %317
  %.pn437 = phi { ptr, i32 } [ %334, %333 ], [ %318, %317 ], [ %330, %329 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %349

349:                                              ; preds = %348, %315
  %.pn437.pn = phi { ptr, i32 } [ %.pn437, %348 ], [ %316, %315 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %805

350:                                              ; preds = %.critedge499
  %351 = 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 %384

352:                                              ; preds = %366, %361
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %383

354:                                              ; preds = %346, %337
  %355 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %338)
  br i1 %355, label %360, label %356

356:                                              ; preds = %354
  %357 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %338)
  %358 = fcmp oeq x86_fp80 %338, %339
  %or.cond500 = and i1 %358, %357
  %359 = fcmp olt x86_fp80 %344, 0xK3FD0B424DC35095CD800
  %or.cond553 = or i1 %359, %or.cond500
  br i1 %or.cond553, label %366, label %361

360:                                              ; preds = %354
  %.old552 = fcmp olt x86_fp80 %344, 0xK3FD0B424DC35095CD800
  br i1 %.old552, label %366, label %361

361:                                              ; preds = %356, %360
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %362 unwind label %352

362:                                              ; preds = %361
  %363 = 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 %363, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %338, x86_fp80 noundef %339, x86_fp80 noundef 0xK3FFFBEB851EB851EB852)
          to label %.critedge502 unwind label %364

364:                                              ; preds = %362
  %365 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %383

366:                                              ; preds = %346, %356, %360
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %367 unwind label %352

367:                                              ; preds = %366
  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 %338, x86_fp80 noundef %344, x86_fp80 noundef 0xK3FFFBEB851EB851EB852)
          to label %.critedge502 unwind label %368

368:                                              ; preds = %367
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %383

.critedge502:                                     ; preds = %367, %362
  %.sink584 = phi ptr [ %33, %362 ], [ %34, %367 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink584) #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
  %370 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %371 = add nsw i32 %370, 1
  store i32 %371, 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 %372 unwind label %385

372:                                              ; preds = %.critedge502
  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
  %373 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK3FFFFEB851EB851EB852) #7
  %374 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK3FFFFEB851EB851EB852)
  %375 = fsub x86_fp80 %373, %374
  %376 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %375)
  %377 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %374)
  %378 = fadd x86_fp80 %377, 0xK3FFF8000000000000000
  %379 = fdiv x86_fp80 %376, %378
  %380 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %373)
  br i1 %380, label %381, label %389

381:                                              ; preds = %372
  %382 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %374)
  br i1 %382, label %401, label %389

383:                                              ; preds = %368, %364, %352
  %.pn440 = phi { ptr, i32 } [ %369, %368 ], [ %353, %352 ], [ %365, %364 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %384

384:                                              ; preds = %383, %350
  %.pn440.pn = phi { ptr, i32 } [ %.pn440, %383 ], [ %351, %350 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %805

385:                                              ; preds = %.critedge502
  %386 = 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 %419

387:                                              ; preds = %401, %396
  %388 = landingpad { ptr, i32 }
          cleanup
  br label %418

389:                                              ; preds = %381, %372
  %390 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %373)
  br i1 %390, label %395, label %391

391:                                              ; preds = %389
  %392 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %373)
  %393 = fcmp oeq x86_fp80 %373, %374
  %or.cond503 = and i1 %393, %392
  %394 = fcmp olt x86_fp80 %379, 0xK3FD0B424DC35095CD800
  %or.cond555 = or i1 %394, %or.cond503
  br i1 %or.cond555, label %401, label %396

395:                                              ; preds = %389
  %.old554 = fcmp olt x86_fp80 %379, 0xK3FD0B424DC35095CD800
  br i1 %.old554, label %401, label %396

396:                                              ; preds = %391, %395
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %397 unwind label %387

397:                                              ; preds = %396
  %398 = 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 %398, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %373, x86_fp80 noundef %374, x86_fp80 noundef 0xK3FFFFEB851EB851EB852)
          to label %.critedge505 unwind label %399

399:                                              ; preds = %397
  %400 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %418

401:                                              ; preds = %381, %391, %395
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %402 unwind label %387

402:                                              ; preds = %401
  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 %373, x86_fp80 noundef %379, x86_fp80 noundef 0xK3FFFFEB851EB851EB852)
          to label %.critedge505 unwind label %403

403:                                              ; preds = %402
  %404 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %418

.critedge505:                                     ; preds = %402, %397
  %.sink585 = phi ptr [ %37, %397 ], [ %38, %402 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink585) #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
  %405 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %406 = add nsw i32 %405, 1
  store i32 %406, 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 %407 unwind label %420

407:                                              ; preds = %.critedge505
  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
  %408 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK40009F5C28F5C28F5C29) #7
  %409 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK40009F5C28F5C28F5C29)
  %410 = fsub x86_fp80 %408, %409
  %411 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %410)
  %412 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %409)
  %413 = fadd x86_fp80 %412, 0xK3FFF8000000000000000
  %414 = fdiv x86_fp80 %411, %413
  %415 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %408)
  br i1 %415, label %416, label %424

416:                                              ; preds = %407
  %417 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %409)
  br i1 %417, label %436, label %424

418:                                              ; preds = %403, %399, %387
  %.pn443 = phi { ptr, i32 } [ %404, %403 ], [ %388, %387 ], [ %400, %399 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %419

419:                                              ; preds = %418, %385
  %.pn443.pn = phi { ptr, i32 } [ %.pn443, %418 ], [ %386, %385 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %805

420:                                              ; preds = %.critedge505
  %421 = 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 %454

422:                                              ; preds = %436, %431
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %453

424:                                              ; preds = %416, %407
  %425 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %408)
  br i1 %425, label %430, label %426

426:                                              ; preds = %424
  %427 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %408)
  %428 = fcmp oeq x86_fp80 %408, %409
  %or.cond506 = and i1 %428, %427
  %429 = fcmp olt x86_fp80 %414, 0xK3FD0B424DC35095CD800
  %or.cond557 = or i1 %429, %or.cond506
  br i1 %or.cond557, label %436, label %431

430:                                              ; preds = %424
  %.old556 = fcmp olt x86_fp80 %414, 0xK3FD0B424DC35095CD800
  br i1 %.old556, label %436, label %431

431:                                              ; preds = %426, %430
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %432 unwind label %422

432:                                              ; preds = %431
  %433 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %41, i32 noundef %433, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %408, x86_fp80 noundef %409, x86_fp80 noundef 0xK40009F5C28F5C28F5C29)
          to label %.critedge508 unwind label %434

434:                                              ; preds = %432
  %435 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %453

436:                                              ; preds = %416, %426, %430
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %437 unwind label %422

437:                                              ; preds = %436
  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 %408, x86_fp80 noundef %414, x86_fp80 noundef 0xK40009F5C28F5C28F5C29)
          to label %.critedge508 unwind label %438

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

.critedge508:                                     ; preds = %437, %432
  %.sink586 = phi ptr [ %41, %432 ], [ %42, %437 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink586) #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
  %440 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %441 = add nsw i32 %440, 1
  store i32 %441, 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 %442 unwind label %455

442:                                              ; preds = %.critedge508
  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
  %443 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000A0A3D70A3D70A3D7) #7
  %444 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4000A0A3D70A3D70A3D7)
  %445 = fsub x86_fp80 %443, %444
  %446 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %445)
  %447 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %444)
  %448 = fadd x86_fp80 %447, 0xK3FFF8000000000000000
  %449 = fdiv x86_fp80 %446, %448
  %450 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %443)
  br i1 %450, label %451, label %459

451:                                              ; preds = %442
  %452 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %444)
  br i1 %452, label %471, label %459

453:                                              ; preds = %438, %434, %422
  %.pn446 = phi { ptr, i32 } [ %439, %438 ], [ %423, %422 ], [ %435, %434 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %454

454:                                              ; preds = %453, %420
  %.pn446.pn = phi { ptr, i32 } [ %.pn446, %453 ], [ %421, %420 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  br label %805

455:                                              ; preds = %.critedge508
  %456 = 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 %489

457:                                              ; preds = %471, %466
  %458 = landingpad { ptr, i32 }
          cleanup
  br label %488

459:                                              ; preds = %451, %442
  %460 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %443)
  br i1 %460, label %465, label %461

461:                                              ; preds = %459
  %462 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %443)
  %463 = fcmp oeq x86_fp80 %443, %444
  %or.cond509 = and i1 %463, %462
  %464 = fcmp olt x86_fp80 %449, 0xK3FD0B424DC35095CD800
  %or.cond559 = or i1 %464, %or.cond509
  br i1 %or.cond559, label %471, label %466

465:                                              ; preds = %459
  %.old558 = fcmp olt x86_fp80 %449, 0xK3FD0B424DC35095CD800
  br i1 %.old558, label %471, label %466

466:                                              ; preds = %461, %465
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %467 unwind label %457

467:                                              ; preds = %466
  %468 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %45, i32 noundef %468, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %443, x86_fp80 noundef %444, x86_fp80 noundef 0xK4000A0A3D70A3D70A3D7)
          to label %.critedge511 unwind label %469

469:                                              ; preds = %467
  %470 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %488

471:                                              ; preds = %451, %461, %465
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %472 unwind label %457

472:                                              ; preds = %471
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %46, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %443, x86_fp80 noundef %449, x86_fp80 noundef 0xK4000A0A3D70A3D70A3D7)
          to label %.critedge511 unwind label %473

473:                                              ; preds = %472
  %474 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %488

.critedge511:                                     ; preds = %472, %467
  %.sink587 = phi ptr [ %45, %467 ], [ %46, %472 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink587) #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
  %475 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %476 = add nsw i32 %475, 1
  store i32 %476, 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 %477 unwind label %490

477:                                              ; preds = %.critedge511
  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
  %478 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4000FF5C28F5C28F5C29) #7
  %479 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4000FF5C28F5C28F5C29)
  %480 = fsub x86_fp80 %478, %479
  %481 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %480)
  %482 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %479)
  %483 = fadd x86_fp80 %482, 0xK3FFF8000000000000000
  %484 = fdiv x86_fp80 %481, %483
  %485 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %478)
  br i1 %485, label %486, label %494

486:                                              ; preds = %477
  %487 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %479)
  br i1 %487, label %506, label %494

488:                                              ; preds = %473, %469, %457
  %.pn449 = phi { ptr, i32 } [ %474, %473 ], [ %458, %457 ], [ %470, %469 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %489

489:                                              ; preds = %488, %455
  %.pn449.pn = phi { ptr, i32 } [ %.pn449, %488 ], [ %456, %455 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %805

490:                                              ; preds = %.critedge511
  %491 = 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 %524

492:                                              ; preds = %506, %501
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %523

494:                                              ; preds = %486, %477
  %495 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %478)
  br i1 %495, label %500, label %496

496:                                              ; preds = %494
  %497 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %478)
  %498 = fcmp oeq x86_fp80 %478, %479
  %or.cond512 = and i1 %498, %497
  %499 = fcmp olt x86_fp80 %484, 0xK3FD0B424DC35095CD800
  %or.cond561 = or i1 %499, %or.cond512
  br i1 %or.cond561, label %506, label %501

500:                                              ; preds = %494
  %.old560 = fcmp olt x86_fp80 %484, 0xK3FD0B424DC35095CD800
  br i1 %.old560, label %506, label %501

501:                                              ; preds = %496, %500
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %502 unwind label %492

502:                                              ; preds = %501
  %503 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %49, i32 noundef %503, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %478, x86_fp80 noundef %479, x86_fp80 noundef 0xK4000FF5C28F5C28F5C29)
          to label %.critedge514 unwind label %504

504:                                              ; preds = %502
  %505 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %523

506:                                              ; preds = %486, %496, %500
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %507 unwind label %492

507:                                              ; preds = %506
  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 %478, x86_fp80 noundef %484, x86_fp80 noundef 0xK4000FF5C28F5C28F5C29)
          to label %.critedge514 unwind label %508

508:                                              ; preds = %507
  %509 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %523

.critedge514:                                     ; preds = %507, %502
  %.sink588 = phi ptr [ %49, %502 ], [ %50, %507 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink588) #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
  %510 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %511 = add nsw i32 %510, 1
  store i32 %511, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %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 %512 unwind label %525

512:                                              ; preds = %.critedge514
  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
  %513 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4001E000000000000000) #7
  %514 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4001E000000000000000)
  %515 = fsub x86_fp80 %513, %514
  %516 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %515)
  %517 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %514)
  %518 = fadd x86_fp80 %517, 0xK3FFF8000000000000000
  %519 = fdiv x86_fp80 %516, %518
  %520 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %513)
  br i1 %520, label %521, label %529

521:                                              ; preds = %512
  %522 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %514)
  br i1 %522, label %541, label %529

523:                                              ; preds = %508, %504, %492
  %.pn452 = phi { ptr, i32 } [ %509, %508 ], [ %493, %492 ], [ %505, %504 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %524

524:                                              ; preds = %523, %490
  %.pn452.pn = phi { ptr, i32 } [ %.pn452, %523 ], [ %491, %490 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  br label %805

525:                                              ; preds = %.critedge514
  %526 = 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

527:                                              ; preds = %541, %536
  %528 = landingpad { ptr, i32 }
          cleanup
  br label %558

529:                                              ; preds = %521, %512
  %530 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %513)
  br i1 %530, label %535, label %531

531:                                              ; preds = %529
  %532 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %513)
  %533 = fcmp oeq x86_fp80 %513, %514
  %or.cond515 = and i1 %533, %532
  %534 = fcmp olt x86_fp80 %519, 0xK3FD0B424DC35095CD800
  %or.cond563 = or i1 %534, %or.cond515
  br i1 %or.cond563, label %541, label %536

535:                                              ; preds = %529
  %.old562 = fcmp olt x86_fp80 %519, 0xK3FD0B424DC35095CD800
  br i1 %.old562, label %541, label %536

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

537:                                              ; preds = %536
  %538 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %53, i32 noundef %538, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %513, x86_fp80 noundef %514, x86_fp80 noundef 0xK4001E000000000000000)
          to label %.critedge517 unwind label %539

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

541:                                              ; preds = %521, %531, %535
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %542 unwind label %527

542:                                              ; preds = %541
  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 %513, x86_fp80 noundef %519, x86_fp80 noundef 0xK4001E000000000000000)
          to label %.critedge517 unwind label %543

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

.critedge517:                                     ; preds = %542, %537
  %.sink589 = phi ptr [ %53, %537 ], [ %54, %542 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink589) #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
  %545 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %546 = add nsw i32 %545, 1
  store i32 %546, 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 %547 unwind label %560

547:                                              ; preds = %.critedge517
  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
  %548 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4002B000000000000000) #7
  %549 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4002B000000000000000)
  %550 = fsub x86_fp80 %548, %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 %548)
  br i1 %555, label %556, label %564

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

558:                                              ; preds = %543, %539, %527
  %.pn455 = phi { ptr, i32 } [ %544, %543 ], [ %528, %527 ], [ %540, %539 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %559

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

560:                                              ; preds = %.critedge517
  %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 %594

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

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

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

570:                                              ; preds = %564
  %.old564 = fcmp olt x86_fp80 %554, 0xK3FD0B424DC35095CD800
  br i1 %.old564, label %576, 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
  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 %548, x86_fp80 noundef %549, x86_fp80 noundef 0xK4002B000000000000000)
          to label %.critedge520 unwind label %574

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

576:                                              ; 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 %577 unwind label %562

577:                                              ; preds = %576
  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 %548, x86_fp80 noundef %554, x86_fp80 noundef 0xK4002B000000000000000)
          to label %.critedge520 unwind label %578

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

.critedge520:                                     ; preds = %577, %572
  %.sink590 = phi ptr [ %57, %572 ], [ %58, %577 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink590) #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
  %580 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %581 = add nsw i32 %580, 1
  store i32 %581, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %582 unwind label %595

582:                                              ; preds = %.critedge520
  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
  %583 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4003C800000000000000) #7
  %584 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4003C800000000000000)
  %585 = fsub x86_fp80 %583, %584
  %586 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %585)
  %587 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %584)
  %588 = fadd x86_fp80 %587, 0xK3FFF8000000000000000
  %589 = fdiv x86_fp80 %586, %588
  %590 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %583)
  br i1 %590, label %591, label %599

591:                                              ; preds = %582
  %592 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %584)
  br i1 %592, label %611, label %599

593:                                              ; preds = %578, %574, %562
  %.pn458 = phi { ptr, i32 } [ %579, %578 ], [ %563, %562 ], [ %575, %574 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %594

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

595:                                              ; preds = %.critedge520
  %596 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #7
  br label %629

597:                                              ; preds = %611, %606
  %598 = landingpad { ptr, i32 }
          cleanup
  br label %628

599:                                              ; preds = %591, %582
  %600 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %583)
  br i1 %600, label %605, label %601

601:                                              ; preds = %599
  %602 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %583)
  %603 = fcmp oeq x86_fp80 %583, %584
  %or.cond521 = and i1 %603, %602
  %604 = fcmp olt x86_fp80 %589, 0xK3FD0B424DC35095CD800
  %or.cond567 = or i1 %604, %or.cond521
  br i1 %or.cond567, label %611, label %606

605:                                              ; preds = %599
  %.old566 = fcmp olt x86_fp80 %589, 0xK3FD0B424DC35095CD800
  br i1 %.old566, label %611, label %606

606:                                              ; preds = %601, %605
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %607 unwind label %597

607:                                              ; preds = %606
  %608 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %61, i32 noundef %608, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %583, x86_fp80 noundef %584, x86_fp80 noundef 0xK4003C800000000000000)
          to label %.critedge523 unwind label %609

609:                                              ; preds = %607
  %610 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %628

611:                                              ; preds = %591, %601, %605
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %612 unwind label %597

612:                                              ; preds = %611
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %62, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %583, x86_fp80 noundef %589, x86_fp80 noundef 0xK4003C800000000000000)
          to label %.critedge523 unwind label %613

613:                                              ; preds = %612
  %614 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %628

.critedge523:                                     ; preds = %612, %607
  %.sink591 = phi ptr [ %61, %607 ], [ %62, %612 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink591) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  %615 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %616 = add nsw i32 %615, 1
  store i32 %616, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %617 unwind label %630

617:                                              ; preds = %.critedge523
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #7
  %618 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4005CA00000000000000) #7
  %619 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4005CA00000000000000)
  %620 = fsub x86_fp80 %618, %619
  %621 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %620)
  %622 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %619)
  %623 = fadd x86_fp80 %622, 0xK3FFF8000000000000000
  %624 = fdiv x86_fp80 %621, %623
  %625 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %618)
  br i1 %625, label %626, label %634

626:                                              ; preds = %617
  %627 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %619)
  br i1 %627, label %646, label %634

628:                                              ; preds = %613, %609, %597
  %.pn461 = phi { ptr, i32 } [ %614, %613 ], [ %598, %597 ], [ %610, %609 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %629

629:                                              ; preds = %628, %595
  %.pn461.pn = phi { ptr, i32 } [ %.pn461, %628 ], [ %596, %595 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %805

630:                                              ; preds = %.critedge523
  %631 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #7
  br label %664

632:                                              ; preds = %646, %641
  %633 = landingpad { ptr, i32 }
          cleanup
  br label %663

634:                                              ; preds = %626, %617
  %635 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %618)
  br i1 %635, label %640, label %636

636:                                              ; preds = %634
  %637 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %618)
  %638 = fcmp oeq x86_fp80 %618, %619
  %or.cond524 = and i1 %638, %637
  %639 = fcmp olt x86_fp80 %624, 0xK3FD0B424DC35095CD800
  %or.cond569 = or i1 %639, %or.cond524
  br i1 %or.cond569, label %646, label %641

640:                                              ; preds = %634
  %.old568 = fcmp olt x86_fp80 %624, 0xK3FD0B424DC35095CD800
  br i1 %.old568, label %646, label %641

641:                                              ; preds = %636, %640
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %642 unwind label %632

642:                                              ; preds = %641
  %643 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %65, i32 noundef %643, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %618, x86_fp80 noundef %619, x86_fp80 noundef 0xK4005CA00000000000000)
          to label %.critedge526 unwind label %644

644:                                              ; preds = %642
  %645 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %663

646:                                              ; preds = %626, %636, %640
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %647 unwind label %632

647:                                              ; preds = %646
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %66, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %618, x86_fp80 noundef %624, x86_fp80 noundef 0xK4005CA00000000000000)
          to label %.critedge526 unwind label %648

648:                                              ; preds = %647
  %649 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  br label %663

.critedge526:                                     ; preds = %647, %642
  %.sink592 = phi ptr [ %65, %642 ], [ %66, %647 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink592) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  %650 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %651 = add nsw i32 %650, 1
  store i32 %651, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %652 unwind label %665

652:                                              ; preds = %.critedge526
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #7
  %653 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4008E100000000000000) #7
  %654 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4008E100000000000000)
  %655 = fsub x86_fp80 %653, %654
  %656 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %655)
  %657 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %654)
  %658 = fadd x86_fp80 %657, 0xK3FFF8000000000000000
  %659 = fdiv x86_fp80 %656, %658
  %660 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %653)
  br i1 %660, label %661, label %669

661:                                              ; preds = %652
  %662 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %654)
  br i1 %662, label %681, label %669

663:                                              ; preds = %648, %644, %632
  %.pn464 = phi { ptr, i32 } [ %649, %648 ], [ %633, %632 ], [ %645, %644 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %664

664:                                              ; preds = %663, %630
  %.pn464.pn = phi { ptr, i32 } [ %.pn464, %663 ], [ %631, %630 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  br label %805

665:                                              ; preds = %.critedge526
  %666 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #7
  br label %699

667:                                              ; preds = %681, %676
  %668 = landingpad { ptr, i32 }
          cleanup
  br label %698

669:                                              ; preds = %661, %652
  %670 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %653)
  br i1 %670, label %675, label %671

671:                                              ; preds = %669
  %672 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %653)
  %673 = fcmp oeq x86_fp80 %653, %654
  %or.cond527 = and i1 %673, %672
  %674 = fcmp olt x86_fp80 %659, 0xK3FD0B424DC35095CD800
  %or.cond571 = or i1 %674, %or.cond527
  br i1 %or.cond571, label %681, label %676

675:                                              ; preds = %669
  %.old570 = fcmp olt x86_fp80 %659, 0xK3FD0B424DC35095CD800
  br i1 %.old570, label %681, label %676

676:                                              ; preds = %671, %675
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %677 unwind label %667

677:                                              ; preds = %676
  %678 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %69, i32 noundef %678, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %653, x86_fp80 noundef %654, x86_fp80 noundef 0xK4008E100000000000000)
          to label %.critedge529 unwind label %679

679:                                              ; preds = %677
  %680 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %698

681:                                              ; preds = %661, %671, %675
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %682 unwind label %667

682:                                              ; preds = %681
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %70, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %653, x86_fp80 noundef %659, x86_fp80 noundef 0xK4008E100000000000000)
          to label %.critedge529 unwind label %683

683:                                              ; preds = %682
  %684 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %698

.critedge529:                                     ; preds = %682, %677
  %.sink593 = phi ptr [ %69, %677 ], [ %70, %682 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink593) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  %685 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %686 = add nsw i32 %685, 1
  store i32 %686, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %687 unwind label %700

687:                                              ; preds = %.critedge529
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  %688 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4008FA40000000000000) #7
  %689 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4008FA40000000000000)
  %690 = fsub x86_fp80 %688, %689
  %691 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %690)
  %692 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %689)
  %693 = fadd x86_fp80 %692, 0xK3FFF8000000000000000
  %694 = fdiv x86_fp80 %691, %693
  %695 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %688)
  br i1 %695, label %696, label %704

696:                                              ; preds = %687
  %697 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %689)
  br i1 %697, label %716, label %704

698:                                              ; preds = %683, %679, %667
  %.pn467 = phi { ptr, i32 } [ %684, %683 ], [ %668, %667 ], [ %680, %679 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  br label %699

699:                                              ; preds = %698, %665
  %.pn467.pn = phi { ptr, i32 } [ %.pn467, %698 ], [ %666, %665 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  br label %805

700:                                              ; preds = %.critedge529
  %701 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  br label %734

702:                                              ; preds = %716, %711
  %703 = landingpad { ptr, i32 }
          cleanup
  br label %733

704:                                              ; preds = %696, %687
  %705 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %688)
  br i1 %705, label %710, label %706

706:                                              ; preds = %704
  %707 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %688)
  %708 = fcmp oeq x86_fp80 %688, %689
  %or.cond530 = and i1 %708, %707
  %709 = fcmp olt x86_fp80 %694, 0xK3FD0B424DC35095CD800
  %or.cond573 = or i1 %709, %or.cond530
  br i1 %or.cond573, label %716, label %711

710:                                              ; preds = %704
  %.old572 = fcmp olt x86_fp80 %694, 0xK3FD0B424DC35095CD800
  br i1 %.old572, label %716, label %711

711:                                              ; preds = %706, %710
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %712 unwind label %702

712:                                              ; preds = %711
  %713 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %73, i32 noundef %713, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %688, x86_fp80 noundef %689, x86_fp80 noundef 0xK4008FA40000000000000)
          to label %.critedge532 unwind label %714

714:                                              ; preds = %712
  %715 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %733

716:                                              ; preds = %696, %706, %710
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %717 unwind label %702

717:                                              ; preds = %716
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %74, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %688, x86_fp80 noundef %694, x86_fp80 noundef 0xK4008FA40000000000000)
          to label %.critedge532 unwind label %718

718:                                              ; preds = %717
  %719 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br label %733

.critedge532:                                     ; preds = %717, %712
  %.sink594 = phi ptr [ %73, %712 ], [ %74, %717 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink594) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  %720 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %721 = add nsw i32 %720, 1
  store i32 %721, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %722 unwind label %735

722:                                              ; preds = %.critedge532
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #7
  %723 = call noundef x86_fp80 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef 0xK4012F424000000000000) #7
  %724 = call noundef x86_fp80 @_ZSt4atane(x86_fp80 noundef 0xK4012F424000000000000)
  %725 = fsub x86_fp80 %723, %724
  %726 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %725)
  %727 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %724)
  %728 = fadd x86_fp80 %727, 0xK3FFF8000000000000000
  %729 = fdiv x86_fp80 %726, %728
  %730 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %723)
  br i1 %730, label %731, label %739

731:                                              ; preds = %722
  %732 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %724)
  br i1 %732, label %751, label %739

733:                                              ; preds = %718, %714, %702
  %.pn470 = phi { ptr, i32 } [ %719, %718 ], [ %703, %702 ], [ %715, %714 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %734

734:                                              ; preds = %733, %700
  %.pn470.pn = phi { ptr, i32 } [ %.pn470, %733 ], [ %701, %700 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  br label %805

735:                                              ; preds = %.critedge532
  %736 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #7
  br label %773

737:                                              ; preds = %751, %746
  %738 = landingpad { ptr, i32 }
          cleanup
  br label %772

739:                                              ; preds = %731, %722
  %740 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %723)
  br i1 %740, label %745, label %741

741:                                              ; preds = %739
  %742 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %723)
  %743 = fcmp oeq x86_fp80 %723, %724
  %or.cond533 = and i1 %743, %742
  %744 = fcmp olt x86_fp80 %729, 0xK3FD0B424DC35095CD800
  %or.cond575 = or i1 %744, %or.cond533
  br i1 %or.cond575, label %751, label %746

745:                                              ; preds = %739
  %.old574 = fcmp olt x86_fp80 %729, 0xK3FD0B424DC35095CD800
  br i1 %.old574, label %751, label %746

746:                                              ; preds = %741, %745
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %747 unwind label %737

747:                                              ; preds = %746
  %748 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  invoke void @_Z15print_test_failIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %77, i32 noundef %748, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %723, x86_fp80 noundef %724, x86_fp80 noundef 0xK4012F424000000000000)
          to label %.critedge535 unwind label %749

749:                                              ; preds = %747
  %750 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %772

751:                                              ; preds = %731, %741, %745
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %752 unwind label %737

752:                                              ; preds = %751
  invoke void @_Z15print_test_passIeeeEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %78, i32 noundef 3, i32 noundef 6, i32 noundef 18, x86_fp80 noundef %723, x86_fp80 noundef %729, x86_fp80 noundef 0xK4012F424000000000000)
          to label %.critedge535 unwind label %753

753:                                              ; preds = %752
  %754 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  br label %772

.critedge535:                                     ; preds = %752, %747
  %.sink595 = phi ptr [ %77, %747 ], [ %78, %752 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink595) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #7
  %755 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %756 = add nsw i32 %755, 1
  store i32 %756, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %757 unwind label %774

757:                                              ; preds = %.critedge535
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #7
  %758 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %759 = call noundef double @_ZN4gcem4atanIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef %758) #7
  %760 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  %761 = call double @atan(double noundef %760) #7
  %762 = fsub double %759, %761
  %763 = call noundef double @_ZSt3absd(double noundef %762)
  %764 = call noundef double @_ZSt3absd(double noundef %761)
  %765 = fadd double %764, 1.000000e+00
  %766 = fdiv double %763, %765
  %767 = fpext double %759 to x86_fp80
  %768 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %767)
  br i1 %768, label %769, label %778

769:                                              ; preds = %757
  %770 = fpext double %761 to x86_fp80
  %771 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %770)
  br i1 %771, label %791, label %778

772:                                              ; preds = %753, %749, %737
  %.pn473 = phi { ptr, i32 } [ %754, %753 ], [ %738, %737 ], [ %750, %749 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  br label %773

773:                                              ; preds = %772, %735
  %.pn473.pn = phi { ptr, i32 } [ %.pn473, %772 ], [ %736, %735 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #7
  br label %805

774:                                              ; preds = %.critedge535
  %775 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #7
  br label %799

776:                                              ; preds = %791, %785
  %777 = landingpad { ptr, i32 }
          cleanup
  br label %798

778:                                              ; preds = %769, %757
  %779 = call noundef zeroext i1 @_ZSt5isnane(x86_fp80 noundef %767)
  br i1 %779, label %784, label %780

780:                                              ; preds = %778
  %781 = call noundef zeroext i1 @_ZSt5isinfe(x86_fp80 noundef %767)
  %782 = fcmp oeq double %759, %761
  %or.cond536 = and i1 %782, %781
  %783 = fcmp olt double %766, 0x3D06849B86A12B9B
  %or.cond577 = or i1 %783, %or.cond536
  br i1 %or.cond577, label %791, label %785

784:                                              ; preds = %778
  %.old576 = fcmp olt double %766, 0x3D06849B86A12B9B
  br i1 %.old576, label %791, label %785

785:                                              ; preds = %780, %784
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %786 unwind label %776

786:                                              ; preds = %785
  %787 = load i32, ptr @GCEM_TEST_NUMBER, align 4, !tbaa !5
  %788 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_failIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiT_T0_T1_(ptr noundef nonnull %81, i32 noundef %787, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %759, double noundef %761, double noundef %788)
          to label %.critedge538 unwind label %789

789:                                              ; preds = %786
  %790 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %798

791:                                              ; preds = %769, %780, %784
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %792 unwind label %776

792:                                              ; preds = %791
  %793 = call noundef double @_ZNSt14numeric_limitsIdE9quiet_NaNEv() #7
  invoke void @_Z15print_test_passIdddEvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiT_T0_T1_(ptr noundef nonnull %82, i32 noundef 3, i32 noundef 6, i32 noundef 18, double noundef %759, double noundef %766, double noundef %793)
          to label %.critedge538 unwind label %794

794:                                              ; preds = %792
  %795 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  br label %798

.critedge538:                                     ; preds = %792, %786
  %.sink596 = phi ptr [ %81, %786 ], [ %82, %792 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink596) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %796 unwind label %800

796:                                              ; preds = %.critedge538
  invoke void @_Z11print_finalNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %83)
          to label %797 unwind label %802

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

798:                                              ; preds = %794, %789, %776
  %.pn476 = phi { ptr, i32 } [ %795, %794 ], [ %777, %776 ], [ %790, %789 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %799

799:                                              ; preds = %798, %774
  %.pn476.pn = phi { ptr, i32 } [ %.pn476, %798 ], [ %775, %774 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #7
  br label %805

800:                                              ; preds = %.critedge538
  %801 = landingpad { ptr, i32 }
          cleanup
  br label %804

802:                                              ; preds = %796
  %803 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  br label %804

804:                                              ; preds = %802, %800
  %.pn479 = phi { ptr, i32 } [ %803, %802 ], [ %801, %800 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #7
  br label %805

805:                                              ; preds = %804, %799, %773, %734, %699, %664, %629, %594, %559, %524, %489, %454, %419, %384, %349, %314, %279, %244, %209, %174, %139, %104
  %.pn479.pn = phi { ptr, i32 } [ %.pn479, %804 ], [ %.pn476.pn, %799 ], [ %.pn473.pn, %773 ], [ %.pn470.pn, %734 ], [ %.pn467.pn, %699 ], [ %.pn464.pn, %664 ], [ %.pn461.pn, %629 ], [ %.pn458.pn, %594 ], [ %.pn455.pn, %559 ], [ %.pn452.pn, %524 ], [ %.pn449.pn, %489 ], [ %.pn446.pn, %454 ], [ %.pn443.pn, %419 ], [ %.pn440.pn, %384 ], [ %.pn437.pn, %349 ], [ %.pn434.pn, %314 ], [ %.pn431.pn, %279 ], [ %.pn428.pn, %244 ], [ %.pn425.pn, %209 ], [ %.pn422.pn, %174 ], [ %.pn419.pn, %139 ], [ %.pn, %104 ]
  resume { ptr, i32 } %.pn479.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 @_ZN4gcem4atanIeEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(x86_fp80 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt4atane(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 double @_ZN4gcem4atanIdEENSt11conditionalIXsr3std11is_integralIT_EE5valueEdS2_E4typeES2_(double noundef) local_unnamed_addr #3

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @atan(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: 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