; LLVM IR from google/benchmark :: src (statistics)

; 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.25" = type <{ %"struct.std::_Rb_tree_iterator", i8, [7 x i8] }>
%struct.CounterStat = type { %"class.benchmark::Counter", %"class.std::vector" }
%"class.benchmark::Counter" = type { double, i32, i32 }
%"class.benchmark::internal::CheckHandler" = type { ptr }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.__gnu_cxx::__normal_iterator.34" = type { ptr }
%"struct.benchmark::BenchmarkReporter::Run" = type { %"struct.benchmark::BenchmarkName", i64, i64, i32, %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", i64, i64, i64, i64, i32, double, double, double, i8, i32, ptr, i64, ptr, i8, i8, %"class.std::map", %"struct.benchmark::MemoryManager::Result", double }
%"struct.benchmark::BenchmarkName" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"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.benchmark::MemoryManager::Result" = type { i64, i64, i64, i64, i64 }
%"struct.std::pair" = type { %"class.std::__cxx11::basic_string", %"class.benchmark::Counter" }
%"struct.std::pair.27" = type { %"class.std::__cxx11::basic_string", %struct.CounterStat }
%"struct.benchmark::internal::Statistics" = type <{ %"class.std::__cxx11::basic_string", ptr, i32, [4 x i8] }>

@.str = external hidden unnamed_addr constant [43 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [68 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 [56 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

; 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 i64, align 8
  %16 = alloca %"class.std::map.20", align 8
  %17 = alloca ptr, align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %23 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %24 = alloca ptr, align 8
  %25 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %26 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %27 = alloca %"struct.std::pair.25", align 8
  %28 = alloca %struct.CounterStat, align 8
  %29 = alloca { ptr, i8 }, align 8
  %30 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %31 = alloca i1, align 1
  %32 = alloca %"class.std::basic_string_view", align 8
  %33 = alloca %"class.std::basic_string_view", align 8
  %34 = alloca %"class.std::basic_string_view", align 8
  %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.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %43 = alloca i1, align 1
  %44 = alloca %"class.std::basic_string_view", align 8
  %45 = alloca %"class.std::basic_string_view", align 8
  %46 = alloca %"class.std::basic_string_view", align 8
  %47 = alloca i1, align 1
  %48 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %49 = alloca i1, align 1
  %50 = alloca %"class.std::basic_string_view", align 8
  %51 = alloca %"class.std::basic_string_view", align 8
  %52 = alloca %"class.std::basic_string_view", align 8
  %53 = alloca i1, align 1
  %54 = alloca ptr, align 8
  %55 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %56 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %57 = alloca ptr, align 8
  %58 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %59 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %60 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %61 = alloca i1, align 1
  %62 = alloca %"class.std::basic_string_view", align 8
  %63 = alloca %"class.std::basic_string_view", align 8
  %64 = alloca %"class.std::basic_string_view", align 8
  %65 = alloca i1, align 1
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca i64, align 8
  %68 = alloca double, align 8
  %69 = alloca ptr, align 8
  %70 = alloca %"class.__gnu_cxx::__normal_iterator.34", align 8
  %71 = alloca %"class.__gnu_cxx::__normal_iterator.34", align 8
  %72 = alloca ptr, align 8
  %73 = alloca %"struct.benchmark::BenchmarkReporter::Run", align 8
  %74 = alloca ptr, align 8
  %75 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %76 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %77 = alloca ptr, align 8
  %78 = alloca double, align 8
  %79 = 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) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #11
  %80 = load ptr, ptr %4, align 8, !tbaa !5
  %81 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %80) #11
  %82 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %7, i32 0, i32 0
  store ptr %81, ptr %82, align 8
  %83 = load ptr, ptr %4, align 8, !tbaa !5
  %84 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %83) #11
  %85 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %8, i32 0, i32 0
  store ptr %84, ptr %85, align 8
  %86 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %7, i32 0, i32 0
  %87 = load ptr, ptr %86, align 8
  %88 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %8, i32 0, i32 0
  %89 = load ptr, ptr %88, align 8
  %90 = invoke noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS4_SaIS4_EEEEZNS2_12ComputeStatsERKS9_E3$_0ENSt15iterator_traitsIT_E15difference_typeESF_SF_T0_"(ptr %87, ptr %89)
          to label %91 unwind label %98

91:                                               ; preds = %2
  store i64 %90, ptr %6, align 8, !tbaa !9
  %92 = load ptr, ptr %4, align 8, !tbaa !5
  %93 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %92) #11
  %94 = load i64, ptr %6, align 8, !tbaa !9
  %95 = sub i64 %93, %94
  %96 = icmp ult i64 %95, 2
  br i1 %96, label %97, label %102

97:                                               ; preds = %91
  store i1 true, ptr %5, align 1
  store i32 1, ptr %12, align 4
  br label %663

98:                                               ; preds = %2
  %99 = landingpad { ptr, i32 }
          cleanup
  %100 = extractvalue { ptr, i32 } %99, 0
  store ptr %100, ptr %10, align 8
  %101 = extractvalue { ptr, i32 } %99, 1
  store i32 %101, ptr %11, align 4
  br label %665

102:                                              ; preds = %91
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #11
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #11
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #11
  %103 = load ptr, ptr %4, align 8, !tbaa !5
  %104 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %103) #11
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %104)
          to label %105 unwind label %123

105:                                              ; preds = %102
  %106 = load ptr, ptr %4, align 8, !tbaa !5
  %107 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %106) #11
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %107)
          to label %108 unwind label %123

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

120:                                              ; preds = %232, %108
  %121 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #11
  br i1 %121, label %127, label %122

122:                                              ; preds = %120
  store i32 2, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #11
  br label %234

123:                                              ; preds = %105, %102
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %10, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %11, align 4
  br label %662

127:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #11
  %128 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #11
  store ptr %128, ptr %20, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #11
  %129 = load ptr, ptr %20, align 8, !tbaa !5
  %130 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %129, i32 0, i32 24
  store ptr %130, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #11
  %131 = load ptr, ptr %21, align 8, !tbaa !5
  %132 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %131) #11
  %133 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %22, i32 0, i32 0
  store ptr %132, ptr %133, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #11
  %134 = load ptr, ptr %21, align 8, !tbaa !5
  %135 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %134) #11
  %136 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %23, i32 0, i32 0
  store ptr %135, ptr %136, align 8
  br label %137

137:                                              ; preds = %228, %127
  %138 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #11
  br i1 %138, label %140, label %139

139:                                              ; preds = %137
  store i32 4, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  br label %231

140:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #11
  %141 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  store ptr %141, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #11
  %142 = load ptr, ptr %24, align 8, !tbaa !5
  %143 = getelementptr inbounds %"struct.std::pair", ptr %142, i32 0, i32 0
  %144 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(32) %143)
          to label %145 unwind label %166

145:                                              ; preds = %140
  %146 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %25, i32 0, i32 0
  store ptr %144, ptr %146, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #11
  %147 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %16) #11
  %148 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %26, i32 0, i32 0
  store ptr %147, ptr %148, align 8
  %149 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #11
  br i1 %149, label %150, label %174

150:                                              ; preds = %145
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #11
  %151 = load ptr, ptr %24, align 8, !tbaa !5
  %152 = getelementptr inbounds %"struct.std::pair", ptr %151, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 40, ptr %28) #11
  %153 = getelementptr inbounds %struct.CounterStat, ptr %28, i32 0, i32 0
  %154 = load ptr, ptr %24, align 8, !tbaa !5
  %155 = getelementptr inbounds %"struct.std::pair", ptr %154, i32 0, i32 1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %153, ptr align 8 %155, i64 16, i1 false), !tbaa.struct !32
  %156 = getelementptr inbounds %struct.CounterStat, ptr %28, i32 0, i32 1
  call void @llvm.memset.p0.i64(ptr align 8 %156, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %156) #11
  %157 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE7emplaceIJRSI_SE_EEESH_ISt17_Rb_tree_iteratorISJ_EbEDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(32) %152, ptr noundef nonnull align 8 dereferenceable(40) %28)
          to label %158 unwind label %170

158:                                              ; preds = %150
  store { ptr, i8 } %157, ptr %29, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %27, ptr align 8 %29, i64 9, i1 false)
  %159 = getelementptr inbounds %"struct.std::pair.25", ptr %27, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %25, ptr align 8 %159, i64 8, i1 false), !tbaa.struct !38
  call void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %28) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #11
  %160 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #11
  %161 = getelementptr inbounds %"struct.std::pair.27", ptr %160, i32 0, i32 1
  %162 = getelementptr inbounds %struct.CounterStat, ptr %161, i32 0, i32 1
  %163 = load ptr, ptr %4, align 8, !tbaa !5
  %164 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %163) #11
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %162, i64 noundef %164)
          to label %165 unwind label %166

165:                                              ; preds = %158
  br label %227

166:                                              ; preds = %185, %158, %140
  %167 = landingpad { ptr, i32 }
          cleanup
  %168 = extractvalue { ptr, i32 } %167, 0
  store ptr %168, ptr %10, align 8
  %169 = extractvalue { ptr, i32 } %167, 1
  store i32 %169, ptr %11, align 4
  br label %230

170:                                              ; preds = %150
  %171 = landingpad { ptr, i32 }
          cleanup
  %172 = extractvalue { ptr, i32 } %171, 0
  store ptr %172, ptr %10, align 8
  %173 = extractvalue { ptr, i32 } %171, 1
  store i32 %173, ptr %11, align 4
  call void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %28) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #11
  br label %230

174:                                              ; preds = %145
  %175 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #11
  %176 = getelementptr inbounds %"struct.std::pair.27", ptr %175, i32 0, i32 1
  %177 = getelementptr inbounds %struct.CounterStat, ptr %176, i32 0, i32 0
  %178 = getelementptr inbounds %"class.benchmark::Counter", ptr %177, i32 0, i32 1
  %179 = load i32, ptr %178, align 8, !tbaa !39
  %180 = load ptr, ptr %24, align 8, !tbaa !5
  %181 = getelementptr inbounds %"struct.std::pair", ptr %180, i32 0, i32 1
  %182 = getelementptr inbounds %"class.benchmark::Counter", ptr %181, i32 0, i32 1
  %183 = load i32, ptr %182, align 8, !tbaa !47
  %184 = icmp eq i32 %179, %183
  store i1 false, ptr %31, align 1
  store i1 false, ptr %35, align 1
  br i1 %184, label %185, label %188

185:                                              ; preds = %174
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %187 unwind label %166

187:                                              ; preds = %185
  br label %200

188:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #11
  store i1 true, ptr %31, align 1
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef @.str) #11
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef @.str.2) #11
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE) #11
  %189 = getelementptr inbounds { i64, ptr }, ptr %32, i32 0, i32 0
  %190 = load i64, ptr %189, align 8
  %191 = getelementptr inbounds { i64, ptr }, ptr %32, i32 0, i32 1
  %192 = load ptr, ptr %191, align 8
  %193 = getelementptr inbounds { i64, ptr }, ptr %33, i32 0, i32 0
  %194 = load i64, ptr %193, align 8
  %195 = getelementptr inbounds { i64, ptr }, ptr %33, i32 0, i32 1
  %196 = load ptr, ptr %195, align 8
  invoke void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8) %30, i64 %190, ptr %192, i64 %194, ptr %196, ptr noundef byval(%"class.std::basic_string_view") align 8 %34, i32 noundef 147)
          to label %197 unwind label %205

197:                                              ; preds = %188
  store i1 true, ptr %35, align 1
  %198 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %199 unwind label %209

199:                                              ; preds = %197
  br label %200

200:                                              ; preds = %199, %187
  %201 = phi ptr [ %186, %187 ], [ %198, %199 ]
  %202 = load i1, ptr %35, align 1
  br i1 %202, label %203, label %215

203:                                              ; preds = %200
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #12
          to label %204 unwind label %205

204:                                              ; preds = %203
  unreachable

205:                                              ; preds = %203, %188
  %206 = landingpad { ptr, i32 }
          cleanup
  %207 = extractvalue { ptr, i32 } %206, 0
  store ptr %207, ptr %10, align 8
  %208 = extractvalue { ptr, i32 } %206, 1
  store i32 %208, ptr %11, align 4
  br label %223

209:                                              ; preds = %197
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %10, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %11, align 4
  %213 = load i1, ptr %35, align 1
  br i1 %213, label %219, label %222

214:                                              ; No predecessors!
  br label %215

215:                                              ; preds = %214, %200
  %216 = load i1, ptr %31, align 1
  br i1 %216, label %217, label %218

217:                                              ; preds = %215
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #11
  br label %218

218:                                              ; preds = %217, %215
  br label %227

219:                                              ; preds = %209
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #12
          to label %220 unwind label %673

220:                                              ; preds = %219
  unreachable

221:                                              ; No predecessors!
  br label %222

222:                                              ; preds = %221, %209
  br label %223

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

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

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

227:                                              ; preds = %218, %165
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #11
  br label %228

228:                                              ; preds = %227
  %229 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  br label %137

230:                                              ; preds = %226, %170, %166
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #11
  br label %661

231:                                              ; preds = %139
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #11
  br label %232

232:                                              ; preds = %231
  %233 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #11
  br label %120

234:                                              ; preds = %122
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #11
  %235 = load ptr, ptr %4, align 8, !tbaa !5
  store ptr %235, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #11
  %236 = load ptr, ptr %36, align 8, !tbaa !5
  %237 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %236) #11
  %238 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %37, i32 0, i32 0
  store ptr %237, ptr %238, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #11
  %239 = load ptr, ptr %36, align 8, !tbaa !5
  %240 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %239) #11
  %241 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.11", ptr %38, i32 0, i32 0
  store ptr %240, ptr %241, align 8
  br label %242

242:                                              ; preds = %461, %234
  %243 = 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) #11
  br i1 %243, label %245, label %244

244:                                              ; preds = %242
  store i32 6, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #11
  br label %464

245:                                              ; preds = %242
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #11
  %246 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  store ptr %246, ptr %39, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #11
  %247 = load ptr, ptr %4, align 8, !tbaa !5
  %248 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %247, i64 noundef 0) #11
  store i1 false, ptr %43, align 1
  store i1 false, ptr %47, align 1
  invoke void @_ZNK9benchmark17BenchmarkReporter3Run14benchmark_nameB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(592) %248)
          to label %249 unwind label %273

249:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #11
  %250 = load ptr, ptr %39, align 8, !tbaa !5
  invoke void @_ZNK9benchmark17BenchmarkReporter3Run14benchmark_nameB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(592) %250)
          to label %251 unwind label %277

251:                                              ; preds = %249
  %252 = 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) %40, ptr noundef nonnull align 8 dereferenceable(32) %41) #11
  br i1 %252, label %253, label %256

253:                                              ; preds = %251
  %254 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %255 unwind label %281

255:                                              ; preds = %253
  br label %268

256:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #11
  store i1 true, ptr %43, align 1
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %44, ptr noundef @.str.3) #11
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %45, ptr noundef @.str.2) #11
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %46, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE) #11
  %257 = getelementptr inbounds { i64, ptr }, ptr %44, i32 0, i32 0
  %258 = load i64, ptr %257, align 8
  %259 = getelementptr inbounds { i64, ptr }, ptr %44, i32 0, i32 1
  %260 = load ptr, ptr %259, align 8
  %261 = getelementptr inbounds { i64, ptr }, ptr %45, i32 0, i32 0
  %262 = load i64, ptr %261, align 8
  %263 = getelementptr inbounds { i64, ptr }, ptr %45, i32 0, i32 1
  %264 = load ptr, ptr %263, align 8
  invoke void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8) %42, i64 %258, ptr %260, i64 %262, ptr %264, ptr noundef byval(%"class.std::basic_string_view") align 8 %46, i32 noundef 154)
          to label %265 unwind label %285

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

267:                                              ; preds = %265
  br label %268

268:                                              ; preds = %267, %255
  %269 = phi ptr [ %254, %255 ], [ %266, %267 ]
  %270 = load i1, ptr %47, align 1
  br i1 %270, label %271, label %295

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

272:                                              ; preds = %271
  unreachable

273:                                              ; preds = %245
  %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 %334

277:                                              ; preds = %249
  %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 %333

281:                                              ; preds = %253
  %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
  br label %332

285:                                              ; preds = %271, %256
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %10, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %11, align 4
  br label %328

289:                                              ; preds = %265
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %10, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %11, align 4
  %293 = load i1, ptr %47, align 1
  br i1 %293, label %324, label %327

294:                                              ; No predecessors!
  br label %295

295:                                              ; preds = %294, %268
  %296 = load i1, ptr %43, align 1
  br i1 %296, label %297, label %298

297:                                              ; preds = %295
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #11
  br label %298

298:                                              ; preds = %297, %295
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #11
  %299 = load i64, ptr %15, align 8, !tbaa !9
  %300 = load ptr, ptr %39, align 8, !tbaa !5
  %301 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %300, i32 0, i32 9
  %302 = load i64, ptr %301, align 8, !tbaa !11
  %303 = icmp eq i64 %299, %302
  store i1 false, ptr %49, align 1
  store i1 false, ptr %53, align 1
  br i1 %303, label %304, label %307

304:                                              ; preds = %298
  %305 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %306 unwind label %335

306:                                              ; preds = %304
  br label %319

307:                                              ; preds = %298
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #11
  store i1 true, ptr %49, align 1
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %50, ptr noundef @.str.4) #11
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %51, ptr noundef @.str.2) #11
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %52, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE) #11
  %308 = getelementptr inbounds { i64, ptr }, ptr %50, i32 0, i32 0
  %309 = load i64, ptr %308, align 8
  %310 = getelementptr inbounds { i64, ptr }, ptr %50, i32 0, i32 1
  %311 = load ptr, ptr %310, align 8
  %312 = getelementptr inbounds { i64, ptr }, ptr %51, i32 0, i32 0
  %313 = load i64, ptr %312, align 8
  %314 = getelementptr inbounds { i64, ptr }, ptr %51, i32 0, i32 1
  %315 = load ptr, ptr %314, align 8
  invoke void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8) %48, i64 %309, ptr %311, i64 %313, ptr %315, ptr noundef byval(%"class.std::basic_string_view") align 8 %52, i32 noundef 155)
          to label %316 unwind label %339

316:                                              ; preds = %307
  store i1 true, ptr %53, align 1
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %318 unwind label %343

318:                                              ; preds = %316
  br label %319

319:                                              ; preds = %318, %306
  %320 = phi ptr [ %305, %306 ], [ %317, %318 ]
  %321 = load i1, ptr %53, align 1
  br i1 %321, label %322, label %349

322:                                              ; preds = %319
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #12
          to label %323 unwind label %339

323:                                              ; preds = %322
  unreachable

324:                                              ; preds = %289
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #12
          to label %325 unwind label %673

325:                                              ; preds = %324
  unreachable

326:                                              ; No predecessors!
  br label %327

327:                                              ; preds = %326, %289
  br label %328

328:                                              ; preds = %327, %285
  %329 = load i1, ptr %43, align 1
  br i1 %329, label %330, label %331

330:                                              ; preds = %328
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #11
  br label %331

331:                                              ; preds = %330, %328
  br label %332

332:                                              ; preds = %331, %281
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #11
  br label %333

333:                                              ; preds = %332, %277
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #11
  br label %334

334:                                              ; preds = %333, %273
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #11
  br label %463

335:                                              ; preds = %370, %366, %304
  %336 = landingpad { ptr, i32 }
          cleanup
  %337 = extractvalue { ptr, i32 } %336, 0
  store ptr %337, ptr %10, align 8
  %338 = extractvalue { ptr, i32 } %336, 1
  store i32 %338, ptr %11, align 4
  br label %463

339:                                              ; preds = %322, %307
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %10, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %11, align 4
  br label %362

343:                                              ; preds = %316
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %10, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %11, align 4
  %347 = load i1, ptr %53, align 1
  br i1 %347, label %358, label %361

348:                                              ; No predecessors!
  br label %349

349:                                              ; preds = %348, %319
  %350 = load i1, ptr %49, align 1
  br i1 %350, label %351, label %352

351:                                              ; preds = %349
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  br label %352

352:                                              ; preds = %351, %349
  %353 = load ptr, ptr %39, align 8, !tbaa !5
  %354 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %353, i32 0, i32 7
  %355 = load i32, ptr %354, align 8, !tbaa !49
  %356 = icmp ne i32 %355, 0
  br i1 %356, label %357, label %366

357:                                              ; preds = %352
  store i32 7, ptr %12, align 4
  br label %458

358:                                              ; preds = %343
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #12
          to label %359 unwind label %673

359:                                              ; preds = %358
  unreachable

360:                                              ; No predecessors!
  br label %361

361:                                              ; preds = %360, %343
  br label %362

362:                                              ; preds = %361, %339
  %363 = load i1, ptr %49, align 1
  br i1 %363, label %364, label %365

364:                                              ; preds = %362
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  br label %365

365:                                              ; preds = %364, %362
  br label %463

366:                                              ; preds = %352
  %367 = load ptr, ptr %39, align 8, !tbaa !5
  %368 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %367, i32 0, i32 14
  %369 = 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) %368)
          to label %370 unwind label %335

370:                                              ; preds = %366
  %371 = load ptr, ptr %39, align 8, !tbaa !5
  %372 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %371, i32 0, i32 15
  %373 = 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) %372)
          to label %374 unwind label %335

374:                                              ; preds = %370
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #11
  %375 = load ptr, ptr %39, align 8, !tbaa !5
  %376 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %375, i32 0, i32 24
  store ptr %376, ptr %54, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #11
  %377 = load ptr, ptr %54, align 8, !tbaa !5
  %378 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %377) #11
  %379 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %55, i32 0, i32 0
  store ptr %378, ptr %379, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #11
  %380 = load ptr, ptr %54, align 8, !tbaa !5
  %381 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %380) #11
  %382 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %56, i32 0, i32 0
  store ptr %381, ptr %382, align 8
  br label %383

383:                                              ; preds = %445, %374
  %384 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56) #11
  br i1 %384, label %386, label %385

385:                                              ; preds = %383
  store i32 8, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #11
  br label %457

386:                                              ; preds = %383
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #11
  %387 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %55) #11
  store ptr %387, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #11
  %388 = load ptr, ptr %57, align 8, !tbaa !5
  %389 = getelementptr inbounds %"struct.std::pair", ptr %388, i32 0, i32 0
  %390 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(32) %389)
          to label %391 unwind label %416

391:                                              ; preds = %386
  %392 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %58, i32 0, i32 0
  store ptr %390, ptr %392, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #11
  %393 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %16) #11
  %394 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %59, i32 0, i32 0
  store ptr %393, ptr %394, align 8
  %395 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) #11
  store i1 false, ptr %61, align 1
  store i1 false, ptr %65, align 1
  br i1 %395, label %396, label %399

396:                                              ; preds = %391
  %397 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %398 unwind label %420

398:                                              ; preds = %396
  br label %411

399:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #11
  store i1 true, ptr %61, align 1
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef @.str.5) #11
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %63, ptr noundef @.str.2) #11
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %64, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE) #11
  %400 = getelementptr inbounds { i64, ptr }, ptr %62, i32 0, i32 0
  %401 = load i64, ptr %400, align 8
  %402 = getelementptr inbounds { i64, ptr }, ptr %62, i32 0, i32 1
  %403 = load ptr, ptr %402, align 8
  %404 = getelementptr inbounds { i64, ptr }, ptr %63, i32 0, i32 0
  %405 = load i64, ptr %404, align 8
  %406 = getelementptr inbounds { i64, ptr }, ptr %63, i32 0, i32 1
  %407 = load ptr, ptr %406, align 8
  invoke void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8) %60, i64 %401, ptr %403, i64 %405, ptr %407, ptr noundef byval(%"class.std::basic_string_view") align 8 %64, i32 noundef 164)
          to label %408 unwind label %424

408:                                              ; preds = %399
  store i1 true, ptr %65, align 1
  %409 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %410 unwind label %428

410:                                              ; preds = %408
  br label %411

411:                                              ; preds = %410, %398
  %412 = phi ptr [ %397, %398 ], [ %409, %410 ]
  %413 = load i1, ptr %65, align 1
  br i1 %413, label %414, label %434

414:                                              ; preds = %411
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #12
          to label %415 unwind label %424

415:                                              ; preds = %414
  unreachable

416:                                              ; preds = %437, %386
  %417 = landingpad { ptr, i32 }
          cleanup
  %418 = extractvalue { ptr, i32 } %417, 0
  store ptr %418, ptr %10, align 8
  %419 = extractvalue { ptr, i32 } %417, 1
  store i32 %419, ptr %11, align 4
  br label %456

420:                                              ; preds = %396
  %421 = landingpad { ptr, i32 }
          cleanup
  %422 = extractvalue { ptr, i32 } %421, 0
  store ptr %422, ptr %10, align 8
  %423 = extractvalue { ptr, i32 } %421, 1
  store i32 %423, ptr %11, align 4
  br label %455

424:                                              ; preds = %414, %399
  %425 = landingpad { ptr, i32 }
          cleanup
  %426 = extractvalue { ptr, i32 } %425, 0
  store ptr %426, ptr %10, align 8
  %427 = extractvalue { ptr, i32 } %425, 1
  store i32 %427, ptr %11, align 4
  br label %451

428:                                              ; preds = %408
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %10, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %11, align 4
  %432 = load i1, ptr %65, align 1
  br i1 %432, label %447, label %450

433:                                              ; No predecessors!
  br label %434

434:                                              ; preds = %433, %411
  %435 = load i1, ptr %61, align 1
  br i1 %435, label %436, label %437

436:                                              ; preds = %434
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #11
  br label %437

437:                                              ; preds = %436, %434
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #11
  %438 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58) #11
  %439 = getelementptr inbounds %"struct.std::pair.27", ptr %438, i32 0, i32 1
  %440 = getelementptr inbounds %struct.CounterStat, ptr %439, i32 0, i32 1
  %441 = load ptr, ptr %57, align 8, !tbaa !5
  %442 = getelementptr inbounds %"struct.std::pair", ptr %441, i32 0, i32 1
  %443 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKN9benchmark7CounterEEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %440, ptr noundef nonnull align 8 dereferenceable(16) %442)
          to label %444 unwind label %416

444:                                              ; preds = %437
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #11
  br label %445

445:                                              ; preds = %444
  %446 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %55) #11
  br label %383

447:                                              ; preds = %428
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #12
          to label %448 unwind label %673

448:                                              ; preds = %447
  unreachable

449:                                              ; No predecessors!
  br label %450

450:                                              ; preds = %449, %428
  br label %451

451:                                              ; preds = %450, %424
  %452 = load i1, ptr %61, align 1
  br i1 %452, label %453, label %454

453:                                              ; preds = %451
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #11
  br label %454

454:                                              ; preds = %453, %451
  br label %455

455:                                              ; preds = %454, %420
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #11
  br label %456

456:                                              ; preds = %455, %416
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #11
  br label %463

457:                                              ; preds = %385
  store i32 0, ptr %12, align 4
  br label %458

458:                                              ; preds = %457, %357
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #11
  %459 = load i32, ptr %12, align 4
  switch i32 %459, label %676 [
    i32 0, label %460
    i32 7, label %461
  ]

460:                                              ; preds = %458
  br label %461

461:                                              ; preds = %460, %458
  %462 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  br label %242

463:                                              ; preds = %456, %365, %335, %334
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #11
  br label %661

464:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #11
  %465 = load ptr, ptr %4, align 8, !tbaa !5
  %466 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %465, i64 noundef 0) #11
  %467 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %466, i32 0, i32 6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %467)
          to label %468 unwind label %475

468:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #11
  store i64 1, ptr %67, align 8, !tbaa !9
  br label %469

469:                                              ; preds = %493, %468
  %470 = load i64, ptr %67, align 8, !tbaa !9
  %471 = load ptr, ptr %4, align 8, !tbaa !5
  %472 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %471) #11
  %473 = icmp ult i64 %470, %472
  br i1 %473, label %479, label %474

474:                                              ; preds = %469
  store i32 10, ptr %12, align 4
  br label %496

475:                                              ; preds = %464
  %476 = landingpad { ptr, i32 }
          cleanup
  %477 = extractvalue { ptr, i32 } %476, 0
  store ptr %477, ptr %10, align 8
  %478 = extractvalue { ptr, i32 } %476, 1
  store i32 %478, ptr %11, align 4
  br label %660

479:                                              ; preds = %469
  %480 = load ptr, ptr %4, align 8, !tbaa !5
  %481 = load i64, ptr %67, align 8, !tbaa !9
  %482 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %480, i64 noundef %481) #11
  %483 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %482, i32 0, i32 6
  %484 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %483, ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  br i1 %484, label %485, label %492

485:                                              ; preds = %479
  %486 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.6)
          to label %487 unwind label %488

487:                                              ; preds = %485
  store i32 10, ptr %12, align 4
  br label %496

488:                                              ; preds = %485
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %10, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #11
  br label %659

492:                                              ; preds = %479
  br label %493

493:                                              ; preds = %492
  %494 = load i64, ptr %67, align 8, !tbaa !9
  %495 = add i64 %494, 1
  store i64 %495, ptr %67, align 8, !tbaa !9
  br label %469, !llvm.loop !50

496:                                              ; preds = %487, %474
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #11
  br label %497

497:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #11
  %498 = load ptr, ptr %4, align 8, !tbaa !5
  %499 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %498) #11
  %500 = uitofp i64 %499 to double
  %501 = load i64, ptr %15, align 8, !tbaa !9
  %502 = sitofp i64 %501 to double
  %503 = fdiv double %500, %502
  store double %503, ptr %68, align 8, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #11
  %504 = load ptr, ptr %4, align 8, !tbaa !5
  %505 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %504, i64 noundef 0) #11
  %506 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %505, i32 0, i32 21
  %507 = load ptr, ptr %506, align 8, !tbaa !52
  store ptr %507, ptr %69, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #11
  %508 = load ptr, ptr %69, align 8, !tbaa !5
  %509 = call ptr @_ZNKSt6vectorIN9benchmark8internal10StatisticsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %508) #11
  %510 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.34", ptr %70, i32 0, i32 0
  store ptr %509, ptr %510, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #11
  %511 = load ptr, ptr %69, align 8, !tbaa !5
  %512 = call ptr @_ZNKSt6vectorIN9benchmark8internal10StatisticsESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %511) #11
  %513 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.34", ptr %71, i32 0, i32 0
  store ptr %512, ptr %513, align 8
  br label %514

514:                                              ; preds = %654, %497
  %515 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 8 dereferenceable(8) %71) #11
  br i1 %515, label %517, label %516

516:                                              ; preds = %514
  store i32 13, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #11
  br label %658

517:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #11
  %518 = call noundef nonnull align 8 dereferenceable(44) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %70) #11
  store ptr %518, ptr %72, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 592, ptr %73) #11
  invoke void @_ZN9benchmark17BenchmarkReporter3RunC2Ev(ptr noundef nonnull align 8 dereferenceable(592) %73)
          to label %519 unwind label %587

519:                                              ; preds = %517
  %520 = load ptr, ptr %4, align 8, !tbaa !5
  %521 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %520, i64 noundef 0) #11
  %522 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %521, i32 0, i32 0
  %523 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 0
  %524 = invoke noundef nonnull align 8 dereferenceable(256) ptr @_ZN9benchmark13BenchmarkNameaSERKS0_(ptr noundef nonnull align 8 dereferenceable(256) %523, ptr noundef nonnull align 8 dereferenceable(256) %522)
          to label %525 unwind label %591

525:                                              ; preds = %519
  %526 = load ptr, ptr %4, align 8, !tbaa !5
  %527 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %526, i64 noundef 0) #11
  %528 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %527, i32 0, i32 1
  %529 = load i64, ptr %528, align 8, !tbaa !53
  %530 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 1
  store i64 %529, ptr %530, align 8, !tbaa !53
  %531 = load ptr, ptr %4, align 8, !tbaa !5
  %532 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %531, i64 noundef 0) #11
  %533 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %532, i32 0, i32 2
  %534 = load i64, ptr %533, align 8, !tbaa !54
  %535 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 2
  store i64 %534, ptr %535, align 8, !tbaa !54
  %536 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 3
  store i32 1, ptr %536, align 8, !tbaa !55
  %537 = load ptr, ptr %4, align 8, !tbaa !5
  %538 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %537, i64 noundef 0) #11
  %539 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %538, i32 0, i32 10
  %540 = load i64, ptr %539, align 8, !tbaa !56
  %541 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 10
  store i64 %540, ptr %541, align 8, !tbaa !56
  %542 = load ptr, ptr %4, align 8, !tbaa !5
  %543 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %542, i64 noundef 0) #11
  %544 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %543, i32 0, i32 12
  %545 = load i64, ptr %544, align 8, !tbaa !57
  %546 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 12
  store i64 %545, ptr %546, align 8, !tbaa !57
  %547 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 11
  store i64 -1, ptr %547, align 8, !tbaa !58
  %548 = load ptr, ptr %72, align 8, !tbaa !5
  %549 = getelementptr inbounds %"struct.benchmark::internal::Statistics", ptr %548, i32 0, i32 0
  %550 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 4
  %551 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %550, ptr noundef nonnull align 8 dereferenceable(32) %549)
          to label %552 unwind label %591

552:                                              ; preds = %525
  %553 = load ptr, ptr %72, align 8, !tbaa !5
  %554 = getelementptr inbounds %"struct.benchmark::internal::Statistics", ptr %553, i32 0, i32 2
  %555 = load i32, ptr %554, align 8, !tbaa !59
  %556 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 5
  store i32 %555, ptr %556, align 8, !tbaa !61
  %557 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 6
  %558 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %557, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %559 unwind label %591

559:                                              ; preds = %552
  %560 = load ptr, ptr %4, align 8, !tbaa !5
  %561 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %560) #11
  %562 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 9
  store i64 %561, ptr %562, align 8, !tbaa !11
  %563 = load ptr, ptr %72, align 8, !tbaa !5
  %564 = getelementptr inbounds %"struct.benchmark::internal::Statistics", ptr %563, i32 0, i32 1
  %565 = load ptr, ptr %564, align 8, !tbaa !62
  %566 = invoke noundef double %565(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %567 unwind label %591

567:                                              ; preds = %559
  %568 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 14
  store double %566, ptr %568, align 8, !tbaa !63
  %569 = load ptr, ptr %72, align 8, !tbaa !5
  %570 = getelementptr inbounds %"struct.benchmark::internal::Statistics", ptr %569, i32 0, i32 1
  %571 = load ptr, ptr %570, align 8, !tbaa !62
  %572 = invoke noundef double %571(ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %573 unwind label %591

573:                                              ; preds = %567
  %574 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 15
  store double %572, ptr %574, align 8, !tbaa !64
  %575 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 5
  %576 = load i32, ptr %575, align 8, !tbaa !61
  %577 = icmp eq i32 %576, 0
  br i1 %577, label %578, label %595

578:                                              ; preds = %573
  %579 = load double, ptr %68, align 8, !tbaa !33
  %580 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 14
  %581 = load double, ptr %580, align 8, !tbaa !63
  %582 = fmul double %581, %579
  store double %582, ptr %580, align 8, !tbaa !63
  %583 = load double, ptr %68, align 8, !tbaa !33
  %584 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 15
  %585 = load double, ptr %584, align 8, !tbaa !64
  %586 = fmul double %585, %583
  store double %586, ptr %584, align 8, !tbaa !64
  br label %595

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

591:                                              ; preds = %652, %567, %559, %552, %525, %519
  %592 = landingpad { ptr, i32 }
          cleanup
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %10, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %11, align 4
  br label %656

595:                                              ; preds = %578, %573
  %596 = load ptr, ptr %4, align 8, !tbaa !5
  %597 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %596, i64 noundef 0) #11
  %598 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %597, i32 0, i32 13
  %599 = load i32, ptr %598, align 8, !tbaa !65
  %600 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 13
  store i32 %599, ptr %600, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #11
  store ptr %16, ptr %74, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #11
  %601 = load ptr, ptr %74, align 8, !tbaa !5
  %602 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %601) #11
  %603 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %75, i32 0, i32 0
  store ptr %602, ptr %603, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #11
  %604 = load ptr, ptr %74, align 8, !tbaa !5
  %605 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %604) #11
  %606 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %76, i32 0, i32 0
  store ptr %605, ptr %606, align 8
  br label %607

607:                                              ; preds = %641, %595
  %608 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 8 dereferenceable(8) %76) #11
  br i1 %608, label %610, label %609

609:                                              ; preds = %607
  store i32 15, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #11
  br label %652

610:                                              ; preds = %607
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #11
  %611 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %75) #11
  store ptr %611, ptr %77, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #11
  %612 = load ptr, ptr %72, align 8, !tbaa !5
  %613 = getelementptr inbounds %"struct.benchmark::internal::Statistics", ptr %612, i32 0, i32 1
  %614 = load ptr, ptr %613, align 8, !tbaa !62
  %615 = load ptr, ptr %77, align 8, !tbaa !5
  %616 = getelementptr inbounds %"struct.std::pair.27", ptr %615, i32 0, i32 1
  %617 = getelementptr inbounds %struct.CounterStat, ptr %616, i32 0, i32 1
  %618 = invoke noundef double %614(ptr noundef nonnull align 8 dereferenceable(24) %617)
          to label %619 unwind label %643

619:                                              ; preds = %610
  store double %618, ptr %78, align 8, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 16, ptr %79) #11
  %620 = load double, ptr %78, align 8, !tbaa !33
  %621 = load ptr, ptr %77, align 8, !tbaa !5
  %622 = getelementptr inbounds %"struct.std::pair.27", ptr %621, i32 0, i32 0
  %623 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(32) %622)
          to label %624 unwind label %647

624:                                              ; preds = %619
  %625 = getelementptr inbounds %struct.CounterStat, ptr %623, i32 0, i32 0
  %626 = getelementptr inbounds %"class.benchmark::Counter", ptr %625, i32 0, i32 1
  %627 = load i32, ptr %626, align 8, !tbaa !66
  %628 = load ptr, ptr %77, align 8, !tbaa !5
  %629 = getelementptr inbounds %"struct.std::pair.27", ptr %628, i32 0, i32 0
  %630 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(32) %629)
          to label %631 unwind label %647

631:                                              ; preds = %624
  %632 = getelementptr inbounds %struct.CounterStat, ptr %630, i32 0, i32 0
  %633 = getelementptr inbounds %"class.benchmark::Counter", ptr %632, i32 0, i32 2
  %634 = load i32, ptr %633, align 4, !tbaa !67
  invoke void @_ZN9benchmark7CounterC2EdNS0_5FlagsENS0_4OneKE(ptr noundef nonnull align 8 dereferenceable(16) %79, double noundef %620, i32 noundef %627, i32 noundef %634)
          to label %635 unwind label %647

635:                                              ; preds = %631
  %636 = getelementptr inbounds %"struct.benchmark::BenchmarkReporter::Run", ptr %73, i32 0, i32 24
  %637 = load ptr, ptr %77, align 8, !tbaa !5
  %638 = getelementptr inbounds %"struct.std::pair.27", ptr %637, i32 0, i32 0
  %639 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %636, ptr noundef nonnull align 8 dereferenceable(32) %638)
          to label %640 unwind label %647

640:                                              ; preds = %635
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %639, ptr align 8 %79, i64 16, i1 false), !tbaa.struct !32
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #11
  br label %641

641:                                              ; preds = %640
  %642 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %75) #11
  br label %607

643:                                              ; preds = %610
  %644 = landingpad { ptr, i32 }
          cleanup
  %645 = extractvalue { ptr, i32 } %644, 0
  store ptr %645, ptr %10, align 8
  %646 = extractvalue { ptr, i32 } %644, 1
  store i32 %646, ptr %11, align 4
  br label %651

647:                                              ; preds = %635, %631, %624, %619
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %10, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #11
  br label %651

651:                                              ; preds = %647, %643
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #11
  br label %656

652:                                              ; preds = %609
  invoke void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE9push_backERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(592) %73)
          to label %653 unwind label %591

653:                                              ; preds = %652
  call void @_ZN9benchmark17BenchmarkReporter3RunD2Ev(ptr noundef nonnull align 8 dereferenceable(592) %73) #11
  call void @llvm.lifetime.end.p0(i64 592, ptr %73) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #11
  br label %654

654:                                              ; preds = %653
  %655 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %70) #11
  br label %514

656:                                              ; preds = %651, %591
  call void @_ZN9benchmark17BenchmarkReporter3RunD2Ev(ptr noundef nonnull align 8 dereferenceable(592) %73) #11
  br label %657

657:                                              ; preds = %656, %587
  call void @llvm.lifetime.end.p0(i64 592, ptr %73) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #11
  br label %659

658:                                              ; preds = %516
  store i1 true, ptr %5, align 1
  store i32 1, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #11
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr %16) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #11
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #11
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #11
  br label %663

659:                                              ; preds = %657, %488
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  br label %660

660:                                              ; preds = %659, %475
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #11
  br label %661

661:                                              ; preds = %660, %463, %230
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr %16) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #11
  br label %662

662:                                              ; preds = %661, %123
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #11
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #11
  br label %665

663:                                              ; preds = %658, %97
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #11
  %664 = load i1, ptr %5, align 1
  br i1 %664, label %667, label %666

665:                                              ; preds = %662, %98
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #11
  call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #11
  br label %668

666:                                              ; preds = %663
  call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #11
  br label %667

667:                                              ; preds = %666, %663
  ret void

668:                                              ; preds = %665
  %669 = load ptr, ptr %10, align 8
  %670 = load i32, ptr %11, align 4
  %671 = insertvalue { ptr, i32 } poison, ptr %669, 0
  %672 = insertvalue { ptr, i32 } %671, i32 %670, 1
  resume { ptr, i32 } %672

673:                                              ; preds = %447, %358, %324, %219
  %674 = landingpad { ptr, i32 }
          catch ptr null
  %675 = extractvalue { ptr, i32 } %674, 0
  call void @__clang_call_terminate(ptr %675) #13
  unreachable

676:                                              ; preds = %458
  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(592) 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(592) 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_EEE7emplaceIJRSI_SE_EEESH_ISt17_Rb_tree_iteratorISJ_EbEDpOT_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(40)) #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: 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: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv() #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8), i64, ptr, i64, ptr, ptr noundef byval(%"class.std::basic_string_view") align 8, 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(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #2 align 2

declare void @_ZNK9benchmark17BenchmarkReporter3Run14benchmark_nameB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(592)) #9

; 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 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(16)) #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 @_ZNKSt6vectorIN9benchmark8internal10StatisticsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorIN9benchmark8internal10StatisticsESaIS2_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_cxxneIPKN9benchmark8internal10StatisticsESt6vectorIS3_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(44) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(256) ptr @_ZN9benchmark13BenchmarkNameaSERKS0_(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef nonnull align 8 dereferenceable(256)) #4 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: 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: alwaysinline mustprogress nounwind uwtable
declare dso_local void @_ZN9benchmark7CounterC2EdNS0_5FlagsENS0_4OneKE(ptr noundef nonnull align 8 dereferenceable(16), double noundef, i32 noundef, i32 noundef) unnamed_addr #10 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) 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(592)) #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_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 = { "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 = { 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 #11 = { nounwind }
attributes #12 = { noreturn }
attributes #13 = { 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 392}
!12 = !{!"_ZTSN9benchmark17BenchmarkReporter3RunE", !13, i64 0, !10, i64 256, !10, i64 264, !16, i64 272, !14, i64 280, !17, i64 312, !14, i64 320, !18, i64 352, !14, i64 360, !10, i64 392, !10, i64 400, !10, i64 408, !10, i64 416, !19, i64 424, !20, i64 432, !20, i64 440, !20, i64 448, !21, i64 456, !22, i64 460, !6, i64 464, !10, i64 472, !6, i64 480, !21, i64 488, !21, i64 489, !23, i64 496, !31, i64 544, !20, i64 584}
!13 = !{!"_ZTSN9benchmark13BenchmarkNameE", !14, i64 0, !14, i64 32, !14, i64 64, !14, i64 96, !14, i64 128, !14, i64 160, !14, i64 192, !14, i64 224}
!14 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !15, i64 0, !10, i64 8, !7, i64 16}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!16 = !{!"_ZTSN9benchmark17BenchmarkReporter3Run7RunTypeE", !7, i64 0}
!17 = !{!"_ZTSN9benchmark13StatisticUnitE", !7, i64 0}
!18 = !{!"_ZTSN9benchmark8internal7SkippedE", !7, i64 0}
!19 = !{!"_ZTSN9benchmark8TimeUnitE", !7, i64 0}
!20 = !{!"double", !7, i64 0}
!21 = !{!"bool", !7, i64 0}
!22 = !{!"_ZTSN9benchmark4BigOE", !7, i64 0}
!23 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE", !24, i64 0}
!24 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N9benchmark7CounterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !25, i64 0}
!25 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N9benchmark7CounterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !26, i64 0, !28, i64 8}
!26 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !27, i64 0}
!27 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!28 = !{!"_ZTSSt15_Rb_tree_header", !29, i64 0, !10, i64 32}
!29 = !{!"_ZTSSt18_Rb_tree_node_base", !30, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!30 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!31 = !{!"_ZTSN9benchmark13MemoryManager6ResultE", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!32 = !{i64 0, i64 8, !33, i64 8, i64 4, !34, i64 12, i64 4, !36}
!33 = !{!20, !20, i64 0}
!34 = !{!35, !35, i64 0}
!35 = !{!"_ZTSN9benchmark7Counter5FlagsE", !7, i64 0}
!36 = !{!37, !37, i64 0}
!37 = !{!"_ZTSN9benchmark7Counter4OneKE", !7, i64 0}
!38 = !{i64 0, i64 8, !5}
!39 = !{!40, !35, i64 40}
!40 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatE", !14, i64 0, !41, i64 32}
!41 = !{!"_ZTSZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEE11CounterStat", !42, i64 0, !43, i64 16}
!42 = !{!"_ZTSN9benchmark7CounterE", !20, i64 0, !35, i64 8, !37, i64 12}
!43 = !{!"_ZTSSt6vectorIdSaIdEE", !44, i64 0}
!44 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !45, i64 0}
!45 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !46, i64 0}
!46 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!47 = !{!48, !35, i64 40}
!48 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEE", !14, i64 0, !42, i64 32}
!49 = !{!12, !18, i64 352}
!50 = distinct !{!50, !51}
!51 = !{!"llvm.loop.mustprogress"}
!52 = !{!12, !6, i64 480}
!53 = !{!12, !10, i64 256}
!54 = !{!12, !10, i64 264}
!55 = !{!12, !16, i64 272}
!56 = !{!12, !10, i64 400}
!57 = !{!12, !10, i64 416}
!58 = !{!12, !10, i64 408}
!59 = !{!60, !17, i64 40}
!60 = !{!"_ZTSN9benchmark8internal10StatisticsE", !14, i64 0, !6, i64 32, !17, i64 40}
!61 = !{!12, !17, i64 312}
!62 = !{!60, !6, i64 32}
!63 = !{!12, !20, i64 432}
!64 = !{!12, !20, i64 440}
!65 = !{!12, !19, i64 424}
!66 = !{!41, !35, i64 8}
!67 = !{!41, !37, i64 12}


; 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.CounterStat = type { %"class.benchmark::Counter", %"class.std::vector" }
%"class.benchmark::Counter" = type { double, i32, i32 }
%"class.benchmark::internal::CheckHandler" = type { ptr }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.__gnu_cxx::__normal_iterator.34" = type { ptr }
%"struct.benchmark::BenchmarkReporter::Run" = type { %"struct.benchmark::BenchmarkName", i64, i64, i32, %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", i64, i64, i64, i64, i32, double, double, double, i8, i32, ptr, i64, ptr, i8, i8, %"class.std::map", %"struct.benchmark::MemoryManager::Result", double }
%"struct.benchmark::BenchmarkName" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"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.benchmark::MemoryManager::Result" = type { i64, i64, i64, i64, i64 }

@.str = external hidden unnamed_addr constant [43 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [68 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 [56 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

; 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::map.20", align 8
  %6 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %7 = alloca %"class.__gnu_cxx::__normal_iterator.11", align 8
  %8 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %9 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %10 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %11 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %12 = alloca %struct.CounterStat, align 8
  %13 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %14 = alloca %"class.std::basic_string_view", align 8
  %15 = alloca %"class.std::basic_string_view", align 8
  %16 = alloca %"class.std::basic_string_view", 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.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %22 = alloca %"class.std::basic_string_view", align 8
  %23 = alloca %"class.std::basic_string_view", align 8
  %24 = alloca %"class.std::basic_string_view", align 8
  %25 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %26 = alloca %"class.std::basic_string_view", align 8
  %27 = alloca %"class.std::basic_string_view", align 8
  %28 = alloca %"class.std::basic_string_view", align 8
  %29 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %30 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %31 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %32 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %33 = alloca %"class.benchmark::internal::CheckHandler", align 8
  %34 = alloca %"class.std::basic_string_view", align 8
  %35 = alloca %"class.std::basic_string_view", align 8
  %36 = alloca %"class.std::basic_string_view", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator.34", align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator.34", align 8
  %40 = alloca %"struct.benchmark::BenchmarkReporter::Run", align 8
  %41 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %42 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %43 = alloca %"class.benchmark::Counter", align 8
  tail call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #10
  %44 = tail call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  %45 = tail call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  %46 = invoke noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS4_SaIS4_EEEEZNS2_12ComputeStatsERKS9_E3$_0ENSt15iterator_traitsIT_E15difference_typeESF_SF_T0_"(ptr %44, ptr %45)
          to label %47 unwind label %51

47:                                               ; preds = %2
  %48 = tail call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  %49 = sub i64 %48, %46
  %50 = icmp ult i64 %49, 2
  br i1 %50, label %340, label %53

51:                                               ; preds = %2
  %52 = landingpad { ptr, i32 }
          cleanup
  br label %339

53:                                               ; preds = %47
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #10
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #10
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #10
  %54 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %54)
          to label %55 unwind label %68

55:                                               ; preds = %53
  %56 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %56)
          to label %57 unwind label %68

57:                                               ; preds = %55
  %58 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5frontEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  %59 = getelementptr inbounds i8, ptr %58, i64 392
  %60 = load i64, ptr %59, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %5) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #10
  %61 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  store ptr %61, ptr %6, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #10
  %62 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  store ptr %62, ptr %7, align 8
  %63 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #10
  br i1 %63, label %.lr.ph135, label %._crit_edge136

.lr.ph135:                                        ; preds = %57
  %64 = getelementptr inbounds i8, ptr %12, i64 16
  br label %70

._crit_edge136:                                   ; preds = %._crit_edge, %57
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #10
  %65 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  store ptr %65, ptr %17, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #10
  %66 = call ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  store ptr %66, ptr %18, align 8
  %67 = 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) #10
  br i1 %67, label %.lr.ph141, label %._crit_edge142

68:                                               ; preds = %55, %53
  %69 = landingpad { ptr, i32 }
          cleanup
  br label %338

70:                                               ; preds = %.lr.ph135, %._crit_edge
  %71 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  %72 = getelementptr inbounds i8, ptr %71, i64 496
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #10
  %73 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %72) #10
  store ptr %73, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #10
  %74 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %72) #10
  store ptr %74, ptr %9, align 8
  %75 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #10
  br i1 %75, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %114, %70
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #10
  %76 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  %77 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #10
  br i1 %77, label %70, label %._crit_edge136

.lr.ph:                                           ; preds = %70, %114
  %78 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #10
  %79 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %80 unwind label %90

80:                                               ; preds = %.lr.ph
  store ptr %79, ptr %10, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #10
  %81 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #10
  store ptr %81, ptr %11, align 8
  %82 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #10
  br i1 %82, label %83, label %94

83:                                               ; preds = %80
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12) #10
  %84 = getelementptr inbounds i8, ptr %78, i64 32
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(16) %84, i64 16, i1 false), !tbaa.struct !30
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %64, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #10
  %85 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE7emplaceIJRSI_SE_EEESH_ISt17_Rb_tree_iteratorISJ_EbEDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(40) %12)
          to label %86 unwind label %92

86:                                               ; preds = %83
  %.fca.0.extract = extractvalue { ptr, i8 } %85, 0
  store ptr %.fca.0.extract, ptr %10, align 8, !tbaa !36
  call void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #10
  %87 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %10) #10
  %88 = getelementptr inbounds i8, ptr %87, i64 48
  %89 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %88, i64 noundef %89)
          to label %114 unwind label %90

90:                                               ; preds = %100, %86, %.lr.ph
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %117

92:                                               ; preds = %83
  %93 = landingpad { ptr, i32 }
          cleanup
  call void @_ZZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEEN11CounterStatD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #10
  br label %117

94:                                               ; preds = %80
  %95 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %10) #10
  %96 = getelementptr inbounds i8, ptr %95, i64 40
  %97 = load i32, ptr %96, align 8, !tbaa !37
  %98 = getelementptr inbounds i8, ptr %78, i64 40
  %99 = load i32, ptr %98, align 8, !tbaa !45
  %.not133 = icmp eq i32 %97, %99
  br i1 %.not133, label %100, label %102

100:                                              ; preds = %94
  %101 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %114 unwind label %90

102:                                              ; preds = %94
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef @.str) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef @.str.2) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE) #10
  %103 = load i64, ptr %14, align 8
  %104 = getelementptr inbounds i8, ptr %14, i64 8
  %105 = load ptr, ptr %104, align 8
  %106 = load i64, ptr %15, align 8
  %107 = getelementptr inbounds i8, ptr %15, i64 8
  %108 = load ptr, ptr %107, align 8
  invoke void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8) %13, i64 %103, ptr %105, i64 %106, ptr %108, ptr noundef nonnull byval(%"class.std::basic_string_view") align 8 %16, i32 noundef 147)
          to label %109 unwind label %112

109:                                              ; preds = %102
  %110 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #11
          to label %111 unwind label %112

111:                                              ; preds = %109
  unreachable

112:                                              ; preds = %102, %109
  %113 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #10
  br label %117

114:                                              ; preds = %100, %86
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #10
  %115 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #10
  %116 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #10
  br i1 %116, label %.lr.ph, label %._crit_edge

117:                                              ; preds = %112, %92, %90
  %.pn124 = phi { ptr, i32 } [ %91, %90 ], [ %93, %92 ], [ %113, %112 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #10
  br label %337

._crit_edge142:                                   ; preds = %216, %._crit_edge136
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #10
  %118 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  %119 = getelementptr inbounds i8, ptr %118, i64 320
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %.preheader unwind label %224

.preheader:                                       ; preds = %._crit_edge142
  %120 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  %121 = icmp ugt i64 %120, 1
  br i1 %121, label %.lr.ph144, label %.loopexit

.lr.ph141:                                        ; preds = %._crit_edge136, %216
  %122 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #10
  %123 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  invoke void @_ZNK9benchmark17BenchmarkReporter3Run14benchmark_nameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(592) %123)
          to label %124 unwind label %139

124:                                              ; preds = %.lr.ph141
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #10
  invoke void @_ZNK9benchmark17BenchmarkReporter3Run14benchmark_nameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(592) %122)
          to label %125 unwind label %141

125:                                              ; preds = %124
  %126 = 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) %19, ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  br i1 %126, label %127, label %129

127:                                              ; preds = %125
  %128 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %145 unwind label %143

129:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef @.str.3) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %23, ptr noundef @.str.2) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE) #10
  %130 = load i64, ptr %22, align 8
  %131 = getelementptr inbounds i8, ptr %22, i64 8
  %132 = load ptr, ptr %131, align 8
  %133 = load i64, ptr %23, align 8
  %134 = getelementptr inbounds i8, ptr %23, i64 8
  %135 = load ptr, ptr %134, align 8
  invoke void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8) %21, i64 %130, ptr %132, i64 %133, ptr %135, ptr noundef nonnull byval(%"class.std::basic_string_view") align 8 %24, i32 noundef 154)
          to label %136 unwind label %160

136:                                              ; preds = %129
  %137 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #11
          to label %138 unwind label %160

138:                                              ; preds = %136
  unreachable

139:                                              ; preds = %.lr.ph141
  %140 = landingpad { ptr, i32 }
          cleanup
  br label %164

141:                                              ; preds = %124
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %163

143:                                              ; preds = %127
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %162

145:                                              ; preds = %127
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #10
  %146 = getelementptr inbounds i8, ptr %122, i64 392
  %147 = load i64, ptr %146, align 8, !tbaa !5
  %.not132 = icmp eq i64 %60, %147
  br i1 %.not132, label %148, label %150

148:                                              ; preds = %145
  %149 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %167 unwind label %165

150:                                              ; preds = %145
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef @.str.4) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef @.str.2) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE) #10
  %151 = load i64, ptr %26, align 8
  %152 = getelementptr inbounds i8, ptr %26, i64 8
  %153 = load ptr, ptr %152, align 8
  %154 = load i64, ptr %27, align 8
  %155 = getelementptr inbounds i8, ptr %27, i64 8
  %156 = load ptr, ptr %155, align 8
  invoke void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8) %25, i64 %151, ptr %153, i64 %154, ptr %156, ptr noundef nonnull byval(%"class.std::basic_string_view") align 8 %28, i32 noundef 155)
          to label %157 unwind label %170

157:                                              ; preds = %150
  %158 = 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) #11
          to label %159 unwind label %170

159:                                              ; preds = %157
  unreachable

160:                                              ; preds = %129, %136
  %161 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #10
  br label %162

162:                                              ; preds = %160, %143
  %.pn119 = phi { ptr, i32 } [ %161, %160 ], [ %144, %143 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  br label %163

163:                                              ; preds = %162, %141
  %.pn119.pn = phi { ptr, i32 } [ %.pn119, %162 ], [ %142, %141 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #10
  br label %164

164:                                              ; preds = %163, %139
  %.pn119.pn.pn = phi { ptr, i32 } [ %.pn119.pn, %163 ], [ %140, %139 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #10
  br label %219

165:                                              ; preds = %175, %172, %148
  %166 = landingpad { ptr, i32 }
          cleanup
  br label %219

167:                                              ; preds = %148
  %168 = getelementptr inbounds i8, ptr %122, i64 352
  %169 = load i32, ptr %168, align 8, !tbaa !47
  %.not = icmp eq i32 %169, 0
  br i1 %.not, label %172, label %216

170:                                              ; preds = %150, %157
  %171 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #10
  br label %219

172:                                              ; preds = %167
  %173 = getelementptr inbounds i8, ptr %122, i64 432
  %174 = 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) %173)
          to label %175 unwind label %165

175:                                              ; preds = %172
  %176 = getelementptr inbounds i8, ptr %122, i64 440
  %177 = 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) %176)
          to label %178 unwind label %165

178:                                              ; preds = %175
  %179 = getelementptr inbounds i8, ptr %122, i64 496
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #10
  %180 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %179) #10
  store ptr %180, ptr %29, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #10
  %181 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %179) #10
  store ptr %181, ptr %30, align 8
  %182 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #10
  br i1 %182, label %.lr.ph138, label %._crit_edge139

._crit_edge139:                                   ; preds = %209, %178
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #10
  br label %216

.lr.ph138:                                        ; preds = %178, %209
  %183 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #10
  %184 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE4findERSI_(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef nonnull align 8 dereferenceable(32) %183)
          to label %185 unwind label %200

185:                                              ; preds = %.lr.ph138
  store ptr %184, ptr %31, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #10
  %186 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #10
  store ptr %186, ptr %32, align 8
  %187 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #10
  br i1 %187, label %188, label %190

188:                                              ; preds = %185
  %189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv()
          to label %204 unwind label %202

190:                                              ; preds = %185
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef @.str.5) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %35, ptr noundef @.str.2) #10
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef @__func__._ZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EE) #10
  %191 = load i64, ptr %34, align 8
  %192 = getelementptr inbounds i8, ptr %34, i64 8
  %193 = load ptr, ptr %192, align 8
  %194 = load i64, ptr %35, align 8
  %195 = getelementptr inbounds i8, ptr %35, i64 8
  %196 = load ptr, ptr %195, align 8
  invoke void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8) %33, i64 %191, ptr %193, i64 %194, ptr %196, ptr noundef nonnull byval(%"class.std::basic_string_view") align 8 %36, i32 noundef 164)
          to label %197 unwind label %212

197:                                              ; preds = %190
  %198 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal12CheckHandler6GetLogEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN9benchmark8internal12CheckHandlerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #11
          to label %199 unwind label %212

199:                                              ; preds = %197
  unreachable

200:                                              ; preds = %204, %.lr.ph138
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %215

202:                                              ; preds = %188
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %214

204:                                              ; preds = %188
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #10
  %205 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #10
  %206 = getelementptr inbounds i8, ptr %205, i64 48
  %207 = getelementptr inbounds i8, ptr %183, i64 32
  %208 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEE12emplace_backIJRKN9benchmark7CounterEEEERdDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %206, ptr noundef nonnull align 8 dereferenceable(16) %207)
          to label %209 unwind label %200

209:                                              ; preds = %204
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #10
  %210 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #10
  %211 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #10
  br i1 %211, label %.lr.ph138, label %._crit_edge139

212:                                              ; preds = %190, %197
  %213 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #10
  br label %214

214:                                              ; preds = %212, %202
  %.pn116 = phi { ptr, i32 } [ %213, %212 ], [ %203, %202 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #10
  br label %215

215:                                              ; preds = %214, %200
  %.pn116.pn = phi { ptr, i32 } [ %.pn116, %214 ], [ %201, %200 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #10
  br label %219

216:                                              ; preds = %167, %._crit_edge139
  %217 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark17BenchmarkReporter3RunESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #10
  %218 = 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) #10
  br i1 %218, label %.lr.ph141, label %._crit_edge142

219:                                              ; preds = %170, %215, %165, %164
  %.pn119.pn.pn.pn = phi { ptr, i32 } [ %.pn119.pn.pn, %164 ], [ %171, %170 ], [ %.pn116.pn, %215 ], [ %166, %165 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  br label %337

220:                                              ; preds = %.lr.ph144
  %221 = add nuw i64 %.0101143, 1
  %222 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  %223 = icmp ult i64 %221, %222
  br i1 %223, label %.lr.ph144, label %.loopexit, !llvm.loop !48

224:                                              ; preds = %._crit_edge142
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %336

.lr.ph144:                                        ; preds = %.preheader, %220
  %.0101143 = phi i64 [ %221, %220 ], [ 1, %.preheader ]
  %226 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %.0101143) #10
  %227 = getelementptr inbounds i8, ptr %226, i64 320
  %228 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef nonnull align 8 dereferenceable(32) %37) #10
  br i1 %228, label %229, label %220

229:                                              ; preds = %.lr.ph144
  %230 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.6)
          to label %.loopexit unwind label %231

231:                                              ; preds = %229
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %335

.loopexit:                                        ; preds = %220, %.preheader, %229
  %233 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  %234 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  %235 = getelementptr inbounds i8, ptr %234, i64 480
  %236 = load ptr, ptr %235, align 8, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #10
  %237 = call ptr @_ZNKSt6vectorIN9benchmark8internal10StatisticsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %236) #10
  store ptr %237, ptr %38, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #10
  %238 = call ptr @_ZNKSt6vectorIN9benchmark8internal10StatisticsESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %236) #10
  store ptr %238, ptr %39, align 8
  %239 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %39) #10
  br i1 %239, label %.lr.ph149, label %._crit_edge150

.lr.ph149:                                        ; preds = %.loopexit
  %240 = uitofp i64 %233 to double
  %241 = sitofp i64 %60 to double
  %242 = fdiv double %240, %241
  %243 = getelementptr inbounds i8, ptr %40, i64 256
  %244 = getelementptr inbounds i8, ptr %40, i64 264
  %245 = getelementptr inbounds i8, ptr %40, i64 272
  %246 = getelementptr inbounds i8, ptr %40, i64 400
  %247 = getelementptr inbounds i8, ptr %40, i64 416
  %248 = getelementptr inbounds i8, ptr %40, i64 408
  %249 = getelementptr inbounds i8, ptr %40, i64 280
  %250 = getelementptr inbounds i8, ptr %40, i64 312
  %251 = getelementptr inbounds i8, ptr %40, i64 320
  %252 = getelementptr inbounds i8, ptr %40, i64 392
  %253 = getelementptr inbounds i8, ptr %40, i64 432
  %254 = getelementptr inbounds i8, ptr %40, i64 440
  %255 = getelementptr inbounds i8, ptr %40, i64 424
  %256 = getelementptr inbounds i8, ptr %40, i64 496
  %257 = insertelement <2 x double> poison, double %242, i64 0
  %258 = shufflevector <2 x double> %257, <2 x double> poison, <2 x i32> zeroinitializer
  br label %259

._crit_edge150:                                   ; preds = %330, %.loopexit
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %5) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #10
  br label %340

259:                                              ; preds = %.lr.ph149, %330
  %260 = call noundef nonnull align 8 dereferenceable(44) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %38) #10
  call void @llvm.lifetime.start.p0(i64 592, ptr nonnull %40) #10
  invoke void @_ZN9benchmark17BenchmarkReporter3RunC2Ev(ptr noundef nonnull align 8 dereferenceable(592) %40)
          to label %261 unwind label %297

261:                                              ; preds = %259
  %262 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  %263 = invoke noundef nonnull align 8 dereferenceable(256) ptr @_ZN9benchmark13BenchmarkNameaSERKS0_(ptr noundef nonnull align 8 dereferenceable(256) %40, ptr noundef nonnull align 8 dereferenceable(256) %262)
          to label %264 unwind label %299

264:                                              ; preds = %261
  %265 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  %266 = getelementptr inbounds i8, ptr %265, i64 256
  %267 = load i64, ptr %266, align 8, !tbaa !51
  store i64 %267, ptr %243, align 8, !tbaa !51
  %268 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  %269 = getelementptr inbounds i8, ptr %268, i64 264
  %270 = load i64, ptr %269, align 8, !tbaa !52
  store i64 %270, ptr %244, align 8, !tbaa !52
  store i32 1, ptr %245, align 8, !tbaa !53
  %271 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  %272 = getelementptr inbounds i8, ptr %271, i64 400
  %273 = load i64, ptr %272, align 8, !tbaa !54
  store i64 %273, ptr %246, align 8, !tbaa !54
  %274 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  %275 = getelementptr inbounds i8, ptr %274, i64 416
  %276 = load i64, ptr %275, align 8, !tbaa !55
  store i64 %276, ptr %247, align 8, !tbaa !55
  store i64 -1, ptr %248, align 8, !tbaa !56
  %277 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %249, ptr noundef nonnull align 8 dereferenceable(32) %260)
          to label %278 unwind label %299

278:                                              ; preds = %264
  %279 = getelementptr inbounds i8, ptr %260, i64 40
  %280 = load i32, ptr %279, align 8, !tbaa !57
  store i32 %280, ptr %250, align 8, !tbaa !59
  %281 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %251, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %282 unwind label %299

282:                                              ; preds = %278
  %283 = call noundef i64 @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #10
  store i64 %283, ptr %252, align 8, !tbaa !5
  %284 = getelementptr inbounds i8, ptr %260, i64 32
  %285 = load ptr, ptr %284, align 8, !tbaa !60
  %286 = invoke noundef double %285(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %287 unwind label %299

287:                                              ; preds = %282
  store double %286, ptr %253, align 8, !tbaa !61
  %288 = load ptr, ptr %284, align 8, !tbaa !60
  %289 = invoke noundef double %288(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %290 unwind label %299

290:                                              ; preds = %287
  store double %289, ptr %254, align 8, !tbaa !62
  %291 = load i32, ptr %250, align 8, !tbaa !59
  %292 = icmp eq i32 %291, 0
  br i1 %292, label %293, label %301

293:                                              ; preds = %290
  %294 = load <2 x double>, ptr %253, align 8
  %295 = insertelement <2 x double> %294, double %289, i64 1
  %296 = fmul <2 x double> %258, %295
  store <2 x double> %296, ptr %253, align 8, !tbaa !31
  br label %301

297:                                              ; preds = %259
  %298 = landingpad { ptr, i32 }
          cleanup
  br label %334

299:                                              ; preds = %._crit_edge147, %287, %282, %278, %264, %261
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %333

301:                                              ; preds = %293, %290
  %302 = call noundef nonnull align 8 dereferenceable(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 0) #10
  %303 = getelementptr inbounds i8, ptr %302, i64 424
  %304 = load i32, ptr %303, align 8, !tbaa !63
  store i32 %304, ptr %255, align 8, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #10
  %305 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #10
  store ptr %305, ptr %41, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #10
  %306 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #10
  store ptr %306, ptr %42, align 8
  %307 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42) #10
  br i1 %307, label %.lr.ph146, label %._crit_edge147

._crit_edge147:                                   ; preds = %322, %301
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #10
  invoke void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EE9push_backERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(592) %40)
          to label %330 unwind label %299

.lr.ph146:                                        ; preds = %301, %322
  %308 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %41) #10
  %309 = load ptr, ptr %284, align 8, !tbaa !60
  %310 = getelementptr inbounds i8, ptr %308, i64 48
  %311 = invoke noundef double %309(ptr noundef nonnull align 8 dereferenceable(24) %310)
          to label %312 unwind label %325

312:                                              ; preds = %.lr.ph146
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #10
  %313 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef nonnull align 8 dereferenceable(32) %308)
          to label %314 unwind label %327

314:                                              ; preds = %312
  %315 = getelementptr inbounds i8, ptr %313, i64 8
  %316 = load i32, ptr %315, align 8, !tbaa !64
  %317 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEEixERSI_(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef nonnull align 8 dereferenceable(32) %308)
          to label %318 unwind label %327

318:                                              ; preds = %314
  %319 = getelementptr inbounds i8, ptr %317, i64 12
  %320 = load i32, ptr %319, align 4, !tbaa !65
  call void @_ZN9benchmark7CounterC2EdNS0_5FlagsENS0_4OneKE(ptr noundef nonnull align 8 dereferenceable(16) %43, double noundef %311, i32 noundef %316, i32 noundef %320)
  %321 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %256, ptr noundef nonnull align 8 dereferenceable(32) %308)
          to label %322 unwind label %327

322:                                              ; preds = %318
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %321, ptr noundef nonnull align 8 dereferenceable(16) %43, i64 16, i1 false), !tbaa.struct !30
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #10
  %323 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %41) #10
  %324 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS8_17BenchmarkReporter3RunESaISB_EEE11CounterStatEESK_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42) #10
  br i1 %324, label %.lr.ph146, label %._crit_edge147

325:                                              ; preds = %.lr.ph146
  %326 = landingpad { ptr, i32 }
          cleanup
  br label %329

327:                                              ; preds = %318, %314, %312
  %328 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #10
  br label %329

329:                                              ; preds = %327, %325
  %.pn = phi { ptr, i32 } [ %328, %327 ], [ %326, %325 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #10
  br label %333

330:                                              ; preds = %._crit_edge147
  call void @_ZN9benchmark17BenchmarkReporter3RunD2Ev(ptr noundef nonnull align 8 dereferenceable(592) %40) #10
  call void @llvm.lifetime.end.p0(i64 592, ptr nonnull %40) #10
  %331 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %38) #10
  %332 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %39) #10
  br i1 %332, label %259, label %._crit_edge150

333:                                              ; preds = %329, %299
  %.pn.pn = phi { ptr, i32 } [ %.pn, %329 ], [ %300, %299 ]
  call void @_ZN9benchmark17BenchmarkReporter3RunD2Ev(ptr noundef nonnull align 8 dereferenceable(592) %40) #10
  br label %334

334:                                              ; preds = %333, %297
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %333 ], [ %298, %297 ]
  call void @llvm.lifetime.end.p0(i64 592, ptr nonnull %40) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #10
  br label %335

335:                                              ; preds = %334, %231
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %334 ], [ %232, %231 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #10
  br label %336

336:                                              ; preds = %335, %224
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %335 ], [ %225, %224 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #10
  br label %337

337:                                              ; preds = %336, %219, %117
  %.pn124.pn = phi { ptr, i32 } [ %.pn124, %117 ], [ %.pn119.pn.pn.pn, %219 ], [ %.pn.pn.pn.pn.pn, %336 ]
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS6_17BenchmarkReporter3RunESaIS9_EEE11CounterStatSt4lessIS5_ESaISt4pairIKS5_SE_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %5) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5) #10
  br label %338

338:                                              ; preds = %337, %68
  %.pn124.pn.pn = phi { ptr, i32 } [ %.pn124.pn, %337 ], [ %69, %68 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #10
  br label %339

339:                                              ; preds = %338, %51
  %.pn124.pn.pn.pn = phi { ptr, i32 } [ %.pn124.pn.pn, %338 ], [ %52, %51 ]
  call void @_ZNSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #10
  resume { ptr, i32 } %.pn124.pn.pn.pn

340:                                              ; preds = %._crit_edge150, %47
  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(592) 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(592) 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_EEE7emplaceIJRSI_SE_EEESH_ISt17_Rb_tree_iteratorISJ_EbEDpOT_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(40)) 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: 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: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9benchmark8internal18GetNullLogInstanceEv() local_unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9benchmark8internal12CheckHandlerC2ESt17basic_string_viewIcSt11char_traitsIcEES5_S5_i(ptr noundef nonnull align 8 dereferenceable(8), i64, ptr, i64, ptr, ptr noundef byval(%"class.std::basic_string_view") align 8, 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(592) ptr @_ZNKSt6vectorIN9benchmark17BenchmarkReporter3RunESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #2 align 2

declare void @_ZNK9benchmark17BenchmarkReporter3Run14benchmark_nameB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(592)) local_unnamed_addr #8

; 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 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(16)) 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 @_ZNKSt6vectorIN9benchmark8internal10StatisticsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorIN9benchmark8internal10StatisticsESaIS2_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_cxxneIPKN9benchmark8internal10StatisticsESt6vectorIS3_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(44) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(256) ptr @_ZN9benchmark13BenchmarkNameaSERKS0_(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #4 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: 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: alwaysinline mustprogress nounwind uwtable
declare dso_local void @_ZN9benchmark7CounterC2EdNS0_5FlagsENS0_4OneKE(ptr noundef nonnull align 8 dereferenceable(16), double noundef, i32 noundef, i32 noundef) unnamed_addr #9 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) 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(592)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN9benchmark8internal10StatisticsESt6vectorIS3_SaIS3_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 = { "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 }

!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, !13, i64 392}
!6 = !{!"_ZTSN9benchmark17BenchmarkReporter3RunE", !7, i64 0, !13, i64 256, !13, i64 264, !14, i64 272, !8, i64 280, !15, i64 312, !8, i64 320, !16, i64 352, !8, i64 360, !13, i64 392, !13, i64 400, !13, i64 408, !13, i64 416, !17, i64 424, !18, i64 432, !18, i64 440, !18, i64 448, !19, i64 456, !20, i64 460, !10, i64 464, !13, i64 472, !10, i64 480, !19, i64 488, !19, i64 489, !21, i64 496, !29, i64 544, !18, i64 584}
!7 = !{!"_ZTSN9benchmark13BenchmarkNameE", !8, i64 0, !8, i64 32, !8, i64 64, !8, i64 96, !8, i64 128, !8, i64 160, !8, i64 192, !8, i64 224}
!8 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !9, i64 0, !13, i64 8, !11, i64 16}
!9 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !10, i64 0}
!10 = !{!"any pointer", !11, i64 0}
!11 = !{!"omnipotent char", !12, i64 0}
!12 = !{!"Simple C++ TBAA"}
!13 = !{!"long", !11, i64 0}
!14 = !{!"_ZTSN9benchmark17BenchmarkReporter3Run7RunTypeE", !11, i64 0}
!15 = !{!"_ZTSN9benchmark13StatisticUnitE", !11, i64 0}
!16 = !{!"_ZTSN9benchmark8internal7SkippedE", !11, i64 0}
!17 = !{!"_ZTSN9benchmark8TimeUnitE", !11, i64 0}
!18 = !{!"double", !11, i64 0}
!19 = !{!"bool", !11, i64 0}
!20 = !{!"_ZTSN9benchmark4BigOE", !11, i64 0}
!21 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterESt4lessIS5_ESaISt4pairIKS5_S7_EEE", !22, i64 0}
!22 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N9benchmark7CounterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !23, i64 0}
!23 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N9benchmark7CounterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !24, i64 0, !26, i64 8}
!24 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !25, i64 0}
!25 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!26 = !{!"_ZTSSt15_Rb_tree_header", !27, i64 0, !13, i64 32}
!27 = !{!"_ZTSSt18_Rb_tree_node_base", !28, i64 0, !10, i64 8, !10, i64 16, !10, i64 24}
!28 = !{!"_ZTSSt14_Rb_tree_color", !11, i64 0}
!29 = !{!"_ZTSN9benchmark13MemoryManager6ResultE", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24, !13, i64 32}
!30 = !{i64 0, i64 8, !31, i64 8, i64 4, !32, i64 12, i64 4, !34}
!31 = !{!18, !18, i64 0}
!32 = !{!33, !33, i64 0}
!33 = !{!"_ZTSN9benchmark7Counter5FlagsE", !11, i64 0}
!34 = !{!35, !35, i64 0}
!35 = !{!"_ZTSN9benchmark7Counter4OneKE", !11, i64 0}
!36 = !{!10, !10, i64 0}
!37 = !{!38, !33, i64 40}
!38 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN9benchmark12ComputeStatsERKSt6vectorINS7_17BenchmarkReporter3RunESaISA_EEE11CounterStatE", !8, i64 0, !39, i64 32}
!39 = !{!"_ZTSZN9benchmark12ComputeStatsERKSt6vectorINS_17BenchmarkReporter3RunESaIS2_EEE11CounterStat", !40, i64 0, !41, i64 16}
!40 = !{!"_ZTSN9benchmark7CounterE", !18, i64 0, !33, i64 8, !35, i64 12}
!41 = !{!"_ZTSSt6vectorIdSaIdEE", !42, i64 0}
!42 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !44, i64 0}
!44 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!45 = !{!46, !33, i64 40}
!46 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN9benchmark7CounterEE", !8, i64 0, !40, i64 32}
!47 = !{!6, !16, i64 352}
!48 = distinct !{!48, !49}
!49 = !{!"llvm.loop.mustprogress"}
!50 = !{!6, !10, i64 480}
!51 = !{!6, !13, i64 256}
!52 = !{!6, !13, i64 264}
!53 = !{!6, !14, i64 272}
!54 = !{!6, !13, i64 400}
!55 = !{!6, !13, i64 416}
!56 = !{!6, !13, i64 408}
!57 = !{!58, !15, i64 40}
!58 = !{!"_ZTSN9benchmark8internal10StatisticsE", !8, i64 0, !10, i64 32, !15, i64 40}
!59 = !{!6, !15, i64 312}
!60 = !{!58, !10, i64 32}
!61 = !{!6, !18, i64 432}
!62 = !{!6, !18, i64 440}
!63 = !{!6, !17, i64 424}
!64 = !{!39, !33, i64 8}
!65 = !{!39, !35, i64 12}


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