; LLVM IR from WayneLin92/SSeqCpp :: thirdparty/fmt/test/color-test.ll (ZN22color_test_format_Test8TestBodyEv)

; 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.testing::AssertionResult" = type { i8, %"class.std::unique_ptr" }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.1" }
%"struct.std::_Head_base.1" = type { ptr }
%"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.fmt::v10::text_style" = type <{ %"struct.fmt::v10::detail::color_type", %"struct.fmt::v10::detail::color_type", i8, i8, i8, i8 }>
%"struct.fmt::v10::detail::color_type" = type { i8, %"union.fmt::v10::detail::color_type::color_union" }
%"union.fmt::v10::detail::color_type::color_union" = type { i32 }
%"struct.fmt::v10::rgb" = type { i8, i8, i8 }
%"class.testing::Message" = type { %"class.std::unique_ptr.2" }
%"class.std::unique_ptr.2" = type { %"struct.std::__uniq_ptr_data.3" }
%"struct.std::__uniq_ptr_data.3" = type { %"class.std::__uniq_ptr_impl.4" }
%"class.std::__uniq_ptr_impl.4" = type { %"class.std::tuple.5" }
%"class.std::tuple.5" = type { %"struct.std::_Tuple_impl.6" }
%"struct.std::_Tuple_impl.6" = type { %"struct.std::_Head_base.9" }
%"struct.std::_Head_base.9" = type { ptr }
%"class.testing::internal::AssertHelper" = type { ptr }
%"class.fmt::v10::basic_format_string" = type { %"class.fmt::v10::basic_string_view" }
%"class.fmt::v10::basic_string_view" = type { ptr, i64 }
%"struct.fmt::v10::detail::styled_arg" = type <{ ptr, %"class.fmt::v10::text_style", [4 x i8] }>
%"struct.fmt::v10::detail::styled_arg.10" = type <{ ptr, %"class.fmt::v10::text_style", [4 x i8] }>
%"class.fmt::v10::basic_format_string.12" = type { %"class.fmt::v10::basic_string_view" }

@.str.3 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [31 x i8], align 1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

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 #1 align 2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN22color_test_format_Test8TestBodyEv(ptr noundef nonnull align 8 dereferenceable(16) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.testing::AssertionResult", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.fmt::v10::text_style", align 4
  %6 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %7 = alloca %"struct.fmt::v10::rgb", align 1
  %8 = alloca i24, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.testing::Message", align 8
  %12 = alloca %"class.testing::internal::AssertHelper", align 8
  %13 = alloca %"class.testing::AssertionResult", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.fmt::v10::text_style", align 4
  %16 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %17 = alloca %"class.testing::Message", align 8
  %18 = alloca %"class.testing::internal::AssertHelper", align 8
  %19 = alloca %"class.testing::AssertionResult", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.fmt::v10::text_style", align 4
  %22 = alloca %"class.fmt::v10::text_style", align 8
  %23 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %24 = alloca %"class.fmt::v10::text_style", align 4
  %25 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %26 = alloca %"class.testing::Message", align 8
  %27 = alloca %"class.testing::internal::AssertHelper", align 8
  %28 = alloca %"class.testing::AssertionResult", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.fmt::v10::text_style", align 4
  %31 = alloca %"class.testing::Message", align 8
  %32 = alloca %"class.testing::internal::AssertHelper", align 8
  %33 = alloca %"class.testing::AssertionResult", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.fmt::v10::text_style", align 4
  %36 = alloca %"class.testing::Message", align 8
  %37 = alloca %"class.testing::internal::AssertHelper", align 8
  %38 = alloca %"class.testing::AssertionResult", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.fmt::v10::text_style", align 4
  %41 = alloca %"class.testing::Message", align 8
  %42 = alloca %"class.testing::internal::AssertHelper", align 8
  %43 = alloca %"class.testing::AssertionResult", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.fmt::v10::text_style", align 4
  %46 = alloca %"class.testing::Message", align 8
  %47 = alloca %"class.testing::internal::AssertHelper", align 8
  %48 = alloca %"class.testing::AssertionResult", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.fmt::v10::text_style", align 4
  %51 = alloca %"class.testing::Message", align 8
  %52 = alloca %"class.testing::internal::AssertHelper", align 8
  %53 = alloca %"class.testing::AssertionResult", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.fmt::v10::text_style", align 4
  %56 = alloca %"class.testing::Message", align 8
  %57 = alloca %"class.testing::internal::AssertHelper", align 8
  %58 = alloca %"class.testing::AssertionResult", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.fmt::v10::text_style", align 4
  %61 = alloca %"class.testing::Message", align 8
  %62 = alloca %"class.testing::internal::AssertHelper", align 8
  %63 = alloca %"class.testing::AssertionResult", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.fmt::v10::text_style", align 4
  %66 = alloca %"class.testing::Message", align 8
  %67 = alloca %"class.testing::internal::AssertHelper", align 8
  %68 = alloca %"class.testing::AssertionResult", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.fmt::v10::text_style", align 4
  %71 = alloca %"class.fmt::v10::text_style", align 8
  %72 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %73 = alloca %"class.fmt::v10::text_style", align 4
  %74 = alloca %"class.testing::Message", align 8
  %75 = alloca %"class.testing::internal::AssertHelper", align 8
  %76 = alloca %"class.testing::AssertionResult", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.fmt::v10::text_style", align 4
  %79 = alloca %"class.testing::Message", align 8
  %80 = alloca %"class.testing::internal::AssertHelper", align 8
  %81 = alloca %"class.testing::AssertionResult", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.fmt::v10::text_style", align 4
  %84 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %85 = alloca %"class.testing::Message", align 8
  %86 = alloca %"class.testing::internal::AssertHelper", align 8
  %87 = alloca %"class.testing::AssertionResult", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.fmt::v10::text_style", align 4
  %90 = alloca %"class.testing::Message", align 8
  %91 = alloca %"class.testing::internal::AssertHelper", align 8
  %92 = alloca %"class.testing::AssertionResult", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.fmt::v10::text_style", align 4
  %95 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %96 = alloca %"class.testing::Message", align 8
  %97 = alloca %"class.testing::internal::AssertHelper", align 8
  %98 = alloca %"class.testing::AssertionResult", align 8
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.fmt::v10::text_style", align 4
  %101 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %102 = alloca %"class.testing::Message", align 8
  %103 = alloca %"class.testing::internal::AssertHelper", align 8
  %104 = alloca %"class.testing::AssertionResult", align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.fmt::v10::text_style", align 4
  %107 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %108 = alloca %"class.testing::Message", align 8
  %109 = alloca %"class.testing::internal::AssertHelper", align 8
  %110 = alloca %"class.testing::AssertionResult", align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca %"class.fmt::v10::text_style", align 4
  %113 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %114 = alloca %"class.testing::Message", align 8
  %115 = alloca %"class.testing::internal::AssertHelper", align 8
  %116 = alloca %"class.testing::AssertionResult", align 8
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.fmt::v10::text_style", align 4
  %119 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %120 = alloca %"class.testing::Message", align 8
  %121 = alloca %"class.testing::internal::AssertHelper", align 8
  %122 = alloca %"class.testing::AssertionResult", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.fmt::v10::basic_format_string", align 8
  %125 = alloca %"struct.fmt::v10::detail::styled_arg", align 8
  %126 = alloca %"class.fmt::v10::text_style", align 8
  %127 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %128 = alloca %"struct.fmt::v10::detail::styled_arg.10", align 8
  %129 = alloca %"class.fmt::v10::text_style", align 8
  %130 = alloca %"class.testing::Message", align 8
  %131 = alloca %"class.testing::internal::AssertHelper", align 8
  %132 = alloca %"class.testing::AssertionResult", align 8
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca %"class.fmt::v10::basic_format_string.12", align 8
  %135 = alloca %"struct.fmt::v10::detail::styled_arg", align 8
  %136 = alloca %"class.fmt::v10::text_style", align 8
  %137 = alloca %"class.fmt::v10::text_style", align 8
  %138 = alloca %"struct.fmt::v10::detail::color_type", align 4
  %139 = alloca %"class.fmt::v10::text_style", align 4
  %140 = alloca %"class.testing::Message", align 8
  %141 = alloca %"class.testing::internal::AssertHelper", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %142 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %3) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %4) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %5) #9
  call void @_ZN3fmt3v103rgbC2Ehhh(ptr noundef nonnull align 1 dereferenceable(3) %7, i8 noundef zeroext -1, i8 noundef zeroext 20, i8 noundef zeroext 30)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 1 %7, i64 3, i1 false)
  %143 = load i24, ptr %8, align 4
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_3rgbE(ptr noundef nonnull align 4 dereferenceable(8) %6, i24 %143) #9
  %144 = load i64, ptr %6, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %5, i64 %144) #9
  call void @_ZN3fmt3v106formatIA15_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %4, ptr noundef nonnull align 4 dereferenceable(19) %5, ptr noundef nonnull align 1 dereferenceable(15) @.str.6)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA38_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %3, ptr noundef @.str.4, ptr noundef @.str.5, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 1 dereferenceable(38) @.str.7)
          to label %145 unwind label %149

145:                                              ; preds = %1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %5) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #9
  %146 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %3)
          to label %147 unwind label %153

147:                                              ; preds = %145
  br i1 %146, label %148, label %157

148:                                              ; preds = %147
  br label %177

149:                                              ; preds = %1
  %150 = landingpad { ptr, i32 }
          cleanup
  %151 = extractvalue { ptr, i32 } %150, 0
  store ptr %151, ptr %9, align 8
  %152 = extractvalue { ptr, i32 } %150, 1
  store i32 %152, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %5) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #9
  br label %184

153:                                              ; preds = %145
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %9, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %10, align 4
  br label %183

157:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %158 unwind label %163

158:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #9
  %159 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %3)
          to label %160 unwind label %167

160:                                              ; preds = %158
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %12, i32 noundef 1, ptr noundef @.str.3, i32 noundef 16, ptr noundef %159)
          to label %161 unwind label %167

161:                                              ; preds = %160
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %162 unwind label %171

162:                                              ; preds = %161
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  br label %177

163:                                              ; preds = %157
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %9, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %10, align 4
  br label %176

167:                                              ; preds = %160, %158
  %168 = landingpad { ptr, i32 }
          cleanup
  %169 = extractvalue { ptr, i32 } %168, 0
  store ptr %169, ptr %9, align 8
  %170 = extractvalue { ptr, i32 } %168, 1
  store i32 %170, ptr %10, align 4
  br label %175

171:                                              ; preds = %161
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %9, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  br label %175

175:                                              ; preds = %171, %167
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #9
  br label %176

176:                                              ; preds = %175, %163
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  br label %183

177:                                              ; preds = %162, %148
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %3) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %3) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %15) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %16, i32 noundef 255) #9
  %178 = load i64, ptr %16, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %15, i64 %178) #9
  call void @_ZN3fmt3v106formatIA5_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 4 dereferenceable(19) %15, ptr noundef nonnull align 1 dereferenceable(5) @.str.10)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA28_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %13, ptr noundef @.str.8, ptr noundef @.str.9, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 1 dereferenceable(28) @.str.11)
          to label %179 unwind label %185

179:                                              ; preds = %177
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #9
  %180 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %13)
          to label %181 unwind label %189

181:                                              ; preds = %179
  br i1 %180, label %182, label %193

182:                                              ; preds = %181
  br label %213

183:                                              ; preds = %176, %153
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %3) #9
  br label %184

184:                                              ; preds = %183, %149
  call void @llvm.lifetime.end.p0(i64 16, ptr %3) #9
  br label %935

185:                                              ; preds = %177
  %186 = landingpad { ptr, i32 }
          cleanup
  %187 = extractvalue { ptr, i32 } %186, 0
  store ptr %187, ptr %9, align 8
  %188 = extractvalue { ptr, i32 } %186, 1
  store i32 %188, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #9
  br label %221

189:                                              ; preds = %179
  %190 = landingpad { ptr, i32 }
          cleanup
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %9, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %10, align 4
  br label %220

193:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %194 unwind label %199

194:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #9
  %195 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %13)
          to label %196 unwind label %203

196:                                              ; preds = %194
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %18, i32 noundef 1, ptr noundef @.str.3, i32 noundef 18, ptr noundef %195)
          to label %197 unwind label %203

197:                                              ; preds = %196
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %198 unwind label %207

198:                                              ; preds = %197
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #9
  br label %213

199:                                              ; preds = %193
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %9, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %10, align 4
  br label %212

203:                                              ; preds = %196, %194
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %9, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %10, align 4
  br label %211

207:                                              ; preds = %197
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %9, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #9
  br label %211

211:                                              ; preds = %207, %203
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  br label %212

212:                                              ; preds = %211, %199
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #9
  br label %220

213:                                              ; preds = %198, %182
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %13) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %21) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %23, i32 noundef 255) #9
  %214 = load i64, ptr %23, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %22, i64 %214) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %24) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %25, i32 noundef 16711680) #9
  %215 = load i64, ptr %25, align 4
  call void @_ZN3fmt3v102bgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %24, i64 %215) #9
  call void @_ZN3fmt3v10orENS0_10text_styleERKS1_(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %21, ptr noundef byval(%"class.fmt::v10::text_style") align 8 %22, ptr noundef nonnull align 4 dereferenceable(19) %24)
  call void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 4 dereferenceable(19) %21, ptr noundef nonnull align 1 dereferenceable(10) @.str.14)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA52_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %19, ptr noundef @.str.12, ptr noundef @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 1 dereferenceable(52) @.str.15)
          to label %216 unwind label %222

216:                                              ; preds = %213
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #9
  %217 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %218 unwind label %226

218:                                              ; preds = %216
  br i1 %217, label %219, label %230

219:                                              ; preds = %218
  br label %250

220:                                              ; preds = %212, %189
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %13) #9
  br label %221

221:                                              ; preds = %220, %185
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #9
  br label %935

222:                                              ; preds = %213
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %9, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #9
  br label %256

226:                                              ; preds = %216
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %9, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %10, align 4
  br label %255

230:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %231 unwind label %236

231:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #9
  %232 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %233 unwind label %240

233:                                              ; preds = %231
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %27, i32 noundef 1, ptr noundef @.str.3, i32 noundef 21, ptr noundef %232)
          to label %234 unwind label %240

234:                                              ; preds = %233
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %235 unwind label %244

235:                                              ; preds = %234
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #9
  br label %250

236:                                              ; preds = %230
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %9, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %10, align 4
  br label %249

240:                                              ; preds = %233, %231
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %9, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %10, align 4
  br label %248

244:                                              ; preds = %234
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %9, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #9
  br label %248

248:                                              ; preds = %244, %240
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #9
  br label %249

249:                                              ; preds = %248, %236
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #9
  br label %255

250:                                              ; preds = %235, %219
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %30) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %30, i8 noundef zeroext 1) #9
  call void @_ZN3fmt3v106formatIA5_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 4 dereferenceable(19) %30, ptr noundef nonnull align 1 dereferenceable(5) @.str.18)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA13_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %28, ptr noundef @.str.16, ptr noundef @.str.17, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 1 dereferenceable(13) @.str.19)
          to label %251 unwind label %257

251:                                              ; preds = %250
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #9
  %252 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %253 unwind label %261

253:                                              ; preds = %251
  br i1 %252, label %254, label %265

254:                                              ; preds = %253
  br label %285

255:                                              ; preds = %249, %226
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #9
  br label %256

256:                                              ; preds = %255, %222
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #9
  br label %935

257:                                              ; preds = %250
  %258 = landingpad { ptr, i32 }
          cleanup
  %259 = extractvalue { ptr, i32 } %258, 0
  store ptr %259, ptr %9, align 8
  %260 = extractvalue { ptr, i32 } %258, 1
  store i32 %260, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #9
  br label %291

261:                                              ; preds = %251
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %9, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %10, align 4
  br label %290

265:                                              ; preds = %253
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %266 unwind label %271

266:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #9
  %267 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %268 unwind label %275

268:                                              ; preds = %266
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %32, i32 noundef 1, ptr noundef @.str.3, i32 noundef 22, ptr noundef %267)
          to label %269 unwind label %275

269:                                              ; preds = %268
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %270 unwind label %279

270:                                              ; preds = %269
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  br label %285

271:                                              ; preds = %265
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %9, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %10, align 4
  br label %284

275:                                              ; preds = %268, %266
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %9, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %10, align 4
  br label %283

279:                                              ; preds = %269
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %9, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  br label %283

283:                                              ; preds = %279, %275
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #9
  br label %284

284:                                              ; preds = %283, %271
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  br label %290

285:                                              ; preds = %270, %254
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %35) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %35, i8 noundef zeroext 2) #9
  call void @_ZN3fmt3v106formatIA6_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 4 dereferenceable(19) %35, ptr noundef nonnull align 1 dereferenceable(6) @.str.22)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA14_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %33, ptr noundef @.str.20, ptr noundef @.str.21, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 1 dereferenceable(14) @.str.23)
          to label %286 unwind label %292

286:                                              ; preds = %285
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #9
  %287 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %288 unwind label %296

288:                                              ; preds = %286
  br i1 %287, label %289, label %300

289:                                              ; preds = %288
  br label %320

290:                                              ; preds = %284, %261
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #9
  br label %291

291:                                              ; preds = %290, %257
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #9
  br label %935

292:                                              ; preds = %285
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %9, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #9
  br label %326

296:                                              ; preds = %286
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %9, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %10, align 4
  br label %325

300:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %301 unwind label %306

301:                                              ; preds = %300
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #9
  %302 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %303 unwind label %310

303:                                              ; preds = %301
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %37, i32 noundef 1, ptr noundef @.str.3, i32 noundef 23, ptr noundef %302)
          to label %304 unwind label %310

304:                                              ; preds = %303
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %305 unwind label %314

305:                                              ; preds = %304
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  br label %320

306:                                              ; preds = %300
  %307 = landingpad { ptr, i32 }
          cleanup
  %308 = extractvalue { ptr, i32 } %307, 0
  store ptr %308, ptr %9, align 8
  %309 = extractvalue { ptr, i32 } %307, 1
  store i32 %309, ptr %10, align 4
  br label %319

310:                                              ; preds = %303, %301
  %311 = landingpad { ptr, i32 }
          cleanup
  %312 = extractvalue { ptr, i32 } %311, 0
  store ptr %312, ptr %9, align 8
  %313 = extractvalue { ptr, i32 } %311, 1
  store i32 %313, ptr %10, align 4
  br label %318

314:                                              ; preds = %304
  %315 = landingpad { ptr, i32 }
          cleanup
  %316 = extractvalue { ptr, i32 } %315, 0
  store ptr %316, ptr %9, align 8
  %317 = extractvalue { ptr, i32 } %315, 1
  store i32 %317, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #9
  br label %318

318:                                              ; preds = %314, %310
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #9
  br label %319

319:                                              ; preds = %318, %306
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  br label %325

320:                                              ; preds = %305, %289
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %40) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %40, i8 noundef zeroext 4) #9
  call void @_ZN3fmt3v106formatIA7_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 4 dereferenceable(19) %40, ptr noundef nonnull align 1 dereferenceable(7) @.str.26)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA15_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %38, ptr noundef @.str.24, ptr noundef @.str.25, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 1 dereferenceable(15) @.str.27)
          to label %321 unwind label %327

321:                                              ; preds = %320
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #9
  %322 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %323 unwind label %331

323:                                              ; preds = %321
  br i1 %322, label %324, label %335

324:                                              ; preds = %323
  br label %355

325:                                              ; preds = %319, %296
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #9
  br label %326

326:                                              ; preds = %325, %292
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #9
  br label %935

327:                                              ; preds = %320
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %9, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #9
  br label %361

331:                                              ; preds = %321
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %9, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %10, align 4
  br label %360

335:                                              ; preds = %323
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %336 unwind label %341

336:                                              ; preds = %335
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #9
  %337 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %338 unwind label %345

338:                                              ; preds = %336
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %42, i32 noundef 1, ptr noundef @.str.3, i32 noundef 25, ptr noundef %337)
          to label %339 unwind label %345

339:                                              ; preds = %338
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %340 unwind label %349

340:                                              ; preds = %339
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  br label %355

341:                                              ; preds = %335
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %9, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %10, align 4
  br label %354

345:                                              ; preds = %338, %336
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %9, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %10, align 4
  br label %353

349:                                              ; preds = %339
  %350 = landingpad { ptr, i32 }
          cleanup
  %351 = extractvalue { ptr, i32 } %350, 0
  store ptr %351, ptr %9, align 8
  %352 = extractvalue { ptr, i32 } %350, 1
  store i32 %352, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #9
  br label %353

353:                                              ; preds = %349, %345
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #9
  br label %354

354:                                              ; preds = %353, %341
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  br label %360

355:                                              ; preds = %340, %324
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %45) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %45, i8 noundef zeroext 8) #9
  call void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 4 dereferenceable(19) %45, ptr noundef nonnull align 1 dereferenceable(10) @.str.30)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA18_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %43, ptr noundef @.str.28, ptr noundef @.str.29, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 1 dereferenceable(18) @.str.31)
          to label %356 unwind label %362

356:                                              ; preds = %355
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #9
  %357 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %43)
          to label %358 unwind label %366

358:                                              ; preds = %356
  br i1 %357, label %359, label %370

359:                                              ; preds = %358
  br label %390

360:                                              ; preds = %354, %331
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #9
  br label %361

361:                                              ; preds = %360, %327
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #9
  br label %935

362:                                              ; preds = %355
  %363 = landingpad { ptr, i32 }
          cleanup
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %9, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #9
  br label %396

366:                                              ; preds = %356
  %367 = landingpad { ptr, i32 }
          cleanup
  %368 = extractvalue { ptr, i32 } %367, 0
  store ptr %368, ptr %9, align 8
  %369 = extractvalue { ptr, i32 } %367, 1
  store i32 %369, ptr %10, align 4
  br label %395

370:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %371 unwind label %376

371:                                              ; preds = %370
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #9
  %372 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %43)
          to label %373 unwind label %380

373:                                              ; preds = %371
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %47, i32 noundef 1, ptr noundef @.str.3, i32 noundef 27, ptr noundef %372)
          to label %374 unwind label %380

374:                                              ; preds = %373
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %375 unwind label %384

375:                                              ; preds = %374
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  br label %390

376:                                              ; preds = %370
  %377 = landingpad { ptr, i32 }
          cleanup
  %378 = extractvalue { ptr, i32 } %377, 0
  store ptr %378, ptr %9, align 8
  %379 = extractvalue { ptr, i32 } %377, 1
  store i32 %379, ptr %10, align 4
  br label %389

380:                                              ; preds = %373, %371
  %381 = landingpad { ptr, i32 }
          cleanup
  %382 = extractvalue { ptr, i32 } %381, 0
  store ptr %382, ptr %9, align 8
  %383 = extractvalue { ptr, i32 } %381, 1
  store i32 %383, ptr %10, align 4
  br label %388

384:                                              ; preds = %374
  %385 = landingpad { ptr, i32 }
          cleanup
  %386 = extractvalue { ptr, i32 } %385, 0
  store ptr %386, ptr %9, align 8
  %387 = extractvalue { ptr, i32 } %385, 1
  store i32 %387, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #9
  br label %388

388:                                              ; preds = %384, %380
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #9
  br label %389

389:                                              ; preds = %388, %376
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  br label %395

390:                                              ; preds = %375, %359
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %50) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %50, i8 noundef zeroext 16) #9
  call void @_ZN3fmt3v106formatIA6_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 4 dereferenceable(19) %50, ptr noundef nonnull align 1 dereferenceable(6) @.str.34)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA14_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %48, ptr noundef @.str.32, ptr noundef @.str.33, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 1 dereferenceable(14) @.str.35)
          to label %391 unwind label %397

391:                                              ; preds = %390
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #9
  %392 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %393 unwind label %401

393:                                              ; preds = %391
  br i1 %392, label %394, label %405

394:                                              ; preds = %393
  br label %425

395:                                              ; preds = %389, %366
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #9
  br label %396

396:                                              ; preds = %395, %362
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #9
  br label %935

397:                                              ; preds = %390
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %9, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #9
  br label %431

401:                                              ; preds = %391
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %9, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %10, align 4
  br label %430

405:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %406 unwind label %411

406:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #9
  %407 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %408 unwind label %415

408:                                              ; preds = %406
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %52, i32 noundef 1, ptr noundef @.str.3, i32 noundef 28, ptr noundef %407)
          to label %409 unwind label %415

409:                                              ; preds = %408
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %410 unwind label %419

410:                                              ; preds = %409
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  br label %425

411:                                              ; preds = %405
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %9, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %10, align 4
  br label %424

415:                                              ; preds = %408, %406
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %9, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %10, align 4
  br label %423

419:                                              ; preds = %409
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %9, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #9
  br label %423

423:                                              ; preds = %419, %415
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #9
  br label %424

424:                                              ; preds = %423, %411
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  br label %430

425:                                              ; preds = %410, %394
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %55) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %55, i8 noundef zeroext 32) #9
  call void @_ZN3fmt3v106formatIA8_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 4 dereferenceable(19) %55, ptr noundef nonnull align 1 dereferenceable(8) @.str.38)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA16_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %53, ptr noundef @.str.36, ptr noundef @.str.37, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 1 dereferenceable(16) @.str.39)
          to label %426 unwind label %432

426:                                              ; preds = %425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #9
  %427 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %428 unwind label %436

428:                                              ; preds = %426
  br i1 %427, label %429, label %440

429:                                              ; preds = %428
  br label %460

430:                                              ; preds = %424, %401
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #9
  br label %431

431:                                              ; preds = %430, %397
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #9
  br label %935

432:                                              ; preds = %425
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %9, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #9
  br label %466

436:                                              ; preds = %426
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %9, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %10, align 4
  br label %465

440:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %441 unwind label %446

441:                                              ; preds = %440
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #9
  %442 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %443 unwind label %450

443:                                              ; preds = %441
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %57, i32 noundef 1, ptr noundef @.str.3, i32 noundef 30, ptr noundef %442)
          to label %444 unwind label %450

444:                                              ; preds = %443
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %445 unwind label %454

445:                                              ; preds = %444
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #9
  br label %460

446:                                              ; preds = %440
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %9, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %10, align 4
  br label %459

450:                                              ; preds = %443, %441
  %451 = landingpad { ptr, i32 }
          cleanup
  %452 = extractvalue { ptr, i32 } %451, 0
  store ptr %452, ptr %9, align 8
  %453 = extractvalue { ptr, i32 } %451, 1
  store i32 %453, ptr %10, align 4
  br label %458

454:                                              ; preds = %444
  %455 = landingpad { ptr, i32 }
          cleanup
  %456 = extractvalue { ptr, i32 } %455, 0
  store ptr %456, ptr %9, align 8
  %457 = extractvalue { ptr, i32 } %455, 1
  store i32 %457, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #9
  br label %458

458:                                              ; preds = %454, %450
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #9
  br label %459

459:                                              ; preds = %458, %446
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #9
  br label %465

460:                                              ; preds = %445, %429
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %60) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %60, i8 noundef zeroext 64) #9
  call void @_ZN3fmt3v106formatIA8_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 4 dereferenceable(19) %60, ptr noundef nonnull align 1 dereferenceable(8) @.str.42)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA16_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %58, ptr noundef @.str.40, ptr noundef @.str.41, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 1 dereferenceable(16) @.str.43)
          to label %461 unwind label %467

461:                                              ; preds = %460
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #9
  %462 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %463 unwind label %471

463:                                              ; preds = %461
  br i1 %462, label %464, label %475

464:                                              ; preds = %463
  br label %495

465:                                              ; preds = %459, %436
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #9
  br label %466

466:                                              ; preds = %465, %432
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #9
  br label %935

467:                                              ; preds = %460
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %9, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #9
  br label %501

471:                                              ; preds = %461
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %9, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %10, align 4
  br label %500

475:                                              ; preds = %463
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %476 unwind label %481

476:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #9
  %477 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %478 unwind label %485

478:                                              ; preds = %476
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %62, i32 noundef 1, ptr noundef @.str.3, i32 noundef 32, ptr noundef %477)
          to label %479 unwind label %485

479:                                              ; preds = %478
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %480 unwind label %489

480:                                              ; preds = %479
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #9
  br label %495

481:                                              ; preds = %475
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %9, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %10, align 4
  br label %494

485:                                              ; preds = %478, %476
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %9, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %10, align 4
  br label %493

489:                                              ; preds = %479
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %9, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #9
  br label %493

493:                                              ; preds = %489, %485
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #9
  br label %494

494:                                              ; preds = %493, %481
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #9
  br label %500

495:                                              ; preds = %480, %464
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %65) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %65, i8 noundef zeroext -128) #9
  call void @_ZN3fmt3v106formatIA14_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 4 dereferenceable(19) %65, ptr noundef nonnull align 1 dereferenceable(14) @.str.46)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA22_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %63, ptr noundef @.str.44, ptr noundef @.str.45, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 1 dereferenceable(22) @.str.47)
          to label %496 unwind label %502

496:                                              ; preds = %495
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #9
  %497 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %63)
          to label %498 unwind label %506

498:                                              ; preds = %496
  br i1 %497, label %499, label %510

499:                                              ; preds = %498
  br label %530

500:                                              ; preds = %494, %471
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #9
  br label %501

501:                                              ; preds = %500, %467
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #9
  br label %935

502:                                              ; preds = %495
  %503 = landingpad { ptr, i32 }
          cleanup
  %504 = extractvalue { ptr, i32 } %503, 0
  store ptr %504, ptr %9, align 8
  %505 = extractvalue { ptr, i32 } %503, 1
  store i32 %505, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #9
  br label %537

506:                                              ; preds = %496
  %507 = landingpad { ptr, i32 }
          cleanup
  %508 = extractvalue { ptr, i32 } %507, 0
  store ptr %508, ptr %9, align 8
  %509 = extractvalue { ptr, i32 } %507, 1
  store i32 %509, ptr %10, align 4
  br label %536

510:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %511 unwind label %516

511:                                              ; preds = %510
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #9
  %512 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %63)
          to label %513 unwind label %520

513:                                              ; preds = %511
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %67, i32 noundef 1, ptr noundef @.str.3, i32 noundef 34, ptr noundef %512)
          to label %514 unwind label %520

514:                                              ; preds = %513
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %67, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %515 unwind label %524

515:                                              ; preds = %514
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  br label %530

516:                                              ; preds = %510
  %517 = landingpad { ptr, i32 }
          cleanup
  %518 = extractvalue { ptr, i32 } %517, 0
  store ptr %518, ptr %9, align 8
  %519 = extractvalue { ptr, i32 } %517, 1
  store i32 %519, ptr %10, align 4
  br label %529

520:                                              ; preds = %513, %511
  %521 = landingpad { ptr, i32 }
          cleanup
  %522 = extractvalue { ptr, i32 } %521, 0
  store ptr %522, ptr %9, align 8
  %523 = extractvalue { ptr, i32 } %521, 1
  store i32 %523, ptr %10, align 4
  br label %528

524:                                              ; preds = %514
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %9, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #9
  br label %528

528:                                              ; preds = %524, %520
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #9
  br label %529

529:                                              ; preds = %528, %516
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  br label %536

530:                                              ; preds = %515, %499
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %70) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %72, i32 noundef 255) #9
  %531 = load i64, ptr %72, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %71, i64 %531) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %73) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %73, i8 noundef zeroext 1) #9
  call void @_ZN3fmt3v10orENS0_10text_styleERKS1_(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %70, ptr noundef byval(%"class.fmt::v10::text_style") align 8 %71, ptr noundef nonnull align 4 dereferenceable(19) %73)
  call void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 4 dereferenceable(19) %70, ptr noundef nonnull align 1 dereferenceable(10) @.str.50)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA37_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %68, ptr noundef @.str.48, ptr noundef @.str.49, ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 1 dereferenceable(37) @.str.51)
          to label %532 unwind label %538

532:                                              ; preds = %530
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %70) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #9
  %533 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %68)
          to label %534 unwind label %542

534:                                              ; preds = %532
  br i1 %533, label %535, label %546

535:                                              ; preds = %534
  br label %566

536:                                              ; preds = %529, %506
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #9
  br label %537

537:                                              ; preds = %536, %502
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #9
  br label %935

538:                                              ; preds = %530
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %9, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %70) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #9
  br label %572

542:                                              ; preds = %532
  %543 = landingpad { ptr, i32 }
          cleanup
  %544 = extractvalue { ptr, i32 } %543, 0
  store ptr %544, ptr %9, align 8
  %545 = extractvalue { ptr, i32 } %543, 1
  store i32 %545, ptr %10, align 4
  br label %571

546:                                              ; preds = %534
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %547 unwind label %552

547:                                              ; preds = %546
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #9
  %548 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %68)
          to label %549 unwind label %556

549:                                              ; preds = %547
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %75, i32 noundef 1, ptr noundef @.str.3, i32 noundef 37, ptr noundef %548)
          to label %550 unwind label %556

550:                                              ; preds = %549
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %551 unwind label %560

551:                                              ; preds = %550
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #9
  br label %566

552:                                              ; preds = %546
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %9, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %10, align 4
  br label %565

556:                                              ; preds = %549, %547
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %9, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %10, align 4
  br label %564

560:                                              ; preds = %550
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %9, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #9
  br label %564

564:                                              ; preds = %560, %556
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #9
  br label %565

565:                                              ; preds = %564, %552
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #9
  br label %571

566:                                              ; preds = %551, %535
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %68) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %76) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %78) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %78, i8 noundef zeroext 1) #9
  call void @_ZN3fmt3v106formatIA11_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 4 dereferenceable(19) %78, ptr noundef nonnull align 1 dereferenceable(11) @.str.54)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA19_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %76, ptr noundef @.str.52, ptr noundef @.str.53, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 1 dereferenceable(19) @.str.55)
          to label %567 unwind label %573

567:                                              ; preds = %566
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #9
  %568 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %76)
          to label %569 unwind label %577

569:                                              ; preds = %567
  br i1 %568, label %570, label %581

570:                                              ; preds = %569
  br label %601

571:                                              ; preds = %565, %542
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %68) #9
  br label %572

572:                                              ; preds = %571, %538
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #9
  br label %935

573:                                              ; preds = %566
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %9, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #9
  br label %608

577:                                              ; preds = %567
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %9, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %10, align 4
  br label %607

581:                                              ; preds = %569
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %582 unwind label %587

582:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #9
  %583 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %76)
          to label %584 unwind label %591

584:                                              ; preds = %582
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %80, i32 noundef 1, ptr noundef @.str.3, i32 noundef 39, ptr noundef %583)
          to label %585 unwind label %591

585:                                              ; preds = %584
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %586 unwind label %595

586:                                              ; preds = %585
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #9
  br label %601

587:                                              ; preds = %581
  %588 = landingpad { ptr, i32 }
          cleanup
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %9, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %10, align 4
  br label %600

591:                                              ; preds = %584, %582
  %592 = landingpad { ptr, i32 }
          cleanup
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %9, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %10, align 4
  br label %599

595:                                              ; preds = %585
  %596 = landingpad { ptr, i32 }
          cleanup
  %597 = extractvalue { ptr, i32 } %596, 0
  store ptr %597, ptr %9, align 8
  %598 = extractvalue { ptr, i32 } %596, 1
  store i32 %598, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #9
  br label %599

599:                                              ; preds = %595, %591
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #9
  br label %600

600:                                              ; preds = %599, %587
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #9
  br label %607

601:                                              ; preds = %586, %570
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %76) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %81) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %83) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %84, i32 noundef 255) #9
  %602 = load i64, ptr %84, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %83, i64 %602) #9
  call void @_ZN3fmt3v106formatIA9_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 4 dereferenceable(19) %83, ptr noundef nonnull align 1 dereferenceable(9) @.str.58)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA32_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %81, ptr noundef @.str.56, ptr noundef @.str.57, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 1 dereferenceable(32) @.str.59)
          to label %603 unwind label %609

603:                                              ; preds = %601
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %83) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #9
  %604 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %81)
          to label %605 unwind label %613

605:                                              ; preds = %603
  br i1 %604, label %606, label %617

606:                                              ; preds = %605
  br label %637

607:                                              ; preds = %600, %577
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %76) #9
  br label %608

608:                                              ; preds = %607, %573
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #9
  br label %935

609:                                              ; preds = %601
  %610 = landingpad { ptr, i32 }
          cleanup
  %611 = extractvalue { ptr, i32 } %610, 0
  store ptr %611, ptr %9, align 8
  %612 = extractvalue { ptr, i32 } %610, 1
  store i32 %612, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %83) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #9
  br label %643

613:                                              ; preds = %603
  %614 = landingpad { ptr, i32 }
          cleanup
  %615 = extractvalue { ptr, i32 } %614, 0
  store ptr %615, ptr %9, align 8
  %616 = extractvalue { ptr, i32 } %614, 1
  store i32 %616, ptr %10, align 4
  br label %642

617:                                              ; preds = %605
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %85)
          to label %618 unwind label %623

618:                                              ; preds = %617
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #9
  %619 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %81)
          to label %620 unwind label %627

620:                                              ; preds = %618
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %86, i32 noundef 1, ptr noundef @.str.3, i32 noundef 41, ptr noundef %619)
          to label %621 unwind label %627

621:                                              ; preds = %620
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %86, ptr noundef nonnull align 8 dereferenceable(8) %85)
          to label %622 unwind label %631

622:                                              ; preds = %621
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #9
  br label %637

623:                                              ; preds = %617
  %624 = landingpad { ptr, i32 }
          cleanup
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %9, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %10, align 4
  br label %636

627:                                              ; preds = %620, %618
  %628 = landingpad { ptr, i32 }
          cleanup
  %629 = extractvalue { ptr, i32 } %628, 0
  store ptr %629, ptr %9, align 8
  %630 = extractvalue { ptr, i32 } %628, 1
  store i32 %630, ptr %10, align 4
  br label %635

631:                                              ; preds = %621
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %9, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #9
  br label %635

635:                                              ; preds = %631, %627
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #9
  br label %636

636:                                              ; preds = %635, %623
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #9
  br label %642

637:                                              ; preds = %622, %606
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %81) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %81) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %87) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %89) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %89, i8 noundef zeroext 0) #9
  call void @_ZN3fmt3v106formatIA3_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 4 dereferenceable(19) %89, ptr noundef nonnull align 1 dereferenceable(3) @.str.62)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA3_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %87, ptr noundef @.str.60, ptr noundef @.str.61, ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 1 dereferenceable(3) @.str.62)
          to label %638 unwind label %644

638:                                              ; preds = %637
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %89) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #9
  %639 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %87)
          to label %640 unwind label %648

640:                                              ; preds = %638
  br i1 %639, label %641, label %652

641:                                              ; preds = %640
  br label %672

642:                                              ; preds = %636, %613
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %81) #9
  br label %643

643:                                              ; preds = %642, %609
  call void @llvm.lifetime.end.p0(i64 16, ptr %81) #9
  br label %935

644:                                              ; preds = %637
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %9, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %89) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #9
  br label %679

648:                                              ; preds = %638
  %649 = landingpad { ptr, i32 }
          cleanup
  %650 = extractvalue { ptr, i32 } %649, 0
  store ptr %650, ptr %9, align 8
  %651 = extractvalue { ptr, i32 } %649, 1
  store i32 %651, ptr %10, align 4
  br label %678

652:                                              ; preds = %640
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %653 unwind label %658

653:                                              ; preds = %652
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #9
  %654 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %87)
          to label %655 unwind label %662

655:                                              ; preds = %653
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %91, i32 noundef 1, ptr noundef @.str.3, i32 noundef 42, ptr noundef %654)
          to label %656 unwind label %662

656:                                              ; preds = %655
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %91, ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %657 unwind label %666

657:                                              ; preds = %656
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #9
  br label %672

658:                                              ; preds = %652
  %659 = landingpad { ptr, i32 }
          cleanup
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %9, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %10, align 4
  br label %671

662:                                              ; preds = %655, %653
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %9, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %10, align 4
  br label %670

666:                                              ; preds = %656
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %9, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #9
  br label %670

670:                                              ; preds = %666, %662
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #9
  br label %671

671:                                              ; preds = %670, %658
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #9
  br label %678

672:                                              ; preds = %657, %641
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %87) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %87) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %92) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %94) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %95, i8 noundef zeroext 31) #9
  %673 = load i64, ptr %95, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %94, i64 %673) #9
  call void @_ZN3fmt3v106formatIA5_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull align 4 dereferenceable(19) %94, ptr noundef nonnull align 1 dereferenceable(5) @.str.65)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA14_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %92, ptr noundef @.str.63, ptr noundef @.str.64, ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 1 dereferenceable(14) @.str.66)
          to label %674 unwind label %680

674:                                              ; preds = %672
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %94) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #9
  %675 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %92)
          to label %676 unwind label %684

676:                                              ; preds = %674
  br i1 %675, label %677, label %688

677:                                              ; preds = %676
  br label %708

678:                                              ; preds = %671, %648
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %87) #9
  br label %679

679:                                              ; preds = %678, %644
  call void @llvm.lifetime.end.p0(i64 16, ptr %87) #9
  br label %935

680:                                              ; preds = %672
  %681 = landingpad { ptr, i32 }
          cleanup
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %9, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %94) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #9
  br label %715

684:                                              ; preds = %674
  %685 = landingpad { ptr, i32 }
          cleanup
  %686 = extractvalue { ptr, i32 } %685, 0
  store ptr %686, ptr %9, align 8
  %687 = extractvalue { ptr, i32 } %685, 1
  store i32 %687, ptr %10, align 4
  br label %714

688:                                              ; preds = %676
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %96)
          to label %689 unwind label %694

689:                                              ; preds = %688
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #9
  %690 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %92)
          to label %691 unwind label %698

691:                                              ; preds = %689
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %97, i32 noundef 1, ptr noundef @.str.3, i32 noundef 44, ptr noundef %690)
          to label %692 unwind label %698

692:                                              ; preds = %691
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef nonnull align 8 dereferenceable(8) %96)
          to label %693 unwind label %702

693:                                              ; preds = %692
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #9
  br label %708

694:                                              ; preds = %688
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %9, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %10, align 4
  br label %707

698:                                              ; preds = %691, %689
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %9, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %10, align 4
  br label %706

702:                                              ; preds = %692
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %9, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #9
  br label %706

706:                                              ; preds = %702, %698
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #9
  br label %707

707:                                              ; preds = %706, %694
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #9
  br label %714

708:                                              ; preds = %693, %677
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %92) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %98) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %99) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %100) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %101, i8 noundef zeroext 36) #9
  %709 = load i64, ptr %101, align 4
  call void @_ZN3fmt3v102bgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %100, i64 %709) #9
  call void @_ZN3fmt3v106formatIA6_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %99, ptr noundef nonnull align 4 dereferenceable(19) %100, ptr noundef nonnull align 1 dereferenceable(6) @.str.69)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA15_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %98, ptr noundef @.str.67, ptr noundef @.str.68, ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull align 1 dereferenceable(15) @.str.70)
          to label %710 unwind label %716

710:                                              ; preds = %708
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %100) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #9
  %711 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %98)
          to label %712 unwind label %720

712:                                              ; preds = %710
  br i1 %711, label %713, label %724

713:                                              ; preds = %712
  br label %744

714:                                              ; preds = %707, %684
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %92) #9
  br label %715

715:                                              ; preds = %714, %680
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #9
  br label %935

716:                                              ; preds = %708
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %9, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %100) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #9
  br label %751

720:                                              ; preds = %710
  %721 = landingpad { ptr, i32 }
          cleanup
  %722 = extractvalue { ptr, i32 } %721, 0
  store ptr %722, ptr %9, align 8
  %723 = extractvalue { ptr, i32 } %721, 1
  store i32 %723, ptr %10, align 4
  br label %750

724:                                              ; preds = %712
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %725 unwind label %730

725:                                              ; preds = %724
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #9
  %726 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %98)
          to label %727 unwind label %734

727:                                              ; preds = %725
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %103, i32 noundef 1, ptr noundef @.str.3, i32 noundef 46, ptr noundef %726)
          to label %728 unwind label %734

728:                                              ; preds = %727
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %729 unwind label %738

729:                                              ; preds = %728
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #9
  br label %744

730:                                              ; preds = %724
  %731 = landingpad { ptr, i32 }
          cleanup
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %9, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %10, align 4
  br label %743

734:                                              ; preds = %727, %725
  %735 = landingpad { ptr, i32 }
          cleanup
  %736 = extractvalue { ptr, i32 } %735, 0
  store ptr %736, ptr %9, align 8
  %737 = extractvalue { ptr, i32 } %735, 1
  store i32 %737, ptr %10, align 4
  br label %742

738:                                              ; preds = %728
  %739 = landingpad { ptr, i32 }
          cleanup
  %740 = extractvalue { ptr, i32 } %739, 0
  store ptr %740, ptr %9, align 8
  %741 = extractvalue { ptr, i32 } %739, 1
  store i32 %741, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #9
  br label %742

742:                                              ; preds = %738, %734
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #9
  br label %743

743:                                              ; preds = %742, %730
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #9
  br label %750

744:                                              ; preds = %729, %713
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %98) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %104) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %105) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %106) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %107, i8 noundef zeroext 92) #9
  %745 = load i64, ptr %107, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %106, i64 %745) #9
  call void @_ZN3fmt3v106formatIA8_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull align 4 dereferenceable(19) %106, ptr noundef nonnull align 1 dereferenceable(8) @.str.73)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA17_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %104, ptr noundef @.str.71, ptr noundef @.str.72, ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 1 dereferenceable(17) @.str.74)
          to label %746 unwind label %752

746:                                              ; preds = %744
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %106) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #9
  %747 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %104)
          to label %748 unwind label %756

748:                                              ; preds = %746
  br i1 %747, label %749, label %760

749:                                              ; preds = %748
  br label %780

750:                                              ; preds = %743, %720
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %98) #9
  br label %751

751:                                              ; preds = %750, %716
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #9
  br label %935

752:                                              ; preds = %744
  %753 = landingpad { ptr, i32 }
          cleanup
  %754 = extractvalue { ptr, i32 } %753, 0
  store ptr %754, ptr %9, align 8
  %755 = extractvalue { ptr, i32 } %753, 1
  store i32 %755, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %106) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #9
  br label %787

756:                                              ; preds = %746
  %757 = landingpad { ptr, i32 }
          cleanup
  %758 = extractvalue { ptr, i32 } %757, 0
  store ptr %758, ptr %9, align 8
  %759 = extractvalue { ptr, i32 } %757, 1
  store i32 %759, ptr %10, align 4
  br label %786

760:                                              ; preds = %748
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %108)
          to label %761 unwind label %766

761:                                              ; preds = %760
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #9
  %762 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %104)
          to label %763 unwind label %770

763:                                              ; preds = %761
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %109, i32 noundef 1, ptr noundef @.str.3, i32 noundef 48, ptr noundef %762)
          to label %764 unwind label %770

764:                                              ; preds = %763
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef nonnull align 8 dereferenceable(8) %108)
          to label %765 unwind label %774

765:                                              ; preds = %764
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  br label %780

766:                                              ; preds = %760
  %767 = landingpad { ptr, i32 }
          cleanup
  %768 = extractvalue { ptr, i32 } %767, 0
  store ptr %768, ptr %9, align 8
  %769 = extractvalue { ptr, i32 } %767, 1
  store i32 %769, ptr %10, align 4
  br label %779

770:                                              ; preds = %763, %761
  %771 = landingpad { ptr, i32 }
          cleanup
  %772 = extractvalue { ptr, i32 } %771, 0
  store ptr %772, ptr %9, align 8
  %773 = extractvalue { ptr, i32 } %771, 1
  store i32 %773, ptr %10, align 4
  br label %778

774:                                              ; preds = %764
  %775 = landingpad { ptr, i32 }
          cleanup
  %776 = extractvalue { ptr, i32 } %775, 0
  store ptr %776, ptr %9, align 8
  %777 = extractvalue { ptr, i32 } %775, 1
  store i32 %777, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #9
  br label %778

778:                                              ; preds = %774, %770
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #9
  br label %779

779:                                              ; preds = %778, %766
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  br label %786

780:                                              ; preds = %765, %749
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %104) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %110) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %111) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %112) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %113, i8 noundef zeroext 95) #9
  %781 = load i64, ptr %113, align 4
  call void @_ZN3fmt3v102bgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %112, i64 %781) #9
  call void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %111, ptr noundef nonnull align 4 dereferenceable(19) %112, ptr noundef nonnull align 1 dereferenceable(10) @.str.77)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA20_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %110, ptr noundef @.str.75, ptr noundef @.str.76, ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 1 dereferenceable(20) @.str.78)
          to label %782 unwind label %788

782:                                              ; preds = %780
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %112) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #9
  %783 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %110)
          to label %784 unwind label %792

784:                                              ; preds = %782
  br i1 %783, label %785, label %796

785:                                              ; preds = %784
  br label %816

786:                                              ; preds = %779, %756
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %104) #9
  br label %787

787:                                              ; preds = %786, %752
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #9
  br label %935

788:                                              ; preds = %780
  %789 = landingpad { ptr, i32 }
          cleanup
  %790 = extractvalue { ptr, i32 } %789, 0
  store ptr %790, ptr %9, align 8
  %791 = extractvalue { ptr, i32 } %789, 1
  store i32 %791, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %112) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #9
  br label %823

792:                                              ; preds = %782
  %793 = landingpad { ptr, i32 }
          cleanup
  %794 = extractvalue { ptr, i32 } %793, 0
  store ptr %794, ptr %9, align 8
  %795 = extractvalue { ptr, i32 } %793, 1
  store i32 %795, ptr %10, align 4
  br label %822

796:                                              ; preds = %784
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %797 unwind label %802

797:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #9
  %798 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %110)
          to label %799 unwind label %806

799:                                              ; preds = %797
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %115, i32 noundef 1, ptr noundef @.str.3, i32 noundef 50, ptr noundef %798)
          to label %800 unwind label %806

800:                                              ; preds = %799
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %115, ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %801 unwind label %810

801:                                              ; preds = %800
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #9
  br label %816

802:                                              ; preds = %796
  %803 = landingpad { ptr, i32 }
          cleanup
  %804 = extractvalue { ptr, i32 } %803, 0
  store ptr %804, ptr %9, align 8
  %805 = extractvalue { ptr, i32 } %803, 1
  store i32 %805, ptr %10, align 4
  br label %815

806:                                              ; preds = %799, %797
  %807 = landingpad { ptr, i32 }
          cleanup
  %808 = extractvalue { ptr, i32 } %807, 0
  store ptr %808, ptr %9, align 8
  %809 = extractvalue { ptr, i32 } %807, 1
  store i32 %809, ptr %10, align 4
  br label %814

810:                                              ; preds = %800
  %811 = landingpad { ptr, i32 }
          cleanup
  %812 = extractvalue { ptr, i32 } %811, 0
  store ptr %812, ptr %9, align 8
  %813 = extractvalue { ptr, i32 } %811, 1
  store i32 %813, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #9
  br label %814

814:                                              ; preds = %810, %806
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #9
  br label %815

815:                                              ; preds = %814, %802
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #9
  br label %822

816:                                              ; preds = %801, %785
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %110) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %110) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %116) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %117) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %118) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %119, i8 noundef zeroext 31) #9
  %817 = load i64, ptr %119, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %118, i64 %817) #9
  call void @_ZN3fmt3v106formatIA3_cJA4_cEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS6_ESaIS6_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %117, ptr noundef nonnull align 4 dereferenceable(19) %118, ptr noundef nonnull align 1 dereferenceable(3) @.str.81, ptr noundef nonnull align 1 dereferenceable(4) @.str.82)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA13_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %116, ptr noundef @.str.79, ptr noundef @.str.80, ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 1 dereferenceable(13) @.str.83)
          to label %818 unwind label %824

818:                                              ; preds = %816
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %118) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #9
  %819 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %116)
          to label %820 unwind label %828

820:                                              ; preds = %818
  br i1 %819, label %821, label %832

821:                                              ; preds = %820
  br label %852

822:                                              ; preds = %815, %792
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %110) #9
  br label %823

823:                                              ; preds = %822, %788
  call void @llvm.lifetime.end.p0(i64 16, ptr %110) #9
  br label %935

824:                                              ; preds = %816
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %9, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %118) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #9
  br label %863

828:                                              ; preds = %818
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %9, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %10, align 4
  br label %862

832:                                              ; preds = %820
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %833 unwind label %838

833:                                              ; preds = %832
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #9
  %834 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %116)
          to label %835 unwind label %842

835:                                              ; preds = %833
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %121, i32 noundef 1, ptr noundef @.str.3, i32 noundef 52, ptr noundef %834)
          to label %836 unwind label %842

836:                                              ; preds = %835
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %837 unwind label %846

837:                                              ; preds = %836
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #9
  br label %852

838:                                              ; preds = %832
  %839 = landingpad { ptr, i32 }
          cleanup
  %840 = extractvalue { ptr, i32 } %839, 0
  store ptr %840, ptr %9, align 8
  %841 = extractvalue { ptr, i32 } %839, 1
  store i32 %841, ptr %10, align 4
  br label %851

842:                                              ; preds = %835, %833
  %843 = landingpad { ptr, i32 }
          cleanup
  %844 = extractvalue { ptr, i32 } %843, 0
  store ptr %844, ptr %9, align 8
  %845 = extractvalue { ptr, i32 } %843, 1
  store i32 %845, ptr %10, align 4
  br label %850

846:                                              ; preds = %836
  %847 = landingpad { ptr, i32 }
          cleanup
  %848 = extractvalue { ptr, i32 } %847, 0
  store ptr %848, ptr %9, align 8
  %849 = extractvalue { ptr, i32 } %847, 1
  store i32 %849, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #9
  br label %850

850:                                              ; preds = %846, %842
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #9
  br label %851

851:                                              ; preds = %850, %838
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #9
  br label %862

852:                                              ; preds = %837, %821
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %116) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %116) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %122) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #9
  call void @_ZN3fmt3v1019basic_format_stringIcJNS0_6detail10styled_argIA4_cEENS3_IA5_cEEEEC2IS6_TnNSt9enable_ifIXsr3std14is_convertibleIRKT_NS0_17basic_string_viewIcEEEE5valueEiE4typeELi0EEESD_(ptr noundef nonnull align 8 dereferenceable(16) %124, ptr noundef nonnull align 1 dereferenceable(5) @.str.86)
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %127, i32 noundef 16711680) #9
  %853 = load i64, ptr %127, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %126, i64 %853) #9
  call void @_ZN3fmt3v106styledIA4_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind writable sret(%"struct.fmt::v10::detail::styled_arg") align 8 %125, ptr noundef nonnull align 1 dereferenceable(4) @.str.87, ptr noundef byval(%"class.fmt::v10::text_style") align 8 %126)
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %129, i8 noundef zeroext 1) #9
  call void @_ZN3fmt3v106styledIA5_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind writable sret(%"struct.fmt::v10::detail::styled_arg.10") align 8 %128, ptr noundef nonnull align 1 dereferenceable(5) @.str.18, ptr noundef byval(%"class.fmt::v10::text_style") align 8 %129)
  %854 = getelementptr inbounds { ptr, i64 }, ptr %124, i32 0, i32 0
  %855 = load ptr, ptr %854, align 8
  %856 = getelementptr inbounds { ptr, i64 }, ptr %124, i32 0, i32 1
  %857 = load i64, ptr %856, align 8
  call void @_ZN3fmt3v106formatIJNS0_6detail10styled_argIA4_cEENS3_IA5_cEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOSG_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %123, ptr %855, i64 %857, ptr noundef nonnull align 8 dereferenceable(28) %125, ptr noundef nonnull align 8 dereferenceable(28) %128)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA39_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %122, ptr noundef @.str.84, ptr noundef @.str.85, ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 1 dereferenceable(39) @.str.88)
          to label %858 unwind label %864

858:                                              ; preds = %852
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #9
  %859 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %122)
          to label %860 unwind label %868

860:                                              ; preds = %858
  br i1 %859, label %861, label %872

861:                                              ; preds = %860
  br label %892

862:                                              ; preds = %851, %828
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %116) #9
  br label %863

863:                                              ; preds = %862, %824
  call void @llvm.lifetime.end.p0(i64 16, ptr %116) #9
  br label %935

864:                                              ; preds = %852
  %865 = landingpad { ptr, i32 }
          cleanup
  %866 = extractvalue { ptr, i32 } %865, 0
  store ptr %866, ptr %9, align 8
  %867 = extractvalue { ptr, i32 } %865, 1
  store i32 %867, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #9
  br label %903

868:                                              ; preds = %858
  %869 = landingpad { ptr, i32 }
          cleanup
  %870 = extractvalue { ptr, i32 } %869, 0
  store ptr %870, ptr %9, align 8
  %871 = extractvalue { ptr, i32 } %869, 1
  store i32 %871, ptr %10, align 4
  br label %902

872:                                              ; preds = %860
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %130)
          to label %873 unwind label %878

873:                                              ; preds = %872
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #9
  %874 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %122)
          to label %875 unwind label %882

875:                                              ; preds = %873
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %131, i32 noundef 1, ptr noundef @.str.3, i32 noundef 55, ptr noundef %874)
          to label %876 unwind label %882

876:                                              ; preds = %875
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %131, ptr noundef nonnull align 8 dereferenceable(8) %130)
          to label %877 unwind label %886

877:                                              ; preds = %876
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #9
  br label %892

878:                                              ; preds = %872
  %879 = landingpad { ptr, i32 }
          cleanup
  %880 = extractvalue { ptr, i32 } %879, 0
  store ptr %880, ptr %9, align 8
  %881 = extractvalue { ptr, i32 } %879, 1
  store i32 %881, ptr %10, align 4
  br label %891

882:                                              ; preds = %875, %873
  %883 = landingpad { ptr, i32 }
          cleanup
  %884 = extractvalue { ptr, i32 } %883, 0
  store ptr %884, ptr %9, align 8
  %885 = extractvalue { ptr, i32 } %883, 1
  store i32 %885, ptr %10, align 4
  br label %890

886:                                              ; preds = %876
  %887 = landingpad { ptr, i32 }
          cleanup
  %888 = extractvalue { ptr, i32 } %887, 0
  store ptr %888, ptr %9, align 8
  %889 = extractvalue { ptr, i32 } %887, 1
  store i32 %889, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #9
  br label %890

890:                                              ; preds = %886, %882
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #9
  br label %891

891:                                              ; preds = %890, %878
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #9
  br label %902

892:                                              ; preds = %877, %861
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %122) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %132) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %133) #9
  call void @_ZN3fmt3v1019basic_format_stringIcJNS0_6detail10styled_argIA4_cEEEEC2IA3_cTnNSt9enable_ifIXsr3std14is_convertibleIRKT_NS0_17basic_string_viewIcEEEE5valueEiE4typeELi0EEESC_(ptr noundef nonnull align 8 dereferenceable(16) %134, ptr noundef nonnull align 1 dereferenceable(3) @.str.81)
  call void @llvm.lifetime.start.p0(i64 32, ptr %135) #9
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %138, i32 noundef 255) #9
  %893 = load i64, ptr %138, align 4
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %137, i64 %893) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %139) #9
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %139, i8 noundef zeroext 8) #9
  call void @_ZN3fmt3v10orENS0_10text_styleERKS1_(ptr dead_on_unwind writable sret(%"class.fmt::v10::text_style") align 4 %136, ptr noundef byval(%"class.fmt::v10::text_style") align 8 %137, ptr noundef nonnull align 4 dereferenceable(19) %139)
  call void @_ZN3fmt3v106styledIA4_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind writable sret(%"struct.fmt::v10::detail::styled_arg") align 8 %135, ptr noundef nonnull align 1 dereferenceable(4) @.str.91, ptr noundef byval(%"class.fmt::v10::text_style") align 8 %136)
  %894 = getelementptr inbounds { ptr, i64 }, ptr %134, i32 0, i32 0
  %895 = load ptr, ptr %894, align 8
  %896 = getelementptr inbounds { ptr, i64 }, ptr %134, i32 0, i32 1
  %897 = load i64, ptr %896, align 8
  call void @_ZN3fmt3v106formatIJNS0_6detail10styled_argIA4_cEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOSE_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %133, ptr %895, i64 %897, ptr noundef nonnull align 8 dereferenceable(28) %135)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA31_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %132, ptr noundef @.str.89, ptr noundef @.str.90, ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 1 dereferenceable(31) @.str.92)
          to label %898 unwind label %904

898:                                              ; preds = %892
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %139) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #9
  %899 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %132)
          to label %900 unwind label %908

900:                                              ; preds = %898
  br i1 %899, label %901, label %912

901:                                              ; preds = %900
  br label %932

902:                                              ; preds = %891, %868
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %122) #9
  br label %903

903:                                              ; preds = %902, %864
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #9
  br label %935

904:                                              ; preds = %892
  %905 = landingpad { ptr, i32 }
          cleanup
  %906 = extractvalue { ptr, i32 } %905, 0
  store ptr %906, ptr %9, align 8
  %907 = extractvalue { ptr, i32 } %905, 1
  store i32 %907, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %139) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #9
  br label %934

908:                                              ; preds = %898
  %909 = landingpad { ptr, i32 }
          cleanup
  %910 = extractvalue { ptr, i32 } %909, 0
  store ptr %910, ptr %9, align 8
  %911 = extractvalue { ptr, i32 } %909, 1
  store i32 %911, ptr %10, align 4
  br label %933

912:                                              ; preds = %900
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #9
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %913 unwind label %918

913:                                              ; preds = %912
  call void @llvm.lifetime.start.p0(i64 8, ptr %141) #9
  %914 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %132)
          to label %915 unwind label %922

915:                                              ; preds = %913
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %141, i32 noundef 1, ptr noundef @.str.3, i32 noundef 58, ptr noundef %914)
          to label %916 unwind label %922

916:                                              ; preds = %915
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %141, ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %917 unwind label %926

917:                                              ; preds = %916
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %140) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #9
  br label %932

918:                                              ; preds = %912
  %919 = landingpad { ptr, i32 }
          cleanup
  %920 = extractvalue { ptr, i32 } %919, 0
  store ptr %920, ptr %9, align 8
  %921 = extractvalue { ptr, i32 } %919, 1
  store i32 %921, ptr %10, align 4
  br label %931

922:                                              ; preds = %915, %913
  %923 = landingpad { ptr, i32 }
          cleanup
  %924 = extractvalue { ptr, i32 } %923, 0
  store ptr %924, ptr %9, align 8
  %925 = extractvalue { ptr, i32 } %923, 1
  store i32 %925, ptr %10, align 4
  br label %930

926:                                              ; preds = %916
  %927 = landingpad { ptr, i32 }
          cleanup
  %928 = extractvalue { ptr, i32 } %927, 0
  store ptr %928, ptr %9, align 8
  %929 = extractvalue { ptr, i32 } %927, 1
  store i32 %929, ptr %10, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #9
  br label %930

930:                                              ; preds = %926, %922
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %140) #9
  br label %931

931:                                              ; preds = %930, %918
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #9
  br label %933

932:                                              ; preds = %917, %901
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %132) #9
  ret void

933:                                              ; preds = %931, %908
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #9
  br label %934

934:                                              ; preds = %933, %904
  call void @llvm.lifetime.end.p0(i64 16, ptr %132) #9
  br label %935

935:                                              ; preds = %934, %903, %863, %823, %787, %751, %715, %679, %643, %608, %572, %537, %501, %466, %431, %396, %361, %326, %291, %256, %221, %184
  %936 = load ptr, ptr %9, align 8
  %937 = load i32, ptr %10, align 4
  %938 = insertvalue { ptr, i32 } poison, ptr %936, 0
  %939 = insertvalue { ptr, i32 } %938, i32 %937, 1
  resume { ptr, i32 } %939
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA38_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(38)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA15_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(15)) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind noalias writable sret(%"class.fmt::v10::text_style") align 4, i64) #4

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v106detail10color_typeC2ENS0_3rgbE(ptr noundef nonnull align 4 dereferenceable(8), i24) unnamed_addr #1 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16)) #1 align 2

declare void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16)) #2 align 2

declare void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef, ptr noundef, i32 noundef, ptr noundef) unnamed_addr #6

declare void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #6

; Function Attrs: nounwind
declare void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA28_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(28)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA5_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(5)) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA52_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(52)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(10)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3fmt3v10orENS0_10text_styleERKS1_(ptr dead_on_unwind noalias writable sret(%"class.fmt::v10::text_style") align 4, ptr noundef byval(%"class.fmt::v10::text_style") align 8, ptr noundef nonnull align 4 dereferenceable(19)) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v102bgENS0_6detail10color_typeE(ptr dead_on_unwind noalias writable sret(%"class.fmt::v10::text_style") align 4, i64) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA13_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(13)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19), i8 noundef zeroext) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA14_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(14)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA6_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(6)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA15_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(15)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA7_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(7)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA18_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(18)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA16_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(16)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA8_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA22_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(22)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA14_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(14)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA37_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(37)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA19_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(19)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA11_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(11)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA32_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(32)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA9_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(9)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA3_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(3)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA3_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(3)) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8), i8 noundef zeroext) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA17_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(17)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA20_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(20)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA3_cJA4_cEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS6_ESaIS6_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 1 dereferenceable(4)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA39_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(39)) #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIJNS0_6detail10styled_argIA4_cEENS3_IA5_cEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOSG_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr, i64, ptr noundef nonnull align 8 dereferenceable(28), ptr noundef nonnull align 8 dereferenceable(28)) #8

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3fmt3v1019basic_format_stringIcJNS0_6detail10styled_argIA4_cEENS3_IA5_cEEEEC2IS6_TnNSt9enable_ifIXsr3std14is_convertibleIRKT_NS0_17basic_string_viewIcEEEE5valueEiE4typeELi0EEESD_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(5)) unnamed_addr #8 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3fmt3v106styledIA4_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind noalias writable sret(%"struct.fmt::v10::detail::styled_arg") align 8, ptr noundef nonnull align 1 dereferenceable(4), ptr noundef byval(%"class.fmt::v10::text_style") align 8) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3fmt3v106styledIA5_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind noalias writable sret(%"struct.fmt::v10::detail::styled_arg.10") align 8, ptr noundef nonnull align 1 dereferenceable(5), ptr noundef byval(%"class.fmt::v10::text_style") align 8) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA31_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(31)) #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIJNS0_6detail10styled_argIA4_cEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOSE_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr, i64, ptr noundef nonnull align 8 dereferenceable(28)) #8

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3fmt3v1019basic_format_stringIcJNS0_6detail10styled_argIA4_cEEEEC2IA3_cTnNSt9enable_ifIXsr3std14is_convertibleIRKT_NS0_17basic_string_viewIcEEEE5valueEiE4typeELi0EEESC_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(3)) unnamed_addr #8 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { 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 #4 = { 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 #5 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { "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 "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 #8 = { alwaysinline 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 #9 = { 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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}


; 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.testing::AssertionResult" = type { i8, %"class.std::unique_ptr" }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.1" }
%"struct.std::_Head_base.1" = type { ptr }
%"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.fmt::v10::text_style" = type <{ %"struct.fmt::v10::detail::color_type", %"struct.fmt::v10::detail::color_type", i8, i8, i8, i8 }>
%"struct.fmt::v10::detail::color_type" = type { i8, %"union.fmt::v10::detail::color_type::color_union" }
%"union.fmt::v10::detail::color_type::color_union" = type { i32 }
%"struct.fmt::v10::rgb" = type { i8, i8, i8 }
%"class.testing::Message" = type { %"class.std::unique_ptr.2" }
%"class.std::unique_ptr.2" = type { %"struct.std::__uniq_ptr_data.3" }
%"struct.std::__uniq_ptr_data.3" = type { %"class.std::__uniq_ptr_impl.4" }
%"class.std::__uniq_ptr_impl.4" = type { %"class.std::tuple.5" }
%"class.std::tuple.5" = type { %"struct.std::_Tuple_impl.6" }
%"struct.std::_Tuple_impl.6" = type { %"struct.std::_Head_base.9" }
%"struct.std::_Head_base.9" = type { ptr }
%"class.testing::internal::AssertHelper" = type { ptr }
%"class.fmt::v10::basic_format_string" = type { %"class.fmt::v10::basic_string_view" }
%"class.fmt::v10::basic_string_view" = type { ptr, i64 }
%"struct.fmt::v10::detail::styled_arg" = type <{ ptr, %"class.fmt::v10::text_style", [4 x i8] }>
%"struct.fmt::v10::detail::styled_arg.10" = type <{ ptr, %"class.fmt::v10::text_style", [4 x i8] }>
%"class.fmt::v10::basic_format_string.12" = type { %"class.fmt::v10::basic_string_view" }

@.str.3 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [31 x i8], align 1

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

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 #1 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN22color_test_format_Test8TestBodyEv(ptr nocapture noundef nonnull readnone align 8 dereferenceable(16) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.testing::AssertionResult", align 8
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.fmt::v10::text_style", align 4
  %5 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %6 = alloca %"struct.fmt::v10::rgb", align 4
  %7 = alloca %"class.testing::Message", align 8
  %8 = alloca %"class.testing::internal::AssertHelper", align 8
  %9 = alloca %"class.testing::AssertionResult", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.fmt::v10::text_style", align 4
  %12 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %13 = alloca %"class.testing::Message", align 8
  %14 = alloca %"class.testing::internal::AssertHelper", align 8
  %15 = alloca %"class.testing::AssertionResult", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.fmt::v10::text_style", align 4
  %18 = alloca %"class.fmt::v10::text_style", align 8
  %19 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %20 = alloca %"class.fmt::v10::text_style", align 4
  %21 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %22 = alloca %"class.testing::Message", align 8
  %23 = alloca %"class.testing::internal::AssertHelper", align 8
  %24 = alloca %"class.testing::AssertionResult", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.fmt::v10::text_style", align 4
  %27 = alloca %"class.testing::Message", align 8
  %28 = alloca %"class.testing::internal::AssertHelper", align 8
  %29 = alloca %"class.testing::AssertionResult", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.fmt::v10::text_style", align 4
  %32 = alloca %"class.testing::Message", align 8
  %33 = alloca %"class.testing::internal::AssertHelper", align 8
  %34 = alloca %"class.testing::AssertionResult", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.fmt::v10::text_style", align 4
  %37 = alloca %"class.testing::Message", align 8
  %38 = alloca %"class.testing::internal::AssertHelper", align 8
  %39 = alloca %"class.testing::AssertionResult", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.fmt::v10::text_style", align 4
  %42 = alloca %"class.testing::Message", align 8
  %43 = alloca %"class.testing::internal::AssertHelper", align 8
  %44 = alloca %"class.testing::AssertionResult", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.fmt::v10::text_style", align 4
  %47 = alloca %"class.testing::Message", align 8
  %48 = alloca %"class.testing::internal::AssertHelper", align 8
  %49 = alloca %"class.testing::AssertionResult", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.fmt::v10::text_style", align 4
  %52 = alloca %"class.testing::Message", align 8
  %53 = alloca %"class.testing::internal::AssertHelper", align 8
  %54 = alloca %"class.testing::AssertionResult", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.fmt::v10::text_style", align 4
  %57 = alloca %"class.testing::Message", align 8
  %58 = alloca %"class.testing::internal::AssertHelper", align 8
  %59 = alloca %"class.testing::AssertionResult", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.fmt::v10::text_style", align 4
  %62 = alloca %"class.testing::Message", align 8
  %63 = alloca %"class.testing::internal::AssertHelper", align 8
  %64 = alloca %"class.testing::AssertionResult", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.fmt::v10::text_style", align 4
  %67 = alloca %"class.fmt::v10::text_style", align 8
  %68 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %69 = alloca %"class.fmt::v10::text_style", align 4
  %70 = alloca %"class.testing::Message", align 8
  %71 = alloca %"class.testing::internal::AssertHelper", align 8
  %72 = alloca %"class.testing::AssertionResult", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.fmt::v10::text_style", align 4
  %75 = alloca %"class.testing::Message", align 8
  %76 = alloca %"class.testing::internal::AssertHelper", align 8
  %77 = alloca %"class.testing::AssertionResult", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.fmt::v10::text_style", align 4
  %80 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %81 = alloca %"class.testing::Message", align 8
  %82 = alloca %"class.testing::internal::AssertHelper", align 8
  %83 = alloca %"class.testing::AssertionResult", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.fmt::v10::text_style", align 4
  %86 = alloca %"class.testing::Message", align 8
  %87 = alloca %"class.testing::internal::AssertHelper", align 8
  %88 = alloca %"class.testing::AssertionResult", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.fmt::v10::text_style", align 4
  %91 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %92 = alloca %"class.testing::Message", align 8
  %93 = alloca %"class.testing::internal::AssertHelper", align 8
  %94 = alloca %"class.testing::AssertionResult", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.fmt::v10::text_style", align 4
  %97 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %98 = alloca %"class.testing::Message", align 8
  %99 = alloca %"class.testing::internal::AssertHelper", align 8
  %100 = alloca %"class.testing::AssertionResult", align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.fmt::v10::text_style", align 4
  %103 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %104 = alloca %"class.testing::Message", align 8
  %105 = alloca %"class.testing::internal::AssertHelper", align 8
  %106 = alloca %"class.testing::AssertionResult", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.fmt::v10::text_style", align 4
  %109 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %110 = alloca %"class.testing::Message", align 8
  %111 = alloca %"class.testing::internal::AssertHelper", align 8
  %112 = alloca %"class.testing::AssertionResult", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.fmt::v10::text_style", align 4
  %115 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %116 = alloca %"class.testing::Message", align 8
  %117 = alloca %"class.testing::internal::AssertHelper", align 8
  %118 = alloca %"class.testing::AssertionResult", align 8
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca %"class.fmt::v10::basic_format_string", align 8
  %121 = alloca %"struct.fmt::v10::detail::styled_arg", align 8
  %122 = alloca %"class.fmt::v10::text_style", align 8
  %123 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %124 = alloca %"struct.fmt::v10::detail::styled_arg.10", align 8
  %125 = alloca %"class.fmt::v10::text_style", align 8
  %126 = alloca %"class.testing::Message", align 8
  %127 = alloca %"class.testing::internal::AssertHelper", align 8
  %128 = alloca %"class.testing::AssertionResult", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.fmt::v10::basic_format_string.12", align 8
  %131 = alloca %"struct.fmt::v10::detail::styled_arg", align 8
  %132 = alloca %"class.fmt::v10::text_style", align 8
  %133 = alloca %"class.fmt::v10::text_style", align 8
  %134 = alloca %"struct.fmt::v10::detail::color_type", align 8
  %135 = alloca %"class.fmt::v10::text_style", align 4
  %136 = alloca %"class.testing::Message", align 8
  %137 = alloca %"class.testing::internal::AssertHelper", align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %4) #8
  call void @_ZN3fmt3v103rgbC2Ehhh(ptr noundef nonnull align 1 dereferenceable(3) %6, i8 noundef zeroext -1, i8 noundef zeroext 20, i8 noundef zeroext 30)
  %.0.copyload = load i24, ptr %6, align 4
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_3rgbE(ptr noundef nonnull align 4 dereferenceable(8) %5, i24 %.0.copyload) #8
  %138 = load i64, ptr %5, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %4, i64 %138) #8
  call void @_ZN3fmt3v106formatIA15_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %3, ptr noundef nonnull align 4 dereferenceable(19) %4, ptr noundef nonnull align 1 dereferenceable(15) @.str.6)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA38_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %2, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.5, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 1 dereferenceable(38) @.str.7)
          to label %139 unwind label %141

139:                                              ; preds = %1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #8
  %140 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %2)
  br i1 %140, label %157, label %143

141:                                              ; preds = %1
  %142 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #8
  br label %161

143:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %144 unwind label %149

144:                                              ; preds = %143
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #8
  %145 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %2)
          to label %146 unwind label %151

146:                                              ; preds = %144
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %8, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 16, ptr noundef %145)
          to label %147 unwind label %151

147:                                              ; preds = %146
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %148 unwind label %153

148:                                              ; preds = %147
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #8
  br label %157

149:                                              ; preds = %143
  %150 = landingpad { ptr, i32 }
          cleanup
  br label %156

151:                                              ; preds = %146, %144
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %155

153:                                              ; preds = %147
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #8
  br label %155

155:                                              ; preds = %153, %151
  %.pn = phi { ptr, i32 } [ %154, %153 ], [ %152, %151 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #8
  br label %156

156:                                              ; preds = %155, %149
  %.pn.pn = phi { ptr, i32 } [ %.pn, %155 ], [ %150, %149 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %2) #8
  br label %161

157:                                              ; preds = %139, %148
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %2) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %11) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %12, i32 noundef 255) #8
  %158 = load i64, ptr %12, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %11, i64 %158) #8
  call void @_ZN3fmt3v106formatIA5_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 4 dereferenceable(19) %11, ptr noundef nonnull align 1 dereferenceable(5) @.str.10)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA28_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %9, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 1 dereferenceable(28) @.str.11)
          to label %159 unwind label %162

159:                                              ; preds = %157
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  %160 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %9)
  br i1 %160, label %178, label %164

161:                                              ; preds = %156, %141
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %156 ], [ %142, %141 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) #8
  br label %597

162:                                              ; preds = %157
  %163 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  br label %183

164:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %165 unwind label %170

165:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #8
  %166 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %9)
          to label %167 unwind label %172

167:                                              ; preds = %165
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %14, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 18, ptr noundef %166)
          to label %168 unwind label %172

168:                                              ; preds = %167
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %169 unwind label %174

169:                                              ; preds = %168
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  br label %178

170:                                              ; preds = %164
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %177

172:                                              ; preds = %167, %165
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %176

174:                                              ; preds = %168
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  br label %176

176:                                              ; preds = %174, %172
  %.pn79 = phi { ptr, i32 } [ %175, %174 ], [ %173, %172 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #8
  br label %177

177:                                              ; preds = %176, %170
  %.pn79.pn = phi { ptr, i32 } [ %.pn79, %176 ], [ %171, %170 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %9) #8
  br label %183

178:                                              ; preds = %159, %169
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %9) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %17) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %19, i32 noundef 255) #8
  %179 = load i64, ptr %19, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %18, i64 %179) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %20) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %21, i32 noundef 16711680) #8
  %180 = load i64, ptr %21, align 8
  call void @_ZN3fmt3v102bgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %20, i64 %180) #8
  call void @_ZN3fmt3v10orENS0_10text_styleERKS1_(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %17, ptr noundef nonnull byval(%"class.fmt::v10::text_style") align 8 %18, ptr noundef nonnull align 4 dereferenceable(19) %20)
  call void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 4 dereferenceable(19) %17, ptr noundef nonnull align 1 dereferenceable(10) @.str.14)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA52_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %15, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 1 dereferenceable(52) @.str.15)
          to label %181 unwind label %184

181:                                              ; preds = %178
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  %182 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %15)
  br i1 %182, label %200, label %186

183:                                              ; preds = %177, %162
  %.pn79.pn.pn = phi { ptr, i32 } [ %.pn79.pn, %177 ], [ %163, %162 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #8
  br label %597

184:                                              ; preds = %178
  %185 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  br label %203

186:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %187 unwind label %192

187:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #8
  %188 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %189 unwind label %194

189:                                              ; preds = %187
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %23, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 21, ptr noundef %188)
          to label %190 unwind label %194

190:                                              ; preds = %189
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %191 unwind label %196

191:                                              ; preds = %190
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #8
  br label %200

192:                                              ; preds = %186
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %199

194:                                              ; preds = %189, %187
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %198

196:                                              ; preds = %190
  %197 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  br label %198

198:                                              ; preds = %196, %194
  %.pn83 = phi { ptr, i32 } [ %197, %196 ], [ %195, %194 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #8
  br label %199

199:                                              ; preds = %198, %192
  %.pn83.pn = phi { ptr, i32 } [ %.pn83, %198 ], [ %193, %192 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #8
  br label %203

200:                                              ; preds = %181, %191
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %26) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %26, i8 noundef zeroext 1) #8
  call void @_ZN3fmt3v106formatIA5_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 4 dereferenceable(19) %26, ptr noundef nonnull align 1 dereferenceable(5) @.str.18)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA13_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %24, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 1 dereferenceable(13) @.str.19)
          to label %201 unwind label %204

201:                                              ; preds = %200
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  %202 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %24)
  br i1 %202, label %220, label %206

203:                                              ; preds = %199, %184
  %.pn83.pn.pn = phi { ptr, i32 } [ %.pn83.pn, %199 ], [ %185, %184 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  br label %597

204:                                              ; preds = %200
  %205 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  br label %223

206:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %207 unwind label %212

207:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #8
  %208 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %209 unwind label %214

209:                                              ; preds = %207
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %28, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 22, ptr noundef %208)
          to label %210 unwind label %214

210:                                              ; preds = %209
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %211 unwind label %216

211:                                              ; preds = %210
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  br label %220

212:                                              ; preds = %206
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %219

214:                                              ; preds = %209, %207
  %215 = landingpad { ptr, i32 }
          cleanup
  br label %218

216:                                              ; preds = %210
  %217 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  br label %218

218:                                              ; preds = %216, %214
  %.pn87 = phi { ptr, i32 } [ %217, %216 ], [ %215, %214 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #8
  br label %219

219:                                              ; preds = %218, %212
  %.pn87.pn = phi { ptr, i32 } [ %.pn87, %218 ], [ %213, %212 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #8
  br label %223

220:                                              ; preds = %201, %211
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %31) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %31, i8 noundef zeroext 2) #8
  call void @_ZN3fmt3v106formatIA6_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 4 dereferenceable(19) %31, ptr noundef nonnull align 1 dereferenceable(6) @.str.22)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA14_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %29, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.21, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 1 dereferenceable(14) @.str.23)
          to label %221 unwind label %224

221:                                              ; preds = %220
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  %222 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %29)
  br i1 %222, label %240, label %226

223:                                              ; preds = %219, %204
  %.pn87.pn.pn = phi { ptr, i32 } [ %.pn87.pn, %219 ], [ %205, %204 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #8
  br label %597

224:                                              ; preds = %220
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  br label %243

226:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %227 unwind label %232

227:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #8
  %228 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %229 unwind label %234

229:                                              ; preds = %227
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %33, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 23, ptr noundef %228)
          to label %230 unwind label %234

230:                                              ; preds = %229
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %231 unwind label %236

231:                                              ; preds = %230
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #8
  br label %240

232:                                              ; preds = %226
  %233 = landingpad { ptr, i32 }
          cleanup
  br label %239

234:                                              ; preds = %229, %227
  %235 = landingpad { ptr, i32 }
          cleanup
  br label %238

236:                                              ; preds = %230
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #8
  br label %238

238:                                              ; preds = %236, %234
  %.pn91 = phi { ptr, i32 } [ %237, %236 ], [ %235, %234 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  br label %239

239:                                              ; preds = %238, %232
  %.pn91.pn = phi { ptr, i32 } [ %.pn91, %238 ], [ %233, %232 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  br label %243

240:                                              ; preds = %221, %231
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %36) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %36, i8 noundef zeroext 4) #8
  call void @_ZN3fmt3v106formatIA7_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 4 dereferenceable(19) %36, ptr noundef nonnull align 1 dereferenceable(7) @.str.26)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA15_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %34, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.25, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 1 dereferenceable(15) @.str.27)
          to label %241 unwind label %244

241:                                              ; preds = %240
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  %242 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %34)
  br i1 %242, label %260, label %246

243:                                              ; preds = %239, %224
  %.pn91.pn.pn = phi { ptr, i32 } [ %.pn91.pn, %239 ], [ %225, %224 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #8
  br label %597

244:                                              ; preds = %240
  %245 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  br label %263

246:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %247 unwind label %252

247:                                              ; preds = %246
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #8
  %248 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %249 unwind label %254

249:                                              ; preds = %247
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %38, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 25, ptr noundef %248)
          to label %250 unwind label %254

250:                                              ; preds = %249
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %251 unwind label %256

251:                                              ; preds = %250
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #8
  br label %260

252:                                              ; preds = %246
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %259

254:                                              ; preds = %249, %247
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %258

256:                                              ; preds = %250
  %257 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  br label %258

258:                                              ; preds = %256, %254
  %.pn95 = phi { ptr, i32 } [ %257, %256 ], [ %255, %254 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  br label %259

259:                                              ; preds = %258, %252
  %.pn95.pn = phi { ptr, i32 } [ %.pn95, %258 ], [ %253, %252 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #8
  br label %263

260:                                              ; preds = %241, %251
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %41) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %41, i8 noundef zeroext 8) #8
  call void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 4 dereferenceable(19) %41, ptr noundef nonnull align 1 dereferenceable(10) @.str.30)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA18_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %39, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.29, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 1 dereferenceable(18) @.str.31)
          to label %261 unwind label %264

261:                                              ; preds = %260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  %262 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %39)
  br i1 %262, label %280, label %266

263:                                              ; preds = %259, %244
  %.pn95.pn.pn = phi { ptr, i32 } [ %.pn95.pn, %259 ], [ %245, %244 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #8
  br label %597

264:                                              ; preds = %260
  %265 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  br label %283

266:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %267 unwind label %272

267:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #8
  %268 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %269 unwind label %274

269:                                              ; preds = %267
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %43, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 27, ptr noundef %268)
          to label %270 unwind label %274

270:                                              ; preds = %269
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %271 unwind label %276

271:                                              ; preds = %270
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #8
  br label %280

272:                                              ; preds = %266
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %279

274:                                              ; preds = %269, %267
  %275 = landingpad { ptr, i32 }
          cleanup
  br label %278

276:                                              ; preds = %270
  %277 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #8
  br label %278

278:                                              ; preds = %276, %274
  %.pn99 = phi { ptr, i32 } [ %277, %276 ], [ %275, %274 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  br label %279

279:                                              ; preds = %278, %272
  %.pn99.pn = phi { ptr, i32 } [ %.pn99, %278 ], [ %273, %272 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  br label %283

280:                                              ; preds = %261, %271
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %46) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %46, i8 noundef zeroext 16) #8
  call void @_ZN3fmt3v106formatIA6_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 4 dereferenceable(19) %46, ptr noundef nonnull align 1 dereferenceable(6) @.str.34)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA14_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %44, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.33, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 1 dereferenceable(14) @.str.35)
          to label %281 unwind label %284

281:                                              ; preds = %280
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  %282 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %44)
  br i1 %282, label %300, label %286

283:                                              ; preds = %279, %264
  %.pn99.pn.pn = phi { ptr, i32 } [ %.pn99.pn, %279 ], [ %265, %264 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #8
  br label %597

284:                                              ; preds = %280
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  br label %303

286:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %287 unwind label %292

287:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #8
  %288 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %289 unwind label %294

289:                                              ; preds = %287
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %48, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 28, ptr noundef %288)
          to label %290 unwind label %294

290:                                              ; preds = %289
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %291 unwind label %296

291:                                              ; preds = %290
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #8
  br label %300

292:                                              ; preds = %286
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %299

294:                                              ; preds = %289, %287
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %298

296:                                              ; preds = %290
  %297 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  br label %298

298:                                              ; preds = %296, %294
  %.pn103 = phi { ptr, i32 } [ %297, %296 ], [ %295, %294 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #8
  br label %299

299:                                              ; preds = %298, %292
  %.pn103.pn = phi { ptr, i32 } [ %.pn103, %298 ], [ %293, %292 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #8
  br label %303

300:                                              ; preds = %281, %291
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %51) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %51, i8 noundef zeroext 32) #8
  call void @_ZN3fmt3v106formatIA8_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 4 dereferenceable(19) %51, ptr noundef nonnull align 1 dereferenceable(8) @.str.38)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA16_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %49, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.37, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 1 dereferenceable(16) @.str.39)
          to label %301 unwind label %304

301:                                              ; preds = %300
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  %302 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %49)
  br i1 %302, label %320, label %306

303:                                              ; preds = %299, %284
  %.pn103.pn.pn = phi { ptr, i32 } [ %.pn103.pn, %299 ], [ %285, %284 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  br label %597

304:                                              ; preds = %300
  %305 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  br label %323

306:                                              ; preds = %301
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %307 unwind label %312

307:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #8
  %308 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %309 unwind label %314

309:                                              ; preds = %307
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %53, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 30, ptr noundef %308)
          to label %310 unwind label %314

310:                                              ; preds = %309
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %311 unwind label %316

311:                                              ; preds = %310
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #8
  br label %320

312:                                              ; preds = %306
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %319

314:                                              ; preds = %309, %307
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %318

316:                                              ; preds = %310
  %317 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #8
  br label %318

318:                                              ; preds = %316, %314
  %.pn107 = phi { ptr, i32 } [ %317, %316 ], [ %315, %314 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #8
  br label %319

319:                                              ; preds = %318, %312
  %.pn107.pn = phi { ptr, i32 } [ %.pn107, %318 ], [ %313, %312 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #8
  br label %323

320:                                              ; preds = %301, %311
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %56) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %56, i8 noundef zeroext 64) #8
  call void @_ZN3fmt3v106formatIA8_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 4 dereferenceable(19) %56, ptr noundef nonnull align 1 dereferenceable(8) @.str.42)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA16_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %54, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.41, ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 1 dereferenceable(16) @.str.43)
          to label %321 unwind label %324

321:                                              ; preds = %320
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  %322 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %54)
  br i1 %322, label %340, label %326

323:                                              ; preds = %319, %304
  %.pn107.pn.pn = phi { ptr, i32 } [ %.pn107.pn, %319 ], [ %305, %304 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #8
  br label %597

324:                                              ; preds = %320
  %325 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  br label %343

326:                                              ; preds = %321
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %327 unwind label %332

327:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #8
  %328 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %329 unwind label %334

329:                                              ; preds = %327
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %58, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 32, ptr noundef %328)
          to label %330 unwind label %334

330:                                              ; preds = %329
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %331 unwind label %336

331:                                              ; preds = %330
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #8
  br label %340

332:                                              ; preds = %326
  %333 = landingpad { ptr, i32 }
          cleanup
  br label %339

334:                                              ; preds = %329, %327
  %335 = landingpad { ptr, i32 }
          cleanup
  br label %338

336:                                              ; preds = %330
  %337 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #8
  br label %338

338:                                              ; preds = %336, %334
  %.pn111 = phi { ptr, i32 } [ %337, %336 ], [ %335, %334 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #8
  br label %339

339:                                              ; preds = %338, %332
  %.pn111.pn = phi { ptr, i32 } [ %.pn111, %338 ], [ %333, %332 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  br label %343

340:                                              ; preds = %321, %331
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %61) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %61, i8 noundef zeroext -128) #8
  call void @_ZN3fmt3v106formatIA14_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 4 dereferenceable(19) %61, ptr noundef nonnull align 1 dereferenceable(14) @.str.46)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA22_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %59, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.45, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 1 dereferenceable(22) @.str.47)
          to label %341 unwind label %344

341:                                              ; preds = %340
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #8
  %342 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %59)
  br i1 %342, label %360, label %346

343:                                              ; preds = %339, %324
  %.pn111.pn.pn = phi { ptr, i32 } [ %.pn111.pn, %339 ], [ %325, %324 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #8
  br label %597

344:                                              ; preds = %340
  %345 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #8
  br label %364

346:                                              ; preds = %341
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %347 unwind label %352

347:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #8
  %348 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %349 unwind label %354

349:                                              ; preds = %347
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %63, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 34, ptr noundef %348)
          to label %350 unwind label %354

350:                                              ; preds = %349
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %351 unwind label %356

351:                                              ; preds = %350
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #8
  br label %360

352:                                              ; preds = %346
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %359

354:                                              ; preds = %349, %347
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %358

356:                                              ; preds = %350
  %357 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #8
  br label %358

358:                                              ; preds = %356, %354
  %.pn115 = phi { ptr, i32 } [ %357, %356 ], [ %355, %354 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #8
  br label %359

359:                                              ; preds = %358, %352
  %.pn115.pn = phi { ptr, i32 } [ %.pn115, %358 ], [ %353, %352 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #8
  br label %364

360:                                              ; preds = %341, %351
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %66) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %68, i32 noundef 255) #8
  %361 = load i64, ptr %68, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %67, i64 %361) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %69) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %69, i8 noundef zeroext 1) #8
  call void @_ZN3fmt3v10orENS0_10text_styleERKS1_(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %66, ptr noundef nonnull byval(%"class.fmt::v10::text_style") align 8 %67, ptr noundef nonnull align 4 dereferenceable(19) %69)
  call void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 4 dereferenceable(19) %66, ptr noundef nonnull align 1 dereferenceable(10) @.str.50)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA37_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %64, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.49, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 1 dereferenceable(37) @.str.51)
          to label %362 unwind label %365

362:                                              ; preds = %360
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #8
  %363 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %64)
  br i1 %363, label %381, label %367

364:                                              ; preds = %359, %344
  %.pn115.pn.pn = phi { ptr, i32 } [ %.pn115.pn, %359 ], [ %345, %344 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #8
  br label %597

365:                                              ; preds = %360
  %366 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #8
  br label %384

367:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %368 unwind label %373

368:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #8
  %369 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %64)
          to label %370 unwind label %375

370:                                              ; preds = %368
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %71, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 37, ptr noundef %369)
          to label %371 unwind label %375

371:                                              ; preds = %370
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %372 unwind label %377

372:                                              ; preds = %371
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #8
  br label %381

373:                                              ; preds = %367
  %374 = landingpad { ptr, i32 }
          cleanup
  br label %380

375:                                              ; preds = %370, %368
  %376 = landingpad { ptr, i32 }
          cleanup
  br label %379

377:                                              ; preds = %371
  %378 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #8
  br label %379

379:                                              ; preds = %377, %375
  %.pn119 = phi { ptr, i32 } [ %378, %377 ], [ %376, %375 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #8
  br label %380

380:                                              ; preds = %379, %373
  %.pn119.pn = phi { ptr, i32 } [ %.pn119, %379 ], [ %374, %373 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #8
  br label %384

381:                                              ; preds = %362, %372
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %72) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %74) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %74, i8 noundef zeroext 1) #8
  call void @_ZN3fmt3v106formatIA11_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 4 dereferenceable(19) %74, ptr noundef nonnull align 1 dereferenceable(11) @.str.54)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA19_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %72, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.53, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 1 dereferenceable(19) @.str.55)
          to label %382 unwind label %385

382:                                              ; preds = %381
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  %383 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %72)
  br i1 %383, label %401, label %387

384:                                              ; preds = %380, %365
  %.pn119.pn.pn = phi { ptr, i32 } [ %.pn119.pn, %380 ], [ %366, %365 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #8
  br label %597

385:                                              ; preds = %381
  %386 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  br label %405

387:                                              ; preds = %382
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %388 unwind label %393

388:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #8
  %389 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %72)
          to label %390 unwind label %395

390:                                              ; preds = %388
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %76, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 39, ptr noundef %389)
          to label %391 unwind label %395

391:                                              ; preds = %390
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %392 unwind label %397

392:                                              ; preds = %391
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #8
  br label %401

393:                                              ; preds = %387
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %400

395:                                              ; preds = %390, %388
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %399

397:                                              ; preds = %391
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #8
  br label %399

399:                                              ; preds = %397, %395
  %.pn123 = phi { ptr, i32 } [ %398, %397 ], [ %396, %395 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #8
  br label %400

400:                                              ; preds = %399, %393
  %.pn123.pn = phi { ptr, i32 } [ %.pn123, %399 ], [ %394, %393 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %72) #8
  br label %405

401:                                              ; preds = %382, %392
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %72) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %72) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %77) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %78) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %79) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %80, i32 noundef 255) #8
  %402 = load i64, ptr %80, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %79, i64 %402) #8
  call void @_ZN3fmt3v106formatIA9_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 4 dereferenceable(19) %79, ptr noundef nonnull align 1 dereferenceable(9) @.str.58)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA32_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %77, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.57, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 1 dereferenceable(32) @.str.59)
          to label %403 unwind label %406

403:                                              ; preds = %401
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #8
  %404 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %77)
  br i1 %404, label %422, label %408

405:                                              ; preds = %400, %385
  %.pn123.pn.pn = phi { ptr, i32 } [ %.pn123.pn, %400 ], [ %386, %385 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %72) #8
  br label %597

406:                                              ; preds = %401
  %407 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #8
  br label %425

408:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %409 unwind label %414

409:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #8
  %410 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %77)
          to label %411 unwind label %416

411:                                              ; preds = %409
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %82, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 41, ptr noundef %410)
          to label %412 unwind label %416

412:                                              ; preds = %411
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %413 unwind label %418

413:                                              ; preds = %412
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #8
  br label %422

414:                                              ; preds = %408
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %421

416:                                              ; preds = %411, %409
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %420

418:                                              ; preds = %412
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #8
  br label %420

420:                                              ; preds = %418, %416
  %.pn127 = phi { ptr, i32 } [ %419, %418 ], [ %417, %416 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  br label %421

421:                                              ; preds = %420, %414
  %.pn127.pn = phi { ptr, i32 } [ %.pn127, %420 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77) #8
  br label %425

422:                                              ; preds = %403, %413
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %77) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %83) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %84) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %85) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %85, i8 noundef zeroext 0) #8
  call void @_ZN3fmt3v106formatIA3_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 4 dereferenceable(19) %85, ptr noundef nonnull align 1 dereferenceable(3) @.str.62)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA3_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %83, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.61, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 1 dereferenceable(3) @.str.62)
          to label %423 unwind label %426

423:                                              ; preds = %422
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %85) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #8
  %424 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %83)
  br i1 %424, label %442, label %428

425:                                              ; preds = %421, %406
  %.pn127.pn.pn = phi { ptr, i32 } [ %.pn127.pn, %421 ], [ %407, %406 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %77) #8
  br label %597

426:                                              ; preds = %422
  %427 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %85) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #8
  br label %446

428:                                              ; preds = %423
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %86) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %429 unwind label %434

429:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #8
  %430 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %83)
          to label %431 unwind label %436

431:                                              ; preds = %429
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %87, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 42, ptr noundef %430)
          to label %432 unwind label %436

432:                                              ; preds = %431
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %433 unwind label %438

433:                                              ; preds = %432
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #8
  br label %442

434:                                              ; preds = %428
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %441

436:                                              ; preds = %431, %429
  %437 = landingpad { ptr, i32 }
          cleanup
  br label %440

438:                                              ; preds = %432
  %439 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #8
  br label %440

440:                                              ; preds = %438, %436
  %.pn131 = phi { ptr, i32 } [ %439, %438 ], [ %437, %436 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #8
  br label %441

441:                                              ; preds = %440, %434
  %.pn131.pn = phi { ptr, i32 } [ %.pn131, %440 ], [ %435, %434 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #8
  br label %446

442:                                              ; preds = %423, %433
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %83) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %88) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %90) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %91, i8 noundef zeroext 31) #8
  %443 = load i64, ptr %91, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %90, i64 %443) #8
  call void @_ZN3fmt3v106formatIA5_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef nonnull align 4 dereferenceable(19) %90, ptr noundef nonnull align 1 dereferenceable(5) @.str.65)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA14_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %88, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.64, ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 1 dereferenceable(14) @.str.66)
          to label %444 unwind label %447

444:                                              ; preds = %442
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %90) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #8
  %445 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %88)
  br i1 %445, label %463, label %449

446:                                              ; preds = %441, %426
  %.pn131.pn.pn = phi { ptr, i32 } [ %.pn131.pn, %441 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %83) #8
  br label %597

447:                                              ; preds = %442
  %448 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %90) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #8
  br label %467

449:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %450 unwind label %455

450:                                              ; preds = %449
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %93) #8
  %451 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %452 unwind label %457

452:                                              ; preds = %450
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %93, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 44, ptr noundef %451)
          to label %453 unwind label %457

453:                                              ; preds = %452
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %454 unwind label %459

454:                                              ; preds = %453
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #8
  br label %463

455:                                              ; preds = %449
  %456 = landingpad { ptr, i32 }
          cleanup
  br label %462

457:                                              ; preds = %452, %450
  %458 = landingpad { ptr, i32 }
          cleanup
  br label %461

459:                                              ; preds = %453
  %460 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #8
  br label %461

461:                                              ; preds = %459, %457
  %.pn135 = phi { ptr, i32 } [ %460, %459 ], [ %458, %457 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #8
  br label %462

462:                                              ; preds = %461, %455
  %.pn135.pn = phi { ptr, i32 } [ %.pn135, %461 ], [ %456, %455 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %88) #8
  br label %467

463:                                              ; preds = %444, %454
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %88) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %88) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %94) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %96) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %97, i8 noundef zeroext 36) #8
  %464 = load i64, ptr %97, align 8
  call void @_ZN3fmt3v102bgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %96, i64 %464) #8
  call void @_ZN3fmt3v106formatIA6_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %95, ptr noundef nonnull align 4 dereferenceable(19) %96, ptr noundef nonnull align 1 dereferenceable(6) @.str.69)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA15_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %94, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.68, ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull align 1 dereferenceable(15) @.str.70)
          to label %465 unwind label %468

465:                                              ; preds = %463
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %96) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #8
  %466 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %94)
  br i1 %466, label %484, label %470

467:                                              ; preds = %462, %447
  %.pn135.pn.pn = phi { ptr, i32 } [ %.pn135.pn, %462 ], [ %448, %447 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %88) #8
  br label %597

468:                                              ; preds = %463
  %469 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %96) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #8
  br label %488

470:                                              ; preds = %465
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %98)
          to label %471 unwind label %476

471:                                              ; preds = %470
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #8
  %472 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %94)
          to label %473 unwind label %478

473:                                              ; preds = %471
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %99, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 46, ptr noundef %472)
          to label %474 unwind label %478

474:                                              ; preds = %473
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %99, ptr noundef nonnull align 8 dereferenceable(8) %98)
          to label %475 unwind label %480

475:                                              ; preds = %474
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #8
  br label %484

476:                                              ; preds = %470
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %483

478:                                              ; preds = %473, %471
  %479 = landingpad { ptr, i32 }
          cleanup
  br label %482

480:                                              ; preds = %474
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #8
  br label %482

482:                                              ; preds = %480, %478
  %.pn139 = phi { ptr, i32 } [ %481, %480 ], [ %479, %478 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #8
  br label %483

483:                                              ; preds = %482, %476
  %.pn139.pn = phi { ptr, i32 } [ %.pn139, %482 ], [ %477, %476 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %94) #8
  br label %488

484:                                              ; preds = %465, %475
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %94) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %94) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %100) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %101) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %102) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %103, i8 noundef zeroext 92) #8
  %485 = load i64, ptr %103, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %102, i64 %485) #8
  call void @_ZN3fmt3v106formatIA8_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %101, ptr noundef nonnull align 4 dereferenceable(19) %102, ptr noundef nonnull align 1 dereferenceable(8) @.str.73)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA17_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %100, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.72, ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 1 dereferenceable(17) @.str.74)
          to label %486 unwind label %489

486:                                              ; preds = %484
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %102) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #8
  %487 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %100)
  br i1 %487, label %505, label %491

488:                                              ; preds = %483, %468
  %.pn139.pn.pn = phi { ptr, i32 } [ %.pn139.pn, %483 ], [ %469, %468 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %94) #8
  br label %597

489:                                              ; preds = %484
  %490 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %102) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #8
  br label %509

491:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %492 unwind label %497

492:                                              ; preds = %491
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #8
  %493 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %100)
          to label %494 unwind label %499

494:                                              ; preds = %492
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %105, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 48, ptr noundef %493)
          to label %495 unwind label %499

495:                                              ; preds = %494
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %105, ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %496 unwind label %501

496:                                              ; preds = %495
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #8
  br label %505

497:                                              ; preds = %491
  %498 = landingpad { ptr, i32 }
          cleanup
  br label %504

499:                                              ; preds = %494, %492
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %503

501:                                              ; preds = %495
  %502 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #8
  br label %503

503:                                              ; preds = %501, %499
  %.pn143 = phi { ptr, i32 } [ %502, %501 ], [ %500, %499 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #8
  br label %504

504:                                              ; preds = %503, %497
  %.pn143.pn = phi { ptr, i32 } [ %.pn143, %503 ], [ %498, %497 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %100) #8
  br label %509

505:                                              ; preds = %486, %496
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %100) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %100) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %106) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %108) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %109, i8 noundef zeroext 95) #8
  %506 = load i64, ptr %109, align 8
  call void @_ZN3fmt3v102bgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %108, i64 %506) #8
  call void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %107, ptr noundef nonnull align 4 dereferenceable(19) %108, ptr noundef nonnull align 1 dereferenceable(10) @.str.77)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA20_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %106, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.76, ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull align 1 dereferenceable(20) @.str.78)
          to label %507 unwind label %510

507:                                              ; preds = %505
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %108) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #8
  %508 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %106)
  br i1 %508, label %526, label %512

509:                                              ; preds = %504, %489
  %.pn143.pn.pn = phi { ptr, i32 } [ %.pn143.pn, %504 ], [ %490, %489 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %100) #8
  br label %597

510:                                              ; preds = %505
  %511 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %108) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #8
  br label %530

512:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %110) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %110)
          to label %513 unwind label %518

513:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #8
  %514 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %106)
          to label %515 unwind label %520

515:                                              ; preds = %513
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %111, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 50, ptr noundef %514)
          to label %516 unwind label %520

516:                                              ; preds = %515
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef nonnull align 8 dereferenceable(8) %110)
          to label %517 unwind label %522

517:                                              ; preds = %516
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #8
  br label %526

518:                                              ; preds = %512
  %519 = landingpad { ptr, i32 }
          cleanup
  br label %525

520:                                              ; preds = %515, %513
  %521 = landingpad { ptr, i32 }
          cleanup
  br label %524

522:                                              ; preds = %516
  %523 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #8
  br label %524

524:                                              ; preds = %522, %520
  %.pn147 = phi { ptr, i32 } [ %523, %522 ], [ %521, %520 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #8
  br label %525

525:                                              ; preds = %524, %518
  %.pn147.pn = phi { ptr, i32 } [ %.pn147, %524 ], [ %519, %518 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %106) #8
  br label %530

526:                                              ; preds = %507, %517
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %106) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %106) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %112) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %113) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %114) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8) %115, i8 noundef zeroext 31) #8
  %527 = load i64, ptr %115, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %114, i64 %527) #8
  call void @_ZN3fmt3v106formatIA3_cJA4_cEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS6_ESaIS6_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %113, ptr noundef nonnull align 4 dereferenceable(19) %114, ptr noundef nonnull align 1 dereferenceable(3) @.str.81, ptr noundef nonnull align 1 dereferenceable(4) @.str.82)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA13_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %112, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.80, ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 1 dereferenceable(13) @.str.83)
          to label %528 unwind label %531

528:                                              ; preds = %526
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %114) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #8
  %529 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %112)
  br i1 %529, label %547, label %533

530:                                              ; preds = %525, %510
  %.pn147.pn.pn = phi { ptr, i32 } [ %.pn147.pn, %525 ], [ %511, %510 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %106) #8
  br label %597

531:                                              ; preds = %526
  %532 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %114) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #8
  br label %554

533:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %116) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %116)
          to label %534 unwind label %539

534:                                              ; preds = %533
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %117) #8
  %535 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %112)
          to label %536 unwind label %541

536:                                              ; preds = %534
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %117, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 52, ptr noundef %535)
          to label %537 unwind label %541

537:                                              ; preds = %536
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef nonnull align 8 dereferenceable(8) %116)
          to label %538 unwind label %543

538:                                              ; preds = %537
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #8
  br label %547

539:                                              ; preds = %533
  %540 = landingpad { ptr, i32 }
          cleanup
  br label %546

541:                                              ; preds = %536, %534
  %542 = landingpad { ptr, i32 }
          cleanup
  br label %545

543:                                              ; preds = %537
  %544 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #8
  br label %545

545:                                              ; preds = %543, %541
  %.pn151 = phi { ptr, i32 } [ %544, %543 ], [ %542, %541 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #8
  br label %546

546:                                              ; preds = %545, %539
  %.pn151.pn = phi { ptr, i32 } [ %.pn151, %545 ], [ %540, %539 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %112) #8
  br label %554

547:                                              ; preds = %528, %538
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %112) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %112) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %118) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #8
  call void @_ZN3fmt3v1019basic_format_stringIcJNS0_6detail10styled_argIA4_cEENS3_IA5_cEEEEC2IS6_TnNSt9enable_ifIXsr3std14is_convertibleIRKT_NS0_17basic_string_viewIcEEEE5valueEiE4typeELi0EEESD_(ptr noundef nonnull align 8 dereferenceable(16) %120, ptr noundef nonnull align 1 dereferenceable(5) @.str.86)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %123, i32 noundef 16711680) #8
  %548 = load i64, ptr %123, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %122, i64 %548) #8
  call void @_ZN3fmt3v106styledIA4_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind nonnull writable sret(%"struct.fmt::v10::detail::styled_arg") align 8 %121, ptr noundef nonnull align 1 dereferenceable(4) @.str.87, ptr noundef nonnull byval(%"class.fmt::v10::text_style") align 8 %122)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %125, i8 noundef zeroext 1) #8
  call void @_ZN3fmt3v106styledIA5_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind nonnull writable sret(%"struct.fmt::v10::detail::styled_arg.10") align 8 %124, ptr noundef nonnull align 1 dereferenceable(5) @.str.18, ptr noundef nonnull byval(%"class.fmt::v10::text_style") align 8 %125)
  %549 = load ptr, ptr %120, align 8
  %550 = getelementptr inbounds i8, ptr %120, i64 8
  %551 = load i64, ptr %550, align 8
  call void @_ZN3fmt3v106formatIJNS0_6detail10styled_argIA4_cEENS3_IA5_cEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOSG_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, ptr %549, i64 %551, ptr noundef nonnull align 8 dereferenceable(28) %121, ptr noundef nonnull align 8 dereferenceable(28) %124)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA39_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %118, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.85, ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 1 dereferenceable(39) @.str.88)
          to label %552 unwind label %555

552:                                              ; preds = %547
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #8
  %553 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %118)
  br i1 %553, label %571, label %557

554:                                              ; preds = %546, %531
  %.pn151.pn.pn = phi { ptr, i32 } [ %.pn151.pn, %546 ], [ %532, %531 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %112) #8
  br label %597

555:                                              ; preds = %547
  %556 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #8
  br label %578

557:                                              ; preds = %552
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %126) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %126)
          to label %558 unwind label %563

558:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %127) #8
  %559 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %118)
          to label %560 unwind label %565

560:                                              ; preds = %558
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %127, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 55, ptr noundef %559)
          to label %561 unwind label %565

561:                                              ; preds = %560
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef nonnull align 8 dereferenceable(8) %126)
          to label %562 unwind label %567

562:                                              ; preds = %561
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %127) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %126) #8
  br label %571

563:                                              ; preds = %557
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %570

565:                                              ; preds = %560, %558
  %566 = landingpad { ptr, i32 }
          cleanup
  br label %569

567:                                              ; preds = %561
  %568 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #8
  br label %569

569:                                              ; preds = %567, %565
  %.pn155 = phi { ptr, i32 } [ %568, %567 ], [ %566, %565 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %127) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #8
  br label %570

570:                                              ; preds = %569, %563
  %.pn155.pn = phi { ptr, i32 } [ %.pn155, %569 ], [ %564, %563 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %126) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %118) #8
  br label %578

571:                                              ; preds = %552, %562
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %118) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %118) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %128) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %129) #8
  call void @_ZN3fmt3v1019basic_format_stringIcJNS0_6detail10styled_argIA4_cEEEEC2IA3_cTnNSt9enable_ifIXsr3std14is_convertibleIRKT_NS0_17basic_string_viewIcEEEE5valueEiE4typeELi0EEESC_(ptr noundef nonnull align 8 dereferenceable(16) %130, ptr noundef nonnull align 1 dereferenceable(3) @.str.81)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %131) #8
  call void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8) %134, i32 noundef 255) #8
  %572 = load i64, ptr %134, align 8
  call void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %133, i64 %572) #8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %135) #8
  call void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19) %135, i8 noundef zeroext 8) #8
  call void @_ZN3fmt3v10orENS0_10text_styleERKS1_(ptr dead_on_unwind nonnull writable sret(%"class.fmt::v10::text_style") align 4 %132, ptr noundef nonnull byval(%"class.fmt::v10::text_style") align 8 %133, ptr noundef nonnull align 4 dereferenceable(19) %135)
  call void @_ZN3fmt3v106styledIA4_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind nonnull writable sret(%"struct.fmt::v10::detail::styled_arg") align 8 %131, ptr noundef nonnull align 1 dereferenceable(4) @.str.91, ptr noundef nonnull byval(%"class.fmt::v10::text_style") align 8 %132)
  %573 = load ptr, ptr %130, align 8
  %574 = getelementptr inbounds i8, ptr %130, i64 8
  %575 = load i64, ptr %574, align 8
  call void @_ZN3fmt3v106formatIJNS0_6detail10styled_argIA4_cEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOSE_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr %573, i64 %575, ptr noundef nonnull align 8 dereferenceable(28) %131)
  invoke void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA31_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %128, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.90, ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull align 1 dereferenceable(31) @.str.92)
          to label %576 unwind label %579

576:                                              ; preds = %571
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %135) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #8
  %577 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %128)
  br i1 %577, label %595, label %581

578:                                              ; preds = %570, %555
  %.pn155.pn.pn = phi { ptr, i32 } [ %.pn155.pn, %570 ], [ %556, %555 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %118) #8
  br label %597

579:                                              ; preds = %571
  %580 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #8
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %135) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #8
  br label %596

581:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %136) #8
  invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %136)
          to label %582 unwind label %587

582:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %137) #8
  %583 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %128)
          to label %584 unwind label %589

584:                                              ; preds = %582
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %137, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 58, ptr noundef %583)
          to label %585 unwind label %589

585:                                              ; preds = %584
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %137, ptr noundef nonnull align 8 dereferenceable(8) %136)
          to label %586 unwind label %591

586:                                              ; preds = %585
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #8
  br label %595

587:                                              ; preds = %581
  %588 = landingpad { ptr, i32 }
          cleanup
  br label %594

589:                                              ; preds = %584, %582
  %590 = landingpad { ptr, i32 }
          cleanup
  br label %593

591:                                              ; preds = %585
  %592 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #8
  br label %593

593:                                              ; preds = %591, %589
  %.pn159 = phi { ptr, i32 } [ %592, %591 ], [ %590, %589 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #8
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #8
  br label %594

594:                                              ; preds = %593, %587
  %.pn159.pn = phi { ptr, i32 } [ %.pn159, %593 ], [ %588, %587 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #8
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #8
  br label %596

595:                                              ; preds = %576, %586
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %128) #8
  ret void

596:                                              ; preds = %594, %579
  %.pn159.pn.pn = phi { ptr, i32 } [ %.pn159.pn, %594 ], [ %580, %579 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %128) #8
  br label %597

597:                                              ; preds = %596, %578, %554, %530, %509, %488, %467, %446, %425, %405, %384, %364, %343, %323, %303, %283, %263, %243, %223, %203, %183, %161
  %.pn159.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn, %596 ], [ %.pn155.pn.pn, %578 ], [ %.pn151.pn.pn, %554 ], [ %.pn147.pn.pn, %530 ], [ %.pn143.pn.pn, %509 ], [ %.pn139.pn.pn, %488 ], [ %.pn135.pn.pn, %467 ], [ %.pn131.pn.pn, %446 ], [ %.pn127.pn.pn, %425 ], [ %.pn123.pn.pn, %405 ], [ %.pn119.pn.pn, %384 ], [ %.pn115.pn.pn, %364 ], [ %.pn111.pn.pn, %343 ], [ %.pn107.pn.pn, %323 ], [ %.pn103.pn.pn, %303 ], [ %.pn99.pn.pn, %283 ], [ %.pn95.pn.pn, %263 ], [ %.pn91.pn.pn, %243 ], [ %.pn87.pn.pn, %223 ], [ %.pn83.pn.pn, %203 ], [ %.pn79.pn.pn, %183 ], [ %.pn.pn.pn, %161 ]
  resume { ptr, i32 } %.pn159.pn.pn.pn
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA38_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(38)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA15_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(15)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v102fgENS0_6detail10color_typeE(ptr dead_on_unwind noalias writable sret(%"class.fmt::v10::text_style") align 4, i64) local_unnamed_addr #4

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v106detail10color_typeC2ENS0_3rgbE(ptr noundef nonnull align 4 dereferenceable(8), i24) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1 align 2

declare void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #2 align 2

declare void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef, ptr noundef, i32 noundef, ptr noundef) unnamed_addr #5

declare void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

; Function Attrs: nounwind
declare void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA28_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(28)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA5_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(5)) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v106detail10color_typeC2ENS0_5colorE(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA52_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(52)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA10_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(10)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3fmt3v10orENS0_10text_styleERKS1_(ptr dead_on_unwind noalias writable sret(%"class.fmt::v10::text_style") align 4, ptr noundef byval(%"class.fmt::v10::text_style") align 8, ptr noundef nonnull align 4 dereferenceable(19)) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v102bgENS0_6detail10color_typeE(ptr dead_on_unwind noalias writable sret(%"class.fmt::v10::text_style") align 4, i64) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA13_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(13)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v1010text_styleC2ENS0_8emphasisE(ptr noundef nonnull align 4 dereferenceable(19), i8 noundef zeroext) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA14_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(14)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA6_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(6)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA15_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(15)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA7_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(7)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA18_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(18)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA16_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(16)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA8_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA22_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(22)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA14_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(14)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA37_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(37)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA19_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(19)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA11_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(11)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA32_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA9_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(9)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA3_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(3)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA3_cJEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS5_ESaIS5_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(3)) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3fmt3v106detail10color_typeC2ENS0_14terminal_colorE(ptr noundef nonnull align 4 dereferenceable(8), i8 noundef zeroext) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA17_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(17)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA20_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(20)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIA3_cJA4_cEcEENSt7__cxx1112basic_stringIT1_St11char_traitsIS6_ESaIS6_EEERKNS0_10text_styleERKT_DpRKT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(19), ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 1 dereferenceable(4)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA39_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(39)) local_unnamed_addr #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIJNS0_6detail10styled_argIA4_cEENS3_IA5_cEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOSG_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr, i64, ptr noundef nonnull align 8 dereferenceable(28), ptr noundef nonnull align 8 dereferenceable(28)) local_unnamed_addr #7

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3fmt3v1019basic_format_stringIcJNS0_6detail10styled_argIA4_cEENS3_IA5_cEEEEC2IS6_TnNSt9enable_ifIXsr3std14is_convertibleIRKT_NS0_17basic_string_viewIcEEEE5valueEiE4typeELi0EEESD_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(5)) unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3fmt3v106styledIA4_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind noalias writable sret(%"struct.fmt::v10::detail::styled_arg") align 8, ptr noundef nonnull align 1 dereferenceable(4), ptr noundef byval(%"class.fmt::v10::text_style") align 8) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3fmt3v106styledIA5_cEENS0_6detail10styled_argINSt9remove_cvINSt16remove_referenceIT_E4typeEE4typeEEERKS7_NS0_10text_styleE(ptr dead_on_unwind noalias writable sret(%"struct.fmt::v10::detail::styled_arg.10") align 8, ptr noundef nonnull align 1 dereferenceable(5), ptr noundef byval(%"class.fmt::v10::text_style") align 8) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7testing8internal8EqHelper7CompareINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA31_cTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr dead_on_unwind noalias writable sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(31)) local_unnamed_addr #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3fmt3v106formatIJNS0_6detail10styled_argIA4_cEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOSE_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr, i64, ptr noundef nonnull align 8 dereferenceable(28)) local_unnamed_addr #7

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3fmt3v1019basic_format_stringIcJNS0_6detail10styled_argIA4_cEEEEC2IA3_cTnNSt9enable_ifIXsr3std14is_convertibleIRKT_NS0_17basic_string_viewIcEEEE5valueEiE4typeELi0EEESC_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(3)) unnamed_addr #7 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { 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 #4 = { 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 #5 = { "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 = { alwaysinline 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 #8 = { 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)"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass