; LLVM IR from generalized-intelligence/GAAS :: deprecated/algorithms/scene_retrieving/src/nlohmann_json/benchmarks/thirdparty/f4888833 (EE)

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

%"class.std::vector.6" = type { %"struct.std::_Vector_base.7" }
%"struct.std::_Vector_base.7" = type { %"struct.std::_Vector_base<benchmark::BenchmarkReporter::Run, std::allocator<benchmark::BenchmarkReporter::Run>>::_Vector_impl" }
%"struct.std::_Vector_base<benchmark::BenchmarkReporter::Run, std::allocator<benchmark::BenchmarkReporter::Run>>::_Vector_impl" = type { %"struct.std::_Vector_base<benchmark::BenchmarkReporter::Run, std::allocator<benchmark::BenchmarkReporter::Run>>::_Vector_impl_data" }
%"struct.std::_Vector_base<benchmark::BenchmarkReporter::Run, std::allocator<benchmark::BenchmarkReporter::Run>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.11" = type { ptr }
%class.anon.12 = type { i8 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.20" = type { %"class.std::_Rb_tree.21" }
%"class.std::_Rb_tree.21" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, CounterStat>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CounterStat>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, CounterStat>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CounterStat>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.std::pair.27" = type { %"class.std::__cxx11::basic_string", %struct.CounterStat }
%"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] }
%struct.CounterStat = type { %"class.benchmark::Counter", %"class.std::vector" }
%"class.benchmark::Counter" = type <{ double, i32, [4 x i8] }>
%"struct.std::pair.25" = type <{ %"struct.std::_Rb_tree_iterator", i8, [7 x i8] }>
%"class.benchmark::internal::CheckHandler" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.34" = type { ptr }
%"struct.benchmark::BenchmarkReporter::Run" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i8, %"class.std::__cxx11::basic_string", i64, i32, double, double, double, double, double, i32, ptr, i64, ptr, i8, i8, %"class.std::map" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, benchmark::Counter>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, benchmark::Counter>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, benchmark::Counter>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, benchmark::Counter>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::pair" = type { %"class.std::__cxx11::basic_string", %"class.benchmark::Counter" }
%"struct.benchmark::Statistics" = type { %"class.std::__cxx11::basic_string", ptr }

@.str = external hidden unnamed_addr constant [57 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [170 x i8], align 1
@__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE = external hidden unnamed_addr constant [13 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 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

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

; 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) #1

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE(ptr dead_on_unwind noalias writable sret(%"class.std::vector.6") align 8 %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #3 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i1, align 1
  %6 = alloca i64, align 8
  %7 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %8 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %9 = alloca %class.anon.12, align 1
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.std::vector", align 8
  %15 = alloca %"class.std::vector", align 8
  %16 = alloca %"class.std::vector", align 8
  %17 = alloca i64, align 8
  %18 = alloca %"class.std::map.20", align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %21 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %25 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %26 = alloca ptr, align 8
  %27 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %28 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %29 = alloca %"struct.std::pair.27", align 8
  %30 = alloca %struct.CounterStat, align 8
  %31 = alloca %"struct.std::pair.25", align 8
  %32 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %33 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %34 = alloca i1, align 1
  %35 = alloca i1, align 1
  %36 = alloca ptr, align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %39 = alloca ptr, align 8
  %40 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %41 = alloca i1, align 1
  %42 = alloca i1, align 1
  %43 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %44 = alloca i1, align 1
  %45 = alloca i1, align 1
  %46 = alloca ptr, align 8
  %47 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %48 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %49 = alloca ptr, align 8
  %50 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %51 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %52 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %53 = alloca i1, align 1
  %54 = alloca i1, align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca i64, align 8
  %57 = alloca ptr, align 8
  %58 = alloca %"class.__gnu_cxx::__normal_iterator.34", align 8
  %59 = alloca %"class.__gnu_cxx::__normal_iterator.34", align 8
  %60 = alloca ptr, align 8
  %61 = alloca %"struct.benchmark::BenchmarkReporter::Run", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca ptr, align 8
  %65 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %66 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %67 = alloca ptr, align 8
  %68 = alloca double, align 8
  %69 = alloca %"class.benchmark::Counter", align 8
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  store i1 false, ptr %5, align 1
  call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #10
  %70 = load ptr, ptr %4, align 8, !tbaa !5
  %71 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %70) #10
  %72 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %7, i32 0, i32 0
  store ptr %71, ptr %72, align 8
  %73 = load ptr, ptr %4, align 8, !tbaa !5
  %74 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %73) #10
  %75 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %8, i32 0, i32 0
  store ptr %74, ptr %75, align 8
  %76 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %7, i32 0, i32 0
  %77 = load ptr, ptr %76, align 8
  %78 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %8, i32 0, i32 0
  %79 = load ptr, ptr %78, align 8
  %80 = invoke noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS4_SaIS4_EEEEZNS2_12ComputeStatsERKS9_E3$_0ENSt15iterator_traitsIT_E15difference_typeESF_SF_T0_"(ptr %77, ptr %79)
          to label %81 unwind label %88

81:                                               ; preds = %2
  store i64 %80, ptr %6, align 8, !tbaa !9
  %82 = load ptr, ptr %4, align 8, !tbaa !5
  %83 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %82) #10
  %84 = load i64, ptr %6, align 8, !tbaa !9
  %85 = sub i64 %83, %84
  %86 = icmp ult i64 %85, 2
  br i1 %86, label %87, label %92

87:                                               ; preds = %81
  store i1 true, ptr %5, align 1
  store i32 1, ptr %12, align 4
  br label %606

88:                                               ; preds = %2
  %89 = landingpad { ptr, i32 }
          cleanup
  %90 = extractvalue { ptr, i32 } %89, 0
  store ptr %90, ptr %10, align 8
  %91 = extractvalue { ptr, i32 } %89, 1
  store i32 %91, ptr %11, align 4
  br label %608

92:                                               ; preds = %81
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #10
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #10
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #10
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #10
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #10
  %93 = load ptr, ptr %4, align 8, !tbaa !5
  %94 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %93) #10
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %94)
          to label %95 unwind label %119

95:                                               ; preds = %92
  %96 = load ptr, ptr %4, align 8, !tbaa !5
  %97 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %96) #10
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %97)
          to label %98 unwind label %119

98:                                               ; preds = %95
  %99 = load ptr, ptr %4, align 8, !tbaa !5
  %100 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %99) #10
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %100)
          to label %101 unwind label %119

101:                                              ; preds = %98
  %102 = load ptr, ptr %4, align 8, !tbaa !5
  %103 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %102) #10
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %103)
          to label %104 unwind label %119

104:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #10
  %105 = load ptr, ptr %4, align 8, !tbaa !5
  %106 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5frontEv(ptr noundef nonnull align 8 dereferenceable(24) %105) #10
  %107 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %106, i32 0, i32 4
  %108 = load i64, ptr %107, align 8, !tbaa !11
  store i64 %108, ptr %17, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 48, ptr %18) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #10
  %109 = load ptr, ptr %4, align 8, !tbaa !5
  store ptr %109, ptr %19, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #10
  %110 = load ptr, ptr %19, align 8, !tbaa !5
  %111 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %110) #10
  %112 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %20, i32 0, i32 0
  store ptr %111, ptr %112, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #10
  %113 = load ptr, ptr %19, align 8, !tbaa !5
  %114 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %113) #10
  %115 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %21, i32 0, i32 0
  store ptr %114, ptr %115, align 8
  br label %116

116:                                              ; preds = %240, %104
  %117 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #10
  br i1 %117, label %123, label %118

118:                                              ; preds = %116
  store i32 2, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  br label %242

119:                                              ; preds = %101, %98, %95, %92
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %10, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %11, align 4
  br label %605

123:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #10
  %124 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #10
  store ptr %124, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #10
  %125 = load ptr, ptr %22, align 8, !tbaa !5
  %126 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %125, i32 0, i32 17
  store ptr %126, ptr %23, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #10
  %127 = load ptr, ptr %23, align 8, !tbaa !5
  %128 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %127) #10
  %129 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %24, i32 0, i32 0
  store ptr %128, ptr %129, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #10
  %130 = load ptr, ptr %23, align 8, !tbaa !5
  %131 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %130) #10
  %132 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %25, i32 0, i32 0
  store ptr %131, ptr %132, align 8
  br label %133

133:                                              ; preds = %236, %123
  %134 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #10
  br i1 %134, label %136, label %135

135:                                              ; preds = %133
  store i32 4, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #10
  br label %239

136:                                              ; preds = %133
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #10
  %137 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #10
  store ptr %137, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  %138 = load ptr, ptr %26, align 8, !tbaa !5
  %139 = getelementptr inbounds %"struct.std::pair", ptr %138, i32 0, i32 0
  %140 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %141 unwind label %171

141:                                              ; preds = %136
  %142 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %27, i32 0, i32 0
  store ptr %140, ptr %142, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #10
  %143 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #10
  %144 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %28, i32 0, i32 0
  store ptr %143, ptr %144, align 8
  %145 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #10
  br i1 %145, label %146, label %188

146:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 72, ptr %29) #10
  %147 = load ptr, ptr %26, align 8, !tbaa !5
  %148 = getelementptr inbounds %"struct.std::pair", ptr %147, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 40, ptr %30) #10
  %149 = getelementptr inbounds %struct.CounterStat, ptr %30, i32 0, i32 0
  %150 = load ptr, ptr %26, align 8, !tbaa !5
  %151 = getelementptr inbounds %"struct.std::pair", ptr %150, i32 0, i32 1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %149, ptr align 8 %151, i64 12, i1 false), !tbaa.struct !27
  %152 = getelementptr inbounds %struct.CounterStat, ptr %30, i32 0, i32 1
  call void @llvm.memset.p0.i64(ptr align 8 %152, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %152) #10
  invoke void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatEC2IS6_SF_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairISJ_SK_EEEbE4typeELb1EEERS6_RKSF_(ptr noundef nonnull align 8 dereferenceable(72) %29, ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(40) %30)
          to label %153 unwind label %175

153:                                              ; preds = %146
  %154 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE6insertEOSJ_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(72) %29)
          to label %155 unwind label %179

155:                                              ; preds = %153
  %156 = getelementptr inbounds { ptr, i8 }, ptr %31, i32 0, i32 0
  %157 = extractvalue { ptr, i8 } %154, 0
  store ptr %157, ptr %156, align 8
  %158 = getelementptr inbounds { ptr, i8 }, ptr %31, i32 0, i32 1
  %159 = extractvalue { ptr, i8 } %154, 1
  store i8 %159, ptr %158, align 8
  call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %29) #10
  call void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr %29) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #10
  %160 = load ptr, ptr %26, align 8, !tbaa !5
  %161 = getelementptr inbounds %"struct.std::pair", ptr %160, i32 0, i32 0
  %162 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %161)
          to label %163 unwind label %184

163:                                              ; preds = %155
  %164 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %32, i32 0, i32 0
  store ptr %162, ptr %164, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %27, ptr align 8 %32, i64 8, i1 false), !tbaa.struct !31
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #10
  %165 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27) #10
  %166 = getelementptr inbounds %"struct.std::pair.27", ptr %165, i32 0, i32 1
  %167 = getelementptr inbounds %struct.CounterStat, ptr %166, i32 0, i32 1
  %168 = load ptr, ptr %4, align 8, !tbaa !5
  %169 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %168) #10
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %167, i64 noundef %169)
          to label %170 unwind label %171

170:                                              ; preds = %163
  br label %235

171:                                              ; preds = %201, %188, %163, %136
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %10, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %11, align 4
  br label %238

175:                                              ; preds = %146
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %10, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %11, align 4
  br label %183

179:                                              ; preds = %153
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %10, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %11, align 4
  call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %29) #10
  br label %183

183:                                              ; preds = %179, %175
  call void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr %29) #10
  br label %238

184:                                              ; preds = %155
  %185 = landingpad { ptr, i32 }
          cleanup
  %186 = extractvalue { ptr, i32 } %185, 0
  store ptr %186, ptr %10, align 8
  %187 = extractvalue { ptr, i32 } %185, 1
  store i32 %187, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #10
  br label %238

188:                                              ; preds = %141
  %189 = load ptr, ptr %26, align 8, !tbaa !5
  %190 = getelementptr inbounds %"struct.std::pair", ptr %189, i32 0, i32 0
  store i1 false, ptr %34, align 1
  store i1 false, ptr %35, align 1
  %191 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %190)
          to label %192 unwind label %171

192:                                              ; preds = %188
  %193 = getelementptr inbounds %struct.CounterStat, ptr %191, i32 0, i32 0
  %194 = getelementptr inbounds %"class.benchmark::Counter", ptr %193, i32 0, i32 1
  %195 = load i32, ptr %194, align 8, !tbaa !32
  %196 = load ptr, ptr %26, align 8, !tbaa !5
  %197 = getelementptr inbounds %"struct.std::pair", ptr %196, i32 0, i32 1
  %198 = getelementptr inbounds %"class.benchmark::Counter", ptr %197, i32 0, i32 1
  %199 = load i32, ptr %198, align 8, !tbaa !39
  %200 = icmp eq i32 %195, %199
  br i1 %200, label %201, label %204

201:                                              ; preds = %192
  %202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %203 unwind label %171

203:                                              ; preds = %201
  br label %208

204:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #10
  store i1 true, ptr %34, align 1
  invoke void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef @.str, ptr noundef @.str.2, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE, i32 noundef 120)
          to label %205 unwind label %213

205:                                              ; preds = %204
  store i1 true, ptr %35, align 1
  %206 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %207 unwind label %217

207:                                              ; preds = %205
  br label %208

208:                                              ; preds = %207, %203
  %209 = phi ptr [ %202, %203 ], [ %206, %207 ]
  %210 = load i1, ptr %35, align 1
  br i1 %210, label %211, label %223

211:                                              ; preds = %208
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #11
          to label %212 unwind label %213

212:                                              ; preds = %211
  unreachable

213:                                              ; preds = %211, %204
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %10, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %11, align 4
  br label %231

217:                                              ; preds = %205
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %10, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %11, align 4
  %221 = load i1, ptr %35, align 1
  br i1 %221, label %227, label %230

222:                                              ; No predecessors!
  br label %223

223:                                              ; preds = %222, %208
  %224 = load i1, ptr %34, align 1
  br i1 %224, label %225, label %226

225:                                              ; preds = %223
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  br label %226

226:                                              ; preds = %225, %223
  br label %235

227:                                              ; preds = %217
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #11
          to label %228 unwind label %616

228:                                              ; preds = %227
  unreachable

229:                                              ; No predecessors!
  br label %230

230:                                              ; preds = %229, %217
  br label %231

231:                                              ; preds = %230, %213
  %232 = load i1, ptr %34, align 1
  br i1 %232, label %233, label %234

233:                                              ; preds = %231
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  br label %234

234:                                              ; preds = %233, %231
  br label %238

235:                                              ; preds = %226, %170
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #10
  br label %236

236:                                              ; preds = %235
  %237 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #10
  br label %133

238:                                              ; preds = %234, %184, %183, %171
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  br label %604

239:                                              ; preds = %135
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #10
  br label %240

240:                                              ; preds = %239
  %241 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #10
  br label %116

242:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #10
  %243 = load ptr, ptr %4, align 8, !tbaa !5
  store ptr %243, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #10
  %244 = load ptr, ptr %36, align 8, !tbaa !5
  %245 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %244) #10
  %246 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %37, i32 0, i32 0
  store ptr %245, ptr %246, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #10
  %247 = load ptr, ptr %36, align 8, !tbaa !5
  %248 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %247) #10
  %249 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %38, i32 0, i32 0
  store ptr %248, ptr %249, align 8
  br label %250

250:                                              ; preds = %438, %242
  %251 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38) #10
  br i1 %251, label %253, label %252

252:                                              ; preds = %250
  store i32 6, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  br label %441

253:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #10
  %254 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #10
  store ptr %254, ptr %39, align 8, !tbaa !5
  %255 = load ptr, ptr %4, align 8, !tbaa !5
  %256 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %255, i64 noundef 0) #10
  %257 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %256, i32 0, i32 0
  %258 = load ptr, ptr %39, align 8, !tbaa !5
  %259 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %258, i32 0, i32 0
  %260 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %257, ptr noundef nonnull align 8 dereferenceable(32) %259) #10
  store i1 false, ptr %41, align 1
  store i1 false, ptr %42, align 1
  br i1 %260, label %261, label %264

261:                                              ; preds = %253
  %262 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %263 unwind label %273

263:                                              ; preds = %261
  br label %268

264:                                              ; preds = %253
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #10
  store i1 true, ptr %41, align 1
  invoke void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef @.str.3, ptr noundef @.str.2, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE, i32 noundef 127)
          to label %265 unwind label %277

265:                                              ; preds = %264
  store i1 true, ptr %42, align 1
  %266 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %267 unwind label %281

267:                                              ; preds = %265
  br label %268

268:                                              ; preds = %267, %263
  %269 = phi ptr [ %262, %263 ], [ %266, %267 ]
  %270 = load i1, ptr %42, align 1
  br i1 %270, label %271, label %287

271:                                              ; preds = %268
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
          to label %272 unwind label %277

272:                                              ; preds = %271
  unreachable

273:                                              ; preds = %355, %351, %347, %343, %296, %261
  %274 = landingpad { ptr, i32 }
          cleanup
  %275 = extractvalue { ptr, i32 } %274, 0
  store ptr %275, ptr %10, align 8
  %276 = extractvalue { ptr, i32 } %274, 1
  store i32 %276, ptr %11, align 4
  br label %440

277:                                              ; preds = %271, %264
  %278 = landingpad { ptr, i32 }
          cleanup
  %279 = extractvalue { ptr, i32 } %278, 0
  store ptr %279, ptr %10, align 8
  %280 = extractvalue { ptr, i32 } %278, 1
  store i32 %280, ptr %11, align 4
  br label %312

281:                                              ; preds = %265
  %282 = landingpad { ptr, i32 }
          cleanup
  %283 = extractvalue { ptr, i32 } %282, 0
  store ptr %283, ptr %10, align 8
  %284 = extractvalue { ptr, i32 } %282, 1
  store i32 %284, ptr %11, align 4
  %285 = load i1, ptr %42, align 1
  br i1 %285, label %308, label %311

286:                                              ; No predecessors!
  br label %287

287:                                              ; preds = %286, %268
  %288 = load i1, ptr %41, align 1
  br i1 %288, label %289, label %290

289:                                              ; preds = %287
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  br label %290

290:                                              ; preds = %289, %287
  %291 = load i64, ptr %17, align 8, !tbaa !9
  %292 = load ptr, ptr %39, align 8, !tbaa !5
  %293 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %292, i32 0, i32 4
  %294 = load i64, ptr %293, align 8, !tbaa !11
  %295 = icmp eq i64 %291, %294
  store i1 false, ptr %44, align 1
  store i1 false, ptr %45, align 1
  br i1 %295, label %296, label %299

296:                                              ; preds = %290
  %297 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %298 unwind label %273

298:                                              ; preds = %296
  br label %303

299:                                              ; preds = %290
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #10
  store i1 true, ptr %44, align 1
  invoke void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef @.str.4, ptr noundef @.str.2, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE, i32 noundef 128)
          to label %300 unwind label %316

300:                                              ; preds = %299
  store i1 true, ptr %45, align 1
  %301 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %302 unwind label %320

302:                                              ; preds = %300
  br label %303

303:                                              ; preds = %302, %298
  %304 = phi ptr [ %297, %298 ], [ %301, %302 ]
  %305 = load i1, ptr %45, align 1
  br i1 %305, label %306, label %326

306:                                              ; preds = %303
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #11
          to label %307 unwind label %316

307:                                              ; preds = %306
  unreachable

308:                                              ; preds = %281
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
          to label %309 unwind label %616

309:                                              ; preds = %308
  unreachable

310:                                              ; No predecessors!
  br label %311

311:                                              ; preds = %310, %281
  br label %312

312:                                              ; preds = %311, %277
  %313 = load i1, ptr %41, align 1
  br i1 %313, label %314, label %315

314:                                              ; preds = %312
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  br label %315

315:                                              ; preds = %314, %312
  br label %440

316:                                              ; preds = %306, %299
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %10, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %11, align 4
  br label %339

320:                                              ; preds = %300
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %10, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %11, align 4
  %324 = load i1, ptr %45, align 1
  br i1 %324, label %335, label %338

325:                                              ; No predecessors!
  br label %326

326:                                              ; preds = %325, %303
  %327 = load i1, ptr %44, align 1
  br i1 %327, label %328, label %329

328:                                              ; preds = %326
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  br label %329

329:                                              ; preds = %328, %326
  %330 = load ptr, ptr %39, align 8, !tbaa !5
  %331 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %330, i32 0, i32 2
  %332 = load i8, ptr %331, align 8, !tbaa !41, !range !42, !noundef !43
  %333 = trunc i8 %332 to i1
  br i1 %333, label %334, label %343

334:                                              ; preds = %329
  store i32 7, ptr %12, align 4
  br label %435

335:                                              ; preds = %320
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #11
          to label %336 unwind label %616

336:                                              ; preds = %335
  unreachable

337:                                              ; No predecessors!
  br label %338

338:                                              ; preds = %337, %320
  br label %339

339:                                              ; preds = %338, %316
  %340 = load i1, ptr %44, align 1
  br i1 %340, label %341, label %342

341:                                              ; preds = %339
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  br label %342

342:                                              ; preds = %341, %339
  br label %440

343:                                              ; preds = %329
  %344 = load ptr, ptr %39, align 8, !tbaa !5
  %345 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %344, i32 0, i32 6
  %346 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(8) %345)
          to label %347 unwind label %273

347:                                              ; preds = %343
  %348 = load ptr, ptr %39, align 8, !tbaa !5
  %349 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %348, i32 0, i32 7
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(8) %349)
          to label %351 unwind label %273

351:                                              ; preds = %347
  %352 = load ptr, ptr %39, align 8, !tbaa !5
  %353 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %352, i32 0, i32 9
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(8) %353)
          to label %355 unwind label %273

355:                                              ; preds = %351
  %356 = load ptr, ptr %39, align 8, !tbaa !5
  %357 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %356, i32 0, i32 8
  %358 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(8) %357)
          to label %359 unwind label %273

359:                                              ; preds = %355
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #10
  %360 = load ptr, ptr %39, align 8, !tbaa !5
  %361 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %360, i32 0, i32 17
  store ptr %361, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  %362 = load ptr, ptr %46, align 8, !tbaa !5
  %363 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %362) #10
  %364 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %47, i32 0, i32 0
  store ptr %363, ptr %364, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #10
  %365 = load ptr, ptr %46, align 8, !tbaa !5
  %366 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %365) #10
  %367 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %48, i32 0, i32 0
  store ptr %366, ptr %367, align 8
  br label %368

368:                                              ; preds = %422, %359
  %369 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull align 8 dereferenceable(8) %48) #10
  br i1 %369, label %371, label %370

370:                                              ; preds = %368
  store i32 8, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  br label %434

371:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  %372 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47) #10
  store ptr %372, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #10
  %373 = load ptr, ptr %49, align 8, !tbaa !5
  %374 = getelementptr inbounds %"struct.std::pair", ptr %373, i32 0, i32 0
  %375 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %374)
          to label %376 unwind label %393

376:                                              ; preds = %371
  %377 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %50, i32 0, i32 0
  store ptr %375, ptr %377, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #10
  %378 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #10
  %379 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %51, i32 0, i32 0
  store ptr %378, ptr %379, align 8
  %380 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef nonnull align 8 dereferenceable(8) %51) #10
  store i1 false, ptr %53, align 1
  store i1 false, ptr %54, align 1
  br i1 %380, label %381, label %384

381:                                              ; preds = %376
  %382 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %383 unwind label %397

383:                                              ; preds = %381
  br label %388

384:                                              ; preds = %376
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #10
  store i1 true, ptr %53, align 1
  invoke void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef @.str.5, ptr noundef @.str.2, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE, i32 noundef 137)
          to label %385 unwind label %401

385:                                              ; preds = %384
  store i1 true, ptr %54, align 1
  %386 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %387 unwind label %405

387:                                              ; preds = %385
  br label %388

388:                                              ; preds = %387, %383
  %389 = phi ptr [ %382, %383 ], [ %386, %387 ]
  %390 = load i1, ptr %54, align 1
  br i1 %390, label %391, label %411

391:                                              ; preds = %388
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #11
          to label %392 unwind label %401

392:                                              ; preds = %391
  unreachable

393:                                              ; preds = %414, %371
  %394 = landingpad { ptr, i32 }
          cleanup
  %395 = extractvalue { ptr, i32 } %394, 0
  store ptr %395, ptr %10, align 8
  %396 = extractvalue { ptr, i32 } %394, 1
  store i32 %396, ptr %11, align 4
  br label %433

397:                                              ; preds = %381
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %10, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %11, align 4
  br label %432

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

405:                                              ; preds = %385
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %10, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %11, align 4
  %409 = load i1, ptr %54, align 1
  br i1 %409, label %424, label %427

410:                                              ; No predecessors!
  br label %411

411:                                              ; preds = %410, %388
  %412 = load i1, ptr %53, align 1
  br i1 %412, label %413, label %414

413:                                              ; preds = %411
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #10
  br label %414

414:                                              ; preds = %413, %411
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #10
  %415 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #10
  %416 = getelementptr inbounds %"struct.std::pair.27", ptr %415, i32 0, i32 1
  %417 = getelementptr inbounds %struct.CounterStat, ptr %416, i32 0, i32 1
  %418 = load ptr, ptr %49, align 8, !tbaa !5
  %419 = getelementptr inbounds %"struct.std::pair", ptr %418, i32 0, i32 1
  %420 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKN9benchmark7CounterEEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %417, ptr noundef nonnull align 8 dereferenceable(12) %419)
          to label %421 unwind label %393

421:                                              ; preds = %414
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  br label %422

422:                                              ; preds = %421
  %423 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %47) #10
  br label %368

424:                                              ; preds = %405
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #11
          to label %425 unwind label %616

425:                                              ; preds = %424
  unreachable

426:                                              ; No predecessors!
  br label %427

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

428:                                              ; preds = %427, %401
  %429 = load i1, ptr %53, align 1
  br i1 %429, label %430, label %431

430:                                              ; preds = %428
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #10
  br label %431

431:                                              ; preds = %430, %428
  br label %432

432:                                              ; preds = %431, %397
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #10
  br label %433

433:                                              ; preds = %432, %393
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  br label %440

434:                                              ; preds = %370
  store i32 0, ptr %12, align 4
  br label %435

435:                                              ; preds = %434, %334
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #10
  %436 = load i32, ptr %12, align 4
  switch i32 %436, label %619 [
    i32 0, label %437
    i32 7, label %438
  ]

437:                                              ; preds = %435
  br label %438

438:                                              ; preds = %437, %435
  %439 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #10
  br label %250

440:                                              ; preds = %433, %342, %315, %273
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  br label %604

441:                                              ; preds = %252
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #10
  %442 = load ptr, ptr %4, align 8, !tbaa !5
  %443 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef 0) #10
  %444 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %443, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(32) %444)
          to label %445 unwind label %452

445:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #10
  store i64 1, ptr %56, align 8, !tbaa !9
  br label %446

446:                                              ; preds = %470, %445
  %447 = load i64, ptr %56, align 8, !tbaa !9
  %448 = load ptr, ptr %4, align 8, !tbaa !5
  %449 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %448) #10
  %450 = icmp ult i64 %447, %449
  br i1 %450, label %456, label %451

451:                                              ; preds = %446
  store i32 10, ptr %12, align 4
  br label %473

452:                                              ; preds = %441
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %10, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %11, align 4
  br label %603

456:                                              ; preds = %446
  %457 = load ptr, ptr %4, align 8, !tbaa !5
  %458 = load i64, ptr %56, align 8, !tbaa !9
  %459 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %457, i64 noundef %458) #10
  %460 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %459, i32 0, i32 1
  %461 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %460, ptr noundef nonnull align 8 dereferenceable(32) %55) #10
  br i1 %461, label %462, label %469

462:                                              ; preds = %456
  %463 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.6)
          to label %464 unwind label %465

464:                                              ; preds = %462
  store i32 10, ptr %12, align 4
  br label %473

465:                                              ; preds = %462
  %466 = landingpad { ptr, i32 }
          cleanup
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %10, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #10
  br label %602

469:                                              ; preds = %456
  br label %470

470:                                              ; preds = %469
  %471 = load i64, ptr %56, align 8, !tbaa !9
  %472 = add i64 %471, 1
  store i64 %472, ptr %56, align 8, !tbaa !9
  br label %446, !llvm.loop !44

473:                                              ; preds = %464, %451
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #10
  br label %474

474:                                              ; preds = %473
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  %475 = load ptr, ptr %4, align 8, !tbaa !5
  %476 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %475, i64 noundef 0) #10
  %477 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %476, i32 0, i32 14
  %478 = load ptr, ptr %477, align 8, !tbaa !46
  store ptr %478, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #10
  %479 = load ptr, ptr %57, align 8, !tbaa !5
  %480 = call ptr @_ZNKSt6vectorIN9benchmark10StatisticsESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %479) #10
  %481 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.34", ptr %58, i32 0, i32 0
  store ptr %480, ptr %481, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #10
  %482 = load ptr, ptr %57, align 8, !tbaa !5
  %483 = call ptr @_ZNKSt6vectorIN9benchmark10StatisticsESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %482) #10
  %484 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.34", ptr %59, i32 0, i32 0
  store ptr %483, ptr %484, align 8
  br label %485

485:                                              ; preds = %597, %474
  %486 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) #10
  br i1 %486, label %488, label %487

487:                                              ; preds = %485
  store i32 13, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  br label %601

488:                                              ; preds = %485
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #10
  %489 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %58) #10
  store ptr %489, ptr %60, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 248, ptr %61) #10
  invoke void @_ZN9benchmark17BenchmarkReporter3RunC2Ev(ptr noundef nonnull align 8 dereferenceable(248) %61)
          to label %490 unwind label %543

490:                                              ; preds = %488
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #10
  %491 = load ptr, ptr %4, align 8, !tbaa !5
  %492 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %491, i64 noundef 0) #10
  %493 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %492, i32 0, i32 0
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %493, ptr noundef @.str.7)
          to label %494 unwind label %547

494:                                              ; preds = %490
  %495 = load ptr, ptr %60, align 8, !tbaa !5
  %496 = getelementptr inbounds %"struct.benchmark::Statistics", ptr %495, i32 0, i32 0
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %496)
          to label %497 unwind label %551

497:                                              ; preds = %494
  %498 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 0
  %499 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %498, ptr noundef nonnull align 8 dereferenceable(32) %62) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #10
  %500 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 1
  %501 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %500, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %502 unwind label %556

502:                                              ; preds = %497
  %503 = load i64, ptr %17, align 8, !tbaa !9
  %504 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 4
  store i64 %503, ptr %504, align 8, !tbaa !11
  %505 = load ptr, ptr %60, align 8, !tbaa !5
  %506 = getelementptr inbounds %"struct.benchmark::Statistics", ptr %505, i32 0, i32 1
  %507 = load ptr, ptr %506, align 8, !tbaa !47
  %508 = invoke noundef double %507(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %509 unwind label %556

509:                                              ; preds = %502
  %510 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 6
  store double %508, ptr %510, align 8, !tbaa !49
  %511 = load ptr, ptr %60, align 8, !tbaa !5
  %512 = getelementptr inbounds %"struct.benchmark::Statistics", ptr %511, i32 0, i32 1
  %513 = load ptr, ptr %512, align 8, !tbaa !47
  %514 = invoke noundef double %513(ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %515 unwind label %556

515:                                              ; preds = %509
  %516 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 7
  store double %514, ptr %516, align 8, !tbaa !50
  %517 = load ptr, ptr %60, align 8, !tbaa !5
  %518 = getelementptr inbounds %"struct.benchmark::Statistics", ptr %517, i32 0, i32 1
  %519 = load ptr, ptr %518, align 8, !tbaa !47
  %520 = invoke noundef double %519(ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %521 unwind label %556

521:                                              ; preds = %515
  %522 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 8
  store double %520, ptr %522, align 8, !tbaa !51
  %523 = load ptr, ptr %60, align 8, !tbaa !5
  %524 = getelementptr inbounds %"struct.benchmark::Statistics", ptr %523, i32 0, i32 1
  %525 = load ptr, ptr %524, align 8, !tbaa !47
  %526 = invoke noundef double %525(ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %527 unwind label %556

527:                                              ; preds = %521
  %528 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 9
  store double %526, ptr %528, align 8, !tbaa !52
  %529 = load ptr, ptr %4, align 8, !tbaa !5
  %530 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %529, i64 noundef 0) #10
  %531 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %530, i32 0, i32 5
  %532 = load i32, ptr %531, align 8, !tbaa !53
  %533 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 5
  store i32 %532, ptr %533, align 8, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #10
  store ptr %18, ptr %64, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #10
  %534 = load ptr, ptr %64, align 8, !tbaa !5
  %535 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %534) #10
  %536 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %65, i32 0, i32 0
  store ptr %535, ptr %536, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #10
  %537 = load ptr, ptr %64, align 8, !tbaa !5
  %538 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %537) #10
  %539 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %66, i32 0, i32 0
  store ptr %538, ptr %539, align 8
  br label %540

540:                                              ; preds = %584, %527
  %541 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef nonnull align 8 dereferenceable(8) %66) #10
  br i1 %541, label %560, label %542

542:                                              ; preds = %540
  store i32 15, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #10
  br label %595

543:                                              ; preds = %488
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %10, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %11, align 4
  br label %600

547:                                              ; preds = %490
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %10, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %11, align 4
  br label %555

551:                                              ; preds = %494
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %10, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #10
  br label %555

555:                                              ; preds = %551, %547
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #10
  br label %599

556:                                              ; preds = %595, %521, %515, %509, %502, %497
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %10, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %11, align 4
  br label %599

560:                                              ; preds = %540
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #10
  %561 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %65) #10
  store ptr %561, ptr %67, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #10
  %562 = load ptr, ptr %60, align 8, !tbaa !5
  %563 = getelementptr inbounds %"struct.benchmark::Statistics", ptr %562, i32 0, i32 1
  %564 = load ptr, ptr %563, align 8, !tbaa !47
  %565 = load ptr, ptr %67, align 8, !tbaa !5
  %566 = getelementptr inbounds %"struct.std::pair.27", ptr %565, i32 0, i32 1
  %567 = getelementptr inbounds %struct.CounterStat, ptr %566, i32 0, i32 1
  %568 = invoke noundef double %564(ptr noundef nonnull align 8 dereferenceable(24) %567)
          to label %569 unwind label %586

569:                                              ; preds = %560
  store double %568, ptr %68, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #10
  %570 = load double, ptr %68, align 8, !tbaa !28
  %571 = load ptr, ptr %67, align 8, !tbaa !5
  %572 = getelementptr inbounds %"struct.std::pair.27", ptr %571, i32 0, i32 0
  %573 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %572)
          to label %574 unwind label %590

574:                                              ; preds = %569
  %575 = getelementptr inbounds %struct.CounterStat, ptr %573, i32 0, i32 0
  %576 = getelementptr inbounds %"class.benchmark::Counter", ptr %575, i32 0, i32 1
  %577 = load i32, ptr %576, align 8, !tbaa !32
  invoke void @_ZN9benchmark7CounterC2EdNS0_5FlagsE(ptr noundef nonnull align 8 dereferenceable(12) %69, double noundef %570, i32 noundef %577)
          to label %578 unwind label %590

578:                                              ; preds = %574
  %579 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %61, i32 0, i32 17
  %580 = load ptr, ptr %67, align 8, !tbaa !5
  %581 = getelementptr inbounds %"struct.std::pair.27", ptr %580, i32 0, i32 0
  %582 = invoke noundef nonnull align 8 dereferenceable(12) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %579, ptr noundef nonnull align 8 dereferenceable(32) %581)
          to label %583 unwind label %590

583:                                              ; preds = %578
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %582, ptr align 8 %69, i64 12, i1 false), !tbaa.struct !27
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #10
  br label %584

584:                                              ; preds = %583
  %585 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %65) #10
  br label %540

586:                                              ; preds = %560
  %587 = landingpad { ptr, i32 }
          cleanup
  %588 = extractvalue { ptr, i32 } %587, 0
  store ptr %588, ptr %10, align 8
  %589 = extractvalue { ptr, i32 } %587, 1
  store i32 %589, ptr %11, align 4
  br label %594

590:                                              ; preds = %578, %574, %569
  %591 = landingpad { ptr, i32 }
          cleanup
  %592 = extractvalue { ptr, i32 } %591, 0
  store ptr %592, ptr %10, align 8
  %593 = extractvalue { ptr, i32 } %591, 1
  store i32 %593, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #10
  br label %594

594:                                              ; preds = %590, %586
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #10
  br label %599

595:                                              ; preds = %542
  invoke void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE9push_backERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(248) %61)
          to label %596 unwind label %556

596:                                              ; preds = %595
  call void @_ZN9benchmark17BenchmarkReporter3RunD2Ev(ptr noundef nonnull align 8 dereferenceable(248) %61) #10
  call void @llvm.lifetime.end.p0(i64 248, ptr %61) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #10
  br label %597

597:                                              ; preds = %596
  %598 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %58) #10
  br label %485

599:                                              ; preds = %594, %556, %555
  call void @_ZN9benchmark17BenchmarkReporter3RunD2Ev(ptr noundef nonnull align 8 dereferenceable(248) %61) #10
  br label %600

600:                                              ; preds = %599, %543
  call void @llvm.lifetime.end.p0(i64 248, ptr %61) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  br label %602

601:                                              ; preds = %487
  store i1 true, ptr %5, align 1
  store i32 1, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #10
  br label %606

602:                                              ; preds = %600, %465
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #10
  br label %603

603:                                              ; preds = %602, %452
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #10
  br label %604

604:                                              ; preds = %603, %440, %238
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #10
  br label %605

605:                                              ; preds = %604, %119
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #10
  br label %608

606:                                              ; preds = %601, %87
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #10
  %607 = load i1, ptr %5, align 1
  br i1 %607, label %610, label %609

608:                                              ; preds = %605, %88
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #10
  call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #10
  br label %611

609:                                              ; preds = %606
  call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #10
  br label %610

610:                                              ; preds = %609, %606
  ret void

611:                                              ; preds = %608
  %612 = load ptr, ptr %10, align 8
  %613 = load i32, ptr %11, align 4
  %614 = insertvalue { ptr, i32 } poison, ptr %612, 0
  %615 = insertvalue { ptr, i32 } %614, i32 %613, 1
  resume { ptr, i32 } %615

616:                                              ; preds = %424, %335, %308, %227
  %617 = landingpad { ptr, i32 }
          catch ptr null
  %618 = extractvalue { ptr, i32 } %617, 0
  call void @__clang_call_terminate(ptr %618) #12
  unreachable

619:                                              ; preds = %435
  unreachable
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS4_SaIS4_EEEEZNS2_12ComputeStatsERKS9_E3$_0ENSt15iterator_traitsIT_E15difference_typeESF_SF_T0_"(ptr, ptr) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5frontEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(248) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress nounwind uwtable
declare hidden ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE6insertEOSJ_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(72)) #3 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #6

; Function Attrs: mustprogress uwtable
declare hidden void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatEC2IS6_SF_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairISJ_SK_EEEbE4typeELb1EEERS6_RKSF_(ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatED2Ev(ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv() #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef, ptr noundef, i32 noundef) unnamed_addr #3 align 2

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

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) #8

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKN9benchmark7CounterEEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(12)) #3 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #5

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorIN9benchmark10StatisticsESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorIN9benchmark10StatisticsESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef nonnull align 8 dereferenceable(72) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: alwaysinline mustprogress nounwind uwtable
declare dso_local void @_ZN9benchmark7CounterC2EdNS0_5FlagsE(ptr noundef nonnull align 8 dereferenceable(12), double noundef, i32 noundef) unnamed_addr #9 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(12) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE9push_backERKS2_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(248)) #3 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { 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 uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #7 = { mustprogress noreturn 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 = { noinline noreturn nounwind uwtable "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 = { alwaysinline 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 #10 = { nounwind }
attributes #11 = { noreturn }
attributes #12 = { noreturn 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"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !10, i64 104}
!12 = !{!"_ZTSN9benchmark17BenchmarkReporter3RunE", !13, i64 0, !13, i64 32, !15, i64 64, !13, i64 72, !10, i64 104, !16, i64 112, !17, i64 120, !17, i64 128, !17, i64 136, !17, i64 144, !17, i64 152, !18, i64 160, !6, i64 168, !10, i64 176, !6, i64 184, !15, i64 192, !15, i64 193, !19, i64 200}
!13 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !14, i64 0, !10, i64 8, !7, i64 16}
!14 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!15 = !{!"bool", !7, i64 0}
!16 = !{!"_ZTSN9benchmark8TimeUnitE", !7, i64 0}
!17 = !{!"double", !7, i64 0}
!18 = !{!"_ZTSN9benchmark4BigOE", !7, i64 0}
!19 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE", !20, i64 0}
!20 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N9benchmark7CounterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !21, i64 0}
!21 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N9benchmark7CounterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !22, i64 0, !24, i64 8}
!22 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !23, i64 0}
!23 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!24 = !{!"_ZTSSt15_Rb_tree_header", !25, i64 0, !10, i64 32}
!25 = !{!"_ZTSSt18_Rb_tree_node_base", !26, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!26 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!27 = !{i64 0, i64 8, !28, i64 8, i64 4, !29}
!28 = !{!17, !17, i64 0}
!29 = !{!30, !30, i64 0}
!30 = !{!"_ZTSN9benchmark7Counter5FlagsE", !7, i64 0}
!31 = !{i64 0, i64 8, !5}
!32 = !{!33, !30, i64 8}
!33 = !{!"_ZTSZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEE11CounterStat", !34, i64 0, !35, i64 16}
!34 = !{!"_ZTSN9benchmark7CounterE", !17, i64 0, !30, i64 8}
!35 = !{!"_ZTSSt6vectorIdSaIdEE", !36, i64 0}
!36 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !37, i64 0}
!37 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!39 = !{!40, !30, i64 40}
!40 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEE", !13, i64 0, !34, i64 32}
!41 = !{!12, !15, i64 64}
!42 = !{i8 0, i8 2}
!43 = !{}
!44 = distinct !{!44, !45}
!45 = !{!"llvm.loop.mustprogress"}
!46 = !{!12, !6, i64 184}
!47 = !{!48, !6, i64 32}
!48 = !{!"_ZTSN9benchmark10StatisticsE", !13, i64 0, !6, i64 32}
!49 = !{!12, !17, i64 120}
!50 = !{!12, !17, i64 128}
!51 = !{!12, !17, i64 136}
!52 = !{!12, !17, i64 144}
!53 = !{!12, !16, i64 112}


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

%"class.std::vector.6" = type { %"struct.std::_Vector_base.7" }
%"struct.std::_Vector_base.7" = type { %"struct.std::_Vector_base<benchmark::BenchmarkReporter::Run, std::allocator<benchmark::BenchmarkReporter::Run>>::_Vector_impl" }
%"struct.std::_Vector_base<benchmark::BenchmarkReporter::Run, std::allocator<benchmark::BenchmarkReporter::Run>>::_Vector_impl" = type { %"struct.std::_Vector_base<benchmark::BenchmarkReporter::Run, std::allocator<benchmark::BenchmarkReporter::Run>>::_Vector_impl_data" }
%"struct.std::_Vector_base<benchmark::BenchmarkReporter::Run, std::allocator<benchmark::BenchmarkReporter::Run>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.20" = type { %"class.std::_Rb_tree.21" }
%"class.std::_Rb_tree.21" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, CounterStat>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CounterStat>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, CounterStat>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CounterStat>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.11" = type { ptr }
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.std::pair.27" = type { %"class.std::__cxx11::basic_string", %struct.CounterStat }
%"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] }
%struct.CounterStat = type { %"class.benchmark::Counter", %"class.std::vector" }
%"class.benchmark::Counter" = type <{ double, i32, [4 x i8] }>
%"class.benchmark::internal::CheckHandler" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.34" = type { ptr }
%"struct.benchmark::BenchmarkReporter::Run" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i8, %"class.std::__cxx11::basic_string", i64, i32, double, double, double, double, double, i32, ptr, i64, ptr, i8, i8, %"class.std::map" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, benchmark::Counter>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, benchmark::Counter>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, benchmark::Counter>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, benchmark::Counter>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@.str = external hidden unnamed_addr constant [57 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [170 x i8], align 1
@__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE = external hidden unnamed_addr constant [13 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 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

; 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 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) #1

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE(ptr dead_on_unwind noalias nonnull writable sret(%"class.std::vector.6") align 8 %0, ptr noundef nonnull align 8 dereferenceable(24) %1) local_unnamed_addr #3 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::vector", align 8
  %4 = alloca %"class.std::vector", align 8
  %5 = alloca %"class.std::vector", align 8
  %6 = alloca %"class.std::vector", align 8
  %7 = alloca %"class.std::map.20", align 8
  %8 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %9 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %10 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %11 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %12 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %13 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %14 = alloca %"struct.std::pair.27", align 8
  %15 = alloca %struct.CounterStat, align 8
  %16 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %19 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %20 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %21 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %22 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %23 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %24 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %25 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.__gnu_cxx::__normal_iterator.34", align 8
  %28 = alloca %"class.__gnu_cxx::__normal_iterator.34", align 8
  %29 = alloca %"struct.benchmark::BenchmarkReporter::Run", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %33 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %34 = alloca %"class.benchmark::Counter", align 8
  tail call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #9
  %35 = tail call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  %36 = tail call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  %37 = invoke noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS4_SaIS4_EEEEZNS2_12ComputeStatsERKS9_E3$_0ENSt15iterator_traitsIT_E15difference_typeESF_SF_T0_"(ptr %35, ptr %36)
          to label %38 unwind label %42

38:                                               ; preds = %2
  %39 = tail call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  %40 = sub i64 %39, %37
  %41 = icmp ult i64 %40, 2
  br i1 %41, label %284, label %44

42:                                               ; preds = %2
  %43 = landingpad { ptr, i32 }
          cleanup
  br label %283

44:                                               ; preds = %38
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  %45 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %45)
          to label %46 unwind label %63

46:                                               ; preds = %44
  %47 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %47)
          to label %48 unwind label %63

48:                                               ; preds = %46
  %49 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %49)
          to label %50 unwind label %63

50:                                               ; preds = %48
  %51 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %51)
          to label %52 unwind label %63

52:                                               ; preds = %50
  %53 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5frontEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  %54 = getelementptr inbounds i8, ptr %53, i64 104
  %55 = load i64, ptr %54, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %7) #9
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %7) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #9
  %56 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  store ptr %56, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #9
  %57 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  store ptr %57, ptr %9, align 8
  %58 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #9
  br i1 %58, label %.lr.ph130, label %._crit_edge131

.lr.ph130:                                        ; preds = %52
  %59 = getelementptr inbounds i8, ptr %15, i64 16
  br label %65

._crit_edge131:                                   ; preds = %._crit_edge, %52
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #9
  %60 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  store ptr %60, ptr %17, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #9
  %61 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  store ptr %61, ptr %18, align 8
  %62 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #9
  br i1 %62, label %.lr.ph136, label %._crit_edge137

63:                                               ; preds = %50, %48, %46, %44
  %64 = landingpad { ptr, i32 }
          cleanup
  br label %282

65:                                               ; preds = %.lr.ph130, %._crit_edge
  %66 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #9
  %67 = getelementptr inbounds i8, ptr %66, i64 200
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #9
  %68 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %67) #9
  store ptr %68, ptr %10, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #9
  %69 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %67) #9
  store ptr %69, ptr %11, align 8
  %70 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11) #9
  br i1 %70, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %112, %65
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  %71 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #9
  %72 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #9
  br i1 %72, label %65, label %._crit_edge131

.lr.ph:                                           ; preds = %65, %112
  %73 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %10) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #9
  %74 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %75 unwind label %88

75:                                               ; preds = %.lr.ph
  store ptr %74, ptr %12, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #9
  %76 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %7) #9
  store ptr %76, ptr %13, align 8
  %77 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %13) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #9
  br i1 %77, label %78, label %97

78:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %14) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #9
  %79 = getelementptr inbounds i8, ptr %73, i64 32
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %15, ptr noundef nonnull align 8 dereferenceable(12) %79, i64 12, i1 false), !tbaa.struct !25
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %59, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #9
  invoke void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatEC2IS6_SF_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairISJ_SK_EEEbE4typeELb1EEERS6_RKSF_(ptr noundef nonnull align 8 dereferenceable(72) %14, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(40) %15)
          to label %80 unwind label %90

80:                                               ; preds = %78
  %81 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE6insertEOSJ_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(72) %14)
          to label %82 unwind label %92

82:                                               ; preds = %80
  call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %14) #9
  call void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %14) #9
  %83 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %84 unwind label %95

84:                                               ; preds = %82
  store ptr %83, ptr %12, align 8, !tbaa !29
  %85 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  %86 = getelementptr inbounds i8, ptr %85, i64 48
  %87 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %87)
          to label %112 unwind label %88

88:                                               ; preds = %104, %97, %84, %.lr.ph
  %89 = landingpad { ptr, i32 }
          cleanup
  br label %115

90:                                               ; preds = %78
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %94

92:                                               ; preds = %80
  %93 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %14) #9
  br label %94

94:                                               ; preds = %92, %90
  %.pn118 = phi { ptr, i32 } [ %93, %92 ], [ %91, %90 ]
  call void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %14) #9
  br label %115

95:                                               ; preds = %82
  %96 = landingpad { ptr, i32 }
          cleanup
  br label %115

97:                                               ; preds = %75
  %98 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %99 unwind label %88

99:                                               ; preds = %97
  %100 = getelementptr inbounds i8, ptr %98, i64 8
  %101 = load i32, ptr %100, align 8, !tbaa !30
  %102 = getelementptr inbounds i8, ptr %73, i64 40
  %103 = load i32, ptr %102, align 8, !tbaa !37
  %.not128 = icmp eq i32 %101, %103
  br i1 %.not128, label %104, label %106

104:                                              ; preds = %99
  %105 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %112 unwind label %88

106:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #9
  invoke void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str, ptr noundef nonnull @.str.2, ptr noundef nonnull @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE, i32 noundef 120)
          to label %107 unwind label %110

107:                                              ; preds = %106
  %108 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #10
          to label %109 unwind label %110

109:                                              ; preds = %107
  unreachable

110:                                              ; preds = %106, %107
  %111 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #9
  br label %115

112:                                              ; preds = %104, %84
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #9
  %113 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %10) #9
  %114 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11) #9
  br i1 %114, label %.lr.ph, label %._crit_edge

115:                                              ; preds = %110, %95, %94, %88
  %.pn120 = phi { ptr, i32 } [ %89, %88 ], [ %96, %95 ], [ %.pn118, %94 ], [ %111, %110 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #9
  br label %281

._crit_edge137:                                   ; preds = %192, %._crit_edge131
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #9
  %116 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #9
  %117 = getelementptr inbounds i8, ptr %116, i64 32
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %117)
          to label %.preheader unwind label %200

.preheader:                                       ; preds = %._crit_edge137
  %118 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  %119 = icmp ugt i64 %118, 1
  br i1 %119, label %.lr.ph139, label %.loopexit

.lr.ph136:                                        ; preds = %._crit_edge131, %192
  %120 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  %121 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #9
  %122 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(32) %120) #9
  br i1 %122, label %123, label %125

123:                                              ; preds = %.lr.ph136
  %124 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %131 unwind label %129

125:                                              ; preds = %.lr.ph136
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #9
  invoke void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, ptr noundef nonnull @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE, i32 noundef 127)
          to label %126 unwind label %140

126:                                              ; preds = %125
  %127 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %19)
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #10
          to label %128 unwind label %140

128:                                              ; preds = %126
  unreachable

129:                                              ; preds = %157, %154, %151, %148, %134, %123
  %130 = landingpad { ptr, i32 }
          cleanup
  br label %195

131:                                              ; preds = %123
  %132 = getelementptr inbounds i8, ptr %120, i64 104
  %133 = load i64, ptr %132, align 8, !tbaa !5
  %.not = icmp eq i64 %55, %133
  br i1 %.not, label %134, label %136

134:                                              ; preds = %131
  %135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %142 unwind label %129

136:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #9
  invoke void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, ptr noundef nonnull @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE, i32 noundef 128)
          to label %137 unwind label %146

137:                                              ; preds = %136
  %138 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #10
          to label %139 unwind label %146

139:                                              ; preds = %137
  unreachable

140:                                              ; preds = %125, %126
  %141 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #9
  br label %195

142:                                              ; preds = %134
  %143 = getelementptr inbounds i8, ptr %120, i64 64
  %144 = load i8, ptr %143, align 8, !tbaa !39, !range !40, !noundef !41
  %145 = trunc nuw i8 %144 to i1
  br i1 %145, label %192, label %148

146:                                              ; preds = %136, %137
  %147 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #9
  br label %195

148:                                              ; preds = %142
  %149 = getelementptr inbounds i8, ptr %120, i64 120
  %150 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(8) %149)
          to label %151 unwind label %129

151:                                              ; preds = %148
  %152 = getelementptr inbounds i8, ptr %120, i64 128
  %153 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(8) %152)
          to label %154 unwind label %129

154:                                              ; preds = %151
  %155 = getelementptr inbounds i8, ptr %120, i64 144
  %156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(8) %155)
          to label %157 unwind label %129

157:                                              ; preds = %154
  %158 = getelementptr inbounds i8, ptr %120, i64 136
  %159 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(8) %158)
          to label %160 unwind label %129

160:                                              ; preds = %157
  %161 = getelementptr inbounds i8, ptr %120, i64 200
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #9
  %162 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %161) #9
  store ptr %162, ptr %21, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #9
  %163 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %161) #9
  store ptr %163, ptr %22, align 8
  %164 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #9
  br i1 %164, label %.lr.ph133, label %._crit_edge134

._crit_edge134:                                   ; preds = %185, %160
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #9
  br label %192

.lr.ph133:                                        ; preds = %160, %185
  %165 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #9
  %166 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %165)
          to label %167 unwind label %176

167:                                              ; preds = %.lr.ph133
  store ptr %166, ptr %23, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #9
  %168 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %7) #9
  store ptr %168, ptr %24, align 8
  %169 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24) #9
  br i1 %169, label %170, label %172

170:                                              ; preds = %167
  %171 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %180 unwind label %178

172:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #9
  invoke void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.2, ptr noundef nonnull @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE, i32 noundef 137)
          to label %173 unwind label %188

173:                                              ; preds = %172
  %174 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #10
          to label %175 unwind label %188

175:                                              ; preds = %173
  unreachable

176:                                              ; preds = %180, %.lr.ph133
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %191

178:                                              ; preds = %170
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %190

180:                                              ; preds = %170
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #9
  %181 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23) #9
  %182 = getelementptr inbounds i8, ptr %181, i64 48
  %183 = getelementptr inbounds i8, ptr %165, i64 32
  %184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKN9benchmark7CounterEEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %182, ptr noundef nonnull align 8 dereferenceable(12) %183)
          to label %185 unwind label %176

185:                                              ; preds = %180
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #9
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #9
  %187 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #9
  br i1 %187, label %.lr.ph133, label %._crit_edge134

188:                                              ; preds = %172, %173
  %189 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #9
  br label %190

190:                                              ; preds = %188, %178
  %.pn113 = phi { ptr, i32 } [ %189, %188 ], [ %179, %178 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #9
  br label %191

191:                                              ; preds = %190, %176
  %.pn113.pn = phi { ptr, i32 } [ %.pn113, %190 ], [ %177, %176 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #9
  br label %195

192:                                              ; preds = %142, %._crit_edge134
  %193 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  %194 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #9
  br i1 %194, label %.lr.ph136, label %._crit_edge137

195:                                              ; preds = %146, %140, %191, %129
  %.pn116 = phi { ptr, i32 } [ %141, %140 ], [ %147, %146 ], [ %.pn113.pn, %191 ], [ %130, %129 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  br label %281

196:                                              ; preds = %.lr.ph139
  %197 = add nuw i64 %.096138, 1
  %198 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #9
  %199 = icmp ult i64 %197, %198
  br i1 %199, label %.lr.ph139, label %.loopexit, !llvm.loop !42

200:                                              ; preds = %._crit_edge137
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %280

.lr.ph139:                                        ; preds = %.preheader, %196
  %.096138 = phi i64 [ %197, %196 ], [ 1, %.preheader ]
  %202 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %.096138) #9
  %203 = getelementptr inbounds i8, ptr %202, i64 32
  %204 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  br i1 %204, label %205, label %196

205:                                              ; preds = %.lr.ph139
  %206 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.6)
          to label %.loopexit unwind label %207

207:                                              ; preds = %205
  %208 = landingpad { ptr, i32 }
          cleanup
  br label %279

.loopexit:                                        ; preds = %196, %.preheader, %205
  %209 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #9
  %210 = getelementptr inbounds i8, ptr %209, i64 184
  %211 = load ptr, ptr %210, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #9
  %212 = call ptr @_ZNKSt6vectorIN9benchmark10StatisticsESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %211) #9
  store ptr %212, ptr %27, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #9
  %213 = call ptr @_ZNKSt6vectorIN9benchmark10StatisticsESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %211) #9
  store ptr %213, ptr %28, align 8
  %214 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28) #9
  br i1 %214, label %.lr.ph144, label %._crit_edge145

.lr.ph144:                                        ; preds = %.loopexit
  %215 = getelementptr inbounds i8, ptr %29, i64 32
  %216 = getelementptr inbounds i8, ptr %29, i64 104
  %217 = getelementptr inbounds i8, ptr %29, i64 120
  %218 = getelementptr inbounds i8, ptr %29, i64 128
  %219 = getelementptr inbounds i8, ptr %29, i64 136
  %220 = getelementptr inbounds i8, ptr %29, i64 144
  %221 = getelementptr inbounds i8, ptr %29, i64 112
  %222 = getelementptr inbounds i8, ptr %29, i64 200
  br label %223

._crit_edge145:                                   ; preds = %275, %.loopexit
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %7) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #9
  br label %284

223:                                              ; preds = %.lr.ph144, %275
  %224 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27) #9
  call void @llvm.lifetime.start.p0(i64 248, ptr nonnull %29) #9
  call void @_ZN9benchmark17BenchmarkReporter3RunC2Ev(ptr noundef nonnull align 8 dereferenceable(248) %29)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #9
  %225 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %225, ptr noundef nonnull @.str.7)
          to label %226 unwind label %250

226:                                              ; preds = %223
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) %224)
          to label %227 unwind label %252

227:                                              ; preds = %226
  %228 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  %229 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %230 unwind label %255

230:                                              ; preds = %227
  store i64 %55, ptr %216, align 8, !tbaa !5
  %231 = getelementptr inbounds i8, ptr %224, i64 32
  %232 = load ptr, ptr %231, align 8, !tbaa !45
  %233 = invoke noundef double %232(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %234 unwind label %255

234:                                              ; preds = %230
  store double %233, ptr %217, align 8, !tbaa !47
  %235 = load ptr, ptr %231, align 8, !tbaa !45
  %236 = invoke noundef double %235(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %237 unwind label %255

237:                                              ; preds = %234
  store double %236, ptr %218, align 8, !tbaa !48
  %238 = load ptr, ptr %231, align 8, !tbaa !45
  %239 = invoke noundef double %238(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %240 unwind label %255

240:                                              ; preds = %237
  store double %239, ptr %219, align 8, !tbaa !49
  %241 = load ptr, ptr %231, align 8, !tbaa !45
  %242 = invoke noundef double %241(ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %243 unwind label %255

243:                                              ; preds = %240
  store double %242, ptr %220, align 8, !tbaa !50
  %244 = call noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #9
  %245 = getelementptr inbounds i8, ptr %244, i64 112
  %246 = load i32, ptr %245, align 8, !tbaa !51
  store i32 %246, ptr %221, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #9
  %247 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %7) #9
  store ptr %247, ptr %32, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #9
  %248 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %7) #9
  store ptr %248, ptr %33, align 8
  %249 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #9
  br i1 %249, label %.lr.ph141, label %._crit_edge142

._crit_edge142:                                   ; preds = %267, %243
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #9
  invoke void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE9push_backERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(248) %29)
          to label %275 unwind label %255

250:                                              ; preds = %223
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %254

252:                                              ; preds = %226
  %253 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  br label %254

254:                                              ; preds = %252, %250
  %.pn = phi { ptr, i32 } [ %253, %252 ], [ %251, %250 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  br label %278

255:                                              ; preds = %._crit_edge142, %240, %237, %234, %230, %227
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %278

.lr.ph141:                                        ; preds = %243, %267
  %257 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  %258 = load ptr, ptr %231, align 8, !tbaa !45
  %259 = getelementptr inbounds i8, ptr %257, i64 48
  %260 = invoke noundef double %258(ptr noundef nonnull align 8 dereferenceable(24) %259)
          to label %261 unwind label %270

261:                                              ; preds = %.lr.ph141
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #9
  %262 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %257)
          to label %263 unwind label %272

263:                                              ; preds = %261
  %264 = getelementptr inbounds i8, ptr %262, i64 8
  %265 = load i32, ptr %264, align 8, !tbaa !30
  call void @_ZN9benchmark7CounterC2EdNS0_5FlagsE(ptr noundef nonnull align 8 dereferenceable(12) %34, double noundef %260, i32 noundef %265)
  %266 = invoke noundef nonnull align 8 dereferenceable(12) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %222, ptr noundef nonnull align 8 dereferenceable(32) %257)
          to label %267 unwind label %272

267:                                              ; preds = %263
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %266, ptr noundef nonnull align 8 dereferenceable(12) %34, i64 12, i1 false), !tbaa.struct !25
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  %268 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  %269 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #9
  br i1 %269, label %.lr.ph141, label %._crit_edge142

270:                                              ; preds = %.lr.ph141
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %274

272:                                              ; preds = %263, %261
  %273 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  br label %274

274:                                              ; preds = %272, %270
  %.pn108 = phi { ptr, i32 } [ %273, %272 ], [ %271, %270 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #9
  br label %278

275:                                              ; preds = %._crit_edge142
  call void @_ZN9benchmark17BenchmarkReporter3RunD2Ev(ptr noundef nonnull align 8 dereferenceable(248) %29) #9
  call void @llvm.lifetime.end.p0(i64 248, ptr nonnull %29) #9
  %276 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %27) #9
  %277 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28) #9
  br i1 %277, label %223, label %._crit_edge145

278:                                              ; preds = %274, %255, %254
  %.pn108.pn = phi { ptr, i32 } [ %.pn108, %274 ], [ %256, %255 ], [ %.pn, %254 ]
  call void @_ZN9benchmark17BenchmarkReporter3RunD2Ev(ptr noundef nonnull align 8 dereferenceable(248) %29) #9
  call void @llvm.lifetime.end.p0(i64 248, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #9
  br label %279

279:                                              ; preds = %278, %207
  %.pn108.pn.pn = phi { ptr, i32 } [ %.pn108.pn, %278 ], [ %208, %207 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  br label %280

280:                                              ; preds = %279, %200
  %.pn108.pn.pn.pn = phi { ptr, i32 } [ %.pn108.pn.pn, %279 ], [ %201, %200 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  br label %281

281:                                              ; preds = %280, %195, %115
  %.pn120.pn = phi { ptr, i32 } [ %.pn120, %115 ], [ %.pn116, %195 ], [ %.pn108.pn.pn.pn, %280 ]
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %7) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7) #9
  br label %282

282:                                              ; preds = %281, %63
  %.pn120.pn.pn = phi { ptr, i32 } [ %.pn120.pn, %281 ], [ %64, %63 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #9
  br label %283

283:                                              ; preds = %282, %42
  %.pn120.pn.pn.pn = phi { ptr, i32 } [ %.pn120.pn.pn, %282 ], [ %43, %42 ]
  call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #9
  resume { ptr, i32 } %.pn120.pn.pn.pn

284:                                              ; preds = %._crit_edge145, %38
  ret void
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS4_SaIS4_EEEEZNS2_12ComputeStatsERKS9_E3$_0ENSt15iterator_traitsIT_E15difference_typeESF_SF_T0_"(ptr, ptr) local_unnamed_addr #4

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5frontEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare hidden ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE6insertEOSJ_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #6

; Function Attrs: mustprogress uwtable
declare hidden void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatEC2IS6_SF_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairISJ_SK_EEEbE4typeELb1EEERS6_RKSF_(ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatED2Ev(ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv() local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9benchmark8internal12CheckHandlerC2EPKcS3_S3_i(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef, ptr noundef, i32 noundef) unnamed_addr #3 align 2

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

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(248) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKdEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKN9benchmark7CounterEEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #3 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark10StatisticsESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef nonnull align 8 dereferenceable(72) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: alwaysinline mustprogress nounwind uwtable
declare dso_local void @_ZN9benchmark7CounterC2EdNS0_5FlagsE(ptr noundef nonnull align 8 dereferenceable(12), double noundef, i32 noundef) unnamed_addr #8 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(12) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE9push_backERKS2_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(248)) local_unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

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

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

!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, !12, i64 104}
!6 = !{!"_ZTSN9benchmark17BenchmarkReporter3RunE", !7, i64 0, !7, i64 32, !13, i64 64, !7, i64 72, !12, i64 104, !14, i64 112, !15, i64 120, !15, i64 128, !15, i64 136, !15, i64 144, !15, i64 152, !16, i64 160, !9, i64 168, !12, i64 176, !9, i64 184, !13, i64 192, !13, i64 193, !17, i64 200}
!7 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !8, i64 0, !12, i64 8, !10, i64 16}
!8 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"long", !10, i64 0}
!13 = !{!"bool", !10, i64 0}
!14 = !{!"_ZTSN9benchmark8TimeUnitE", !10, i64 0}
!15 = !{!"double", !10, i64 0}
!16 = !{!"_ZTSN9benchmark4BigOE", !10, i64 0}
!17 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE", !18, i64 0}
!18 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N9benchmark7CounterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !19, i64 0}
!19 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N9benchmark7CounterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !20, i64 0, !22, i64 8}
!20 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !21, i64 0}
!21 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!22 = !{!"_ZTSSt15_Rb_tree_header", !23, i64 0, !12, i64 32}
!23 = !{!"_ZTSSt18_Rb_tree_node_base", !24, i64 0, !9, i64 8, !9, i64 16, !9, i64 24}
!24 = !{!"_ZTSSt14_Rb_tree_color", !10, i64 0}
!25 = !{i64 0, i64 8, !26, i64 8, i64 4, !27}
!26 = !{!15, !15, i64 0}
!27 = !{!28, !28, i64 0}
!28 = !{!"_ZTSN9benchmark7Counter5FlagsE", !10, i64 0}
!29 = !{!9, !9, i64 0}
!30 = !{!31, !28, i64 8}
!31 = !{!"_ZTSZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEE11CounterStat", !32, i64 0, !33, i64 16}
!32 = !{!"_ZTSN9benchmark7CounterE", !15, i64 0, !28, i64 8}
!33 = !{!"_ZTSSt6vectorIdSaIdEE", !34, i64 0}
!34 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!37 = !{!38, !28, i64 40}
!38 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEE", !7, i64 0, !32, i64 32}
!39 = !{!6, !13, i64 64}
!40 = !{i8 0, i8 2}
!41 = !{}
!42 = distinct !{!42, !43}
!43 = !{!"llvm.loop.mustprogress"}
!44 = !{!6, !9, i64 184}
!45 = !{!46, !9, i64 32}
!46 = !{!"_ZTSN9benchmark10StatisticsE", !7, i64 0, !9, i64 32}
!47 = !{!6, !15, i64 120}
!48 = !{!6, !15, i64 128}
!49 = !{!6, !15, i64 136}
!50 = !{!6, !15, i64 144}
!51 = !{!6, !14, i64 112}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass