; LLVM IR from chronoxor/CppBenchmark :: source/benchmark (reporter_console)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::set" = type { %"class.std::_Rb_tree.55" }
%"class.std::_Rb_tree.55" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::_Identity<std::__cxx11::basic_string<char>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::_Identity<std::__cxx11::basic_string<char>>, 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::pair.59" = type <{ %"struct.std::_Rb_tree_const_iterator.61", i8, [7 x i8] }>
%"struct.std::_Rb_tree_const_iterator.61" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.63" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.67" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.70" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.73" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.77" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.80" = type { ptr }
%"class.CppBenchmark::ReporterConsole" = type { %"class.CppBenchmark::Reporter", ptr }
%"class.CppBenchmark::Reporter" = type { ptr }
%"struct.std::pair" = type <{ %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%"struct.std::pair.64" = type <{ %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%"struct.std::pair.68" = type { %"class.std::__cxx11::basic_string", i64 }
%"struct.std::pair.71" = type { %"class.std::__cxx11::basic_string", i64 }
%"struct.std::pair.74" = type <{ %"class.std::__cxx11::basic_string", float, [4 x i8] }>
%"struct.std::pair.78" = type { %"class.std::__cxx11::basic_string", double }
%"struct.std::pair.81" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }

@.str.26 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #0

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12CppBenchmark15ReporterConsole17GenerateSeparatorB5cxx11Ec(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i8 noundef signext) #2 align 2

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #0

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #0

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #4

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN12CppBenchmark15ReporterConsole11ReportPhaseERKNS_9PhaseCoreERKNS_12PhaseMetricsE(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(944) %1, ptr noundef nonnull align 8 dereferenceable(412) %2) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::set", align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %21 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %22 = alloca ptr, align 8
  %23 = alloca %"struct.std::pair.59", align 8
  %24 = alloca ptr, align 8
  %25 = alloca %"struct.std::_Rb_tree_const_iterator.63", align 8
  %26 = alloca %"struct.std::_Rb_tree_const_iterator.63", align 8
  %27 = alloca ptr, align 8
  %28 = alloca %"struct.std::pair.59", align 8
  %29 = alloca ptr, align 8
  %30 = alloca %"struct.std::_Rb_tree_const_iterator.67", align 8
  %31 = alloca %"struct.std::_Rb_tree_const_iterator.67", align 8
  %32 = alloca ptr, align 8
  %33 = alloca %"struct.std::pair.59", align 8
  %34 = alloca ptr, align 8
  %35 = alloca %"struct.std::_Rb_tree_const_iterator.70", align 8
  %36 = alloca %"struct.std::_Rb_tree_const_iterator.70", align 8
  %37 = alloca ptr, align 8
  %38 = alloca %"struct.std::pair.59", align 8
  %39 = alloca ptr, align 8
  %40 = alloca %"struct.std::_Rb_tree_const_iterator.73", align 8
  %41 = alloca %"struct.std::_Rb_tree_const_iterator.73", align 8
  %42 = alloca ptr, align 8
  %43 = alloca %"struct.std::pair.59", align 8
  %44 = alloca ptr, align 8
  %45 = alloca %"struct.std::_Rb_tree_const_iterator.77", align 8
  %46 = alloca %"struct.std::_Rb_tree_const_iterator.77", align 8
  %47 = alloca ptr, align 8
  %48 = alloca %"struct.std::pair.59", align 8
  %49 = alloca ptr, align 8
  %50 = alloca %"struct.std::_Rb_tree_const_iterator.80", align 8
  %51 = alloca %"struct.std::_Rb_tree_const_iterator.80", align 8
  %52 = alloca ptr, align 8
  %53 = alloca %"struct.std::pair.59", align 8
  %54 = alloca ptr, align 8
  %55 = alloca %"struct.std::_Rb_tree_const_iterator.61", align 8
  %56 = alloca %"struct.std::_Rb_tree_const_iterator.61", align 8
  %57 = alloca ptr, align 8
  %58 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %59 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %60 = alloca %"struct.std::_Rb_tree_const_iterator.63", align 8
  %61 = alloca %"struct.std::_Rb_tree_const_iterator.63", align 8
  %62 = alloca %"struct.std::_Rb_tree_const_iterator.67", align 8
  %63 = alloca %"struct.std::_Rb_tree_const_iterator.67", align 8
  %64 = alloca %"struct.std::_Rb_tree_const_iterator.70", align 8
  %65 = alloca %"struct.std::_Rb_tree_const_iterator.70", align 8
  %66 = alloca %"struct.std::_Rb_tree_const_iterator.73", align 8
  %67 = alloca %"struct.std::_Rb_tree_const_iterator.73", align 8
  %68 = alloca %"struct.std::_Rb_tree_const_iterator.77", align 8
  %69 = alloca %"struct.std::_Rb_tree_const_iterator.77", align 8
  %70 = alloca %"struct.std::_Rb_tree_const_iterator.80", align 8
  %71 = alloca %"struct.std::_Rb_tree_const_iterator.80", align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %72 = load ptr, ptr %4, align 8
  %73 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %74 = load ptr, ptr %73, align 8, !tbaa !9
  %75 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %74, i32 noundef 8)
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #6
  call void @_ZN12CppBenchmark15ReporterConsole17GenerateSeparatorB5cxx11Ec(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %7, i8 noundef signext 45)
  %76 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %77 unwind label %143

77:                                               ; preds = %3
  %78 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %79 unwind label %143

79:                                               ; preds = %77
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  %80 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %81 = load ptr, ptr %80, align 8, !tbaa !9
  %82 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %81, i32 noundef 15)
  %83 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef @.str.26)
  %84 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %83, i32 noundef 11)
  %85 = load ptr, ptr %5, align 8, !tbaa !5
  %86 = load ptr, ptr %85, align 8, !tbaa !12
  %87 = getelementptr inbounds ptr, ptr %86, i64 2
  %88 = load ptr, ptr %87, align 8
  %89 = call noundef nonnull align 8 dereferenceable(32) ptr %88(ptr noundef nonnull align 8 dereferenceable(944) %85) #6
  %90 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull align 8 dereferenceable(32) %89)
  %91 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %92 = load ptr, ptr %6, align 8, !tbaa !5
  %93 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16total_operationsEv(ptr noundef nonnull align 8 dereferenceable(412) %92) #6
  %94 = icmp sgt i64 %93, 1
  br i1 %94, label %95, label %208

95:                                               ; preds = %79
  %96 = load ptr, ptr %6, align 8, !tbaa !5
  %97 = call noundef zeroext i1 @_ZNK12CppBenchmark12PhaseMetrics7latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %96) #6
  br i1 %97, label %98, label %155

98:                                               ; preds = %95
  %99 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %100 = load ptr, ptr %99, align 8, !tbaa !9
  %101 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %100, i32 noundef 15)
  %102 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %101, ptr noundef @.str.27)
  %103 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %102, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #6
  %104 = load ptr, ptr %6, align 8, !tbaa !5
  %105 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11min_latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %104) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %10, i64 noundef %105)
  %106 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %107 unwind label %147

107:                                              ; preds = %98
  %108 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef @.str.28)
          to label %109 unwind label %147

109:                                              ; preds = %107
  %110 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %111 unwind label %147

111:                                              ; preds = %109
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  %112 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %113 = load ptr, ptr %112, align 8, !tbaa !9
  %114 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %113, i32 noundef 15)
  %115 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %114, ptr noundef @.str.29)
  %116 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %115, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  %117 = load ptr, ptr %6, align 8, !tbaa !5
  %118 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11max_latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %117) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, i64 noundef %118)
  %119 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %116, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %120 unwind label %151

120:                                              ; preds = %111
  %121 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %119, ptr noundef @.str.28)
          to label %122 unwind label %151

122:                                              ; preds = %120
  %123 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %124 unwind label %151

124:                                              ; preds = %122
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  %125 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %126 = load ptr, ptr %125, align 8, !tbaa !9
  %127 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %126, i32 noundef 15)
  %128 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef @.str.30)
  %129 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %128, i32 noundef 14)
  %130 = load ptr, ptr %6, align 8, !tbaa !5
  %131 = call noundef double @_ZNK12CppBenchmark12PhaseMetrics12mean_latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %130) #6
  %132 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %129, double noundef %131)
  %133 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %132, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %134 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %135 = load ptr, ptr %134, align 8, !tbaa !9
  %136 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %135, i32 noundef 15)
  %137 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %136, ptr noundef @.str.31)
  %138 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %137, i32 noundef 14)
  %139 = load ptr, ptr %6, align 8, !tbaa !5
  %140 = call noundef double @_ZNK12CppBenchmark12PhaseMetrics12stdv_latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %139) #6
  %141 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %138, double noundef %140)
  %142 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %141, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %207

143:                                              ; preds = %77, %3
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %8, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  br label %847

147:                                              ; preds = %109, %107, %98
  %148 = landingpad { ptr, i32 }
          cleanup
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %8, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  br label %847

151:                                              ; preds = %122, %120, %111
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %8, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  br label %847

155:                                              ; preds = %95
  %156 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %157 = load ptr, ptr %156, align 8, !tbaa !9
  %158 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %157, i32 noundef 15)
  %159 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %158, ptr noundef @.str.32)
  %160 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %159, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #6
  %161 = load ptr, ptr %6, align 8, !tbaa !5
  %162 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8avg_timeEv(ptr noundef nonnull align 8 dereferenceable(412) %161) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %12, i64 noundef %162)
  %163 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %164 unwind label %195

164:                                              ; preds = %155
  %165 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %163, ptr noundef @.str.28)
          to label %166 unwind label %195

166:                                              ; preds = %164
  %167 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %165, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %168 unwind label %195

168:                                              ; preds = %166
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #6
  %169 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %170 = load ptr, ptr %169, align 8, !tbaa !9
  %171 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %170, i32 noundef 15)
  %172 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %171, ptr noundef @.str.33)
  %173 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %172, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #6
  %174 = load ptr, ptr %6, align 8, !tbaa !5
  %175 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8min_timeEv(ptr noundef nonnull align 8 dereferenceable(412) %174) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, i64 noundef %175)
  %176 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %173, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %177 unwind label %199

177:                                              ; preds = %168
  %178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %176, ptr noundef @.str.28)
          to label %179 unwind label %199

179:                                              ; preds = %177
  %180 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %178, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %181 unwind label %199

181:                                              ; preds = %179
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  %182 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %183 = load ptr, ptr %182, align 8, !tbaa !9
  %184 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %183, i32 noundef 15)
  %185 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef @.str.34)
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %185, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #6
  %187 = load ptr, ptr %6, align 8, !tbaa !5
  %188 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8max_timeEv(ptr noundef nonnull align 8 dereferenceable(412) %187) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, i64 noundef %188)
  %189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %190 unwind label %203

190:                                              ; preds = %181
  %191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %189, ptr noundef @.str.28)
          to label %192 unwind label %203

192:                                              ; preds = %190
  %193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %191, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %194 unwind label %203

194:                                              ; preds = %192
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  br label %207

195:                                              ; preds = %166, %164, %155
  %196 = landingpad { ptr, i32 }
          cleanup
  %197 = extractvalue { ptr, i32 } %196, 0
  store ptr %197, ptr %8, align 8
  %198 = extractvalue { ptr, i32 } %196, 1
  store i32 %198, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #6
  br label %847

199:                                              ; preds = %179, %177, %168
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %8, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  br label %847

203:                                              ; preds = %192, %190, %181
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %8, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  br label %847

207:                                              ; preds = %194, %124
  br label %208

208:                                              ; preds = %207, %79
  %209 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %210 = load ptr, ptr %209, align 8, !tbaa !9
  %211 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %210, i32 noundef 15)
  %212 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef @.str.35)
  %213 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %212, i32 noundef 12)
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  %214 = load ptr, ptr %6, align 8, !tbaa !5
  %215 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics10total_timeEv(ptr noundef nonnull align 8 dereferenceable(412) %214) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, i64 noundef %215)
  %216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %213, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %217 unwind label %233

217:                                              ; preds = %208
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %216, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %219 unwind label %233

219:                                              ; preds = %217
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  %220 = load ptr, ptr %6, align 8, !tbaa !5
  %221 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16total_operationsEv(ptr noundef nonnull align 8 dereferenceable(412) %220) #6
  %222 = icmp sgt i64 %221, 1
  br i1 %222, label %223, label %237

223:                                              ; preds = %219
  %224 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %225 = load ptr, ptr %224, align 8, !tbaa !9
  %226 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %225, i32 noundef 15)
  %227 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %226, ptr noundef @.str.36)
  %228 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %227, i32 noundef 10)
  %229 = load ptr, ptr %6, align 8, !tbaa !5
  %230 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16total_operationsEv(ptr noundef nonnull align 8 dereferenceable(412) %229) #6
  %231 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %228, i64 noundef %230)
  %232 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %231, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %237

233:                                              ; preds = %217, %208
  %234 = landingpad { ptr, i32 }
          cleanup
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %8, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  br label %847

237:                                              ; preds = %223, %219
  %238 = load ptr, ptr %6, align 8, !tbaa !5
  %239 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_itemsEv(ptr noundef nonnull align 8 dereferenceable(412) %238) #6
  %240 = icmp sgt i64 %239, 0
  br i1 %240, label %241, label %251

241:                                              ; preds = %237
  %242 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %243 = load ptr, ptr %242, align 8, !tbaa !9
  %244 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %243, i32 noundef 15)
  %245 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef @.str.37)
  %246 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %245, i32 noundef 13)
  %247 = load ptr, ptr %6, align 8, !tbaa !5
  %248 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_itemsEv(ptr noundef nonnull align 8 dereferenceable(412) %247) #6
  %249 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %246, i64 noundef %248)
  %250 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %249, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %251

251:                                              ; preds = %241, %237
  %252 = load ptr, ptr %6, align 8, !tbaa !5
  %253 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_bytesEv(ptr noundef nonnull align 8 dereferenceable(412) %252) #6
  %254 = icmp sgt i64 %253, 0
  br i1 %254, label %255, label %271

255:                                              ; preds = %251
  %256 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %257 = load ptr, ptr %256, align 8, !tbaa !9
  %258 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %257, i32 noundef 15)
  %259 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %258, ptr noundef @.str.38)
  %260 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %259, i32 noundef 5)
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #6
  %261 = load ptr, ptr %6, align 8, !tbaa !5
  %262 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_bytesEv(ptr noundef nonnull align 8 dereferenceable(412) %261) #6
  call void @_ZN12CppBenchmark15ReporterConsole16GenerateDataSizeB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, i64 noundef %262)
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %260, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %264 unwind label %267

264:                                              ; preds = %255
  %265 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %263, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %266 unwind label %267

266:                                              ; preds = %264
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  br label %271

267:                                              ; preds = %264, %255
  %268 = landingpad { ptr, i32 }
          cleanup
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %8, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  br label %847

271:                                              ; preds = %266, %251
  %272 = load ptr, ptr %6, align 8, !tbaa !5
  %273 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16total_operationsEv(ptr noundef nonnull align 8 dereferenceable(412) %272) #6
  %274 = icmp sgt i64 %273, 1
  br i1 %274, label %275, label %286

275:                                              ; preds = %271
  %276 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %277 = load ptr, ptr %276, align 8, !tbaa !9
  %278 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %277, i32 noundef 15)
  %279 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %278, ptr noundef @.str.39)
  %280 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %279, i32 noundef 10)
  %281 = load ptr, ptr %6, align 8, !tbaa !5
  %282 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics21operations_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412) %281) #6
  %283 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %280, i64 noundef %282)
  %284 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %283, ptr noundef @.str.40)
  %285 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %284, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %286

286:                                              ; preds = %275, %271
  %287 = load ptr, ptr %6, align 8, !tbaa !5
  %288 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_itemsEv(ptr noundef nonnull align 8 dereferenceable(412) %287) #6
  %289 = icmp sgt i64 %288, 0
  br i1 %289, label %290, label %301

290:                                              ; preds = %286
  %291 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %292 = load ptr, ptr %291, align 8, !tbaa !9
  %293 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %292, i32 noundef 15)
  %294 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %293, ptr noundef @.str.41)
  %295 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %294, i32 noundef 13)
  %296 = load ptr, ptr %6, align 8, !tbaa !5
  %297 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16items_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412) %296) #6
  %298 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %295, i64 noundef %297)
  %299 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %298, ptr noundef @.str.42)
  %300 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %299, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %301

301:                                              ; preds = %290, %286
  %302 = load ptr, ptr %6, align 8, !tbaa !5
  %303 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_bytesEv(ptr noundef nonnull align 8 dereferenceable(412) %302) #6
  %304 = icmp sgt i64 %303, 0
  br i1 %304, label %305, label %323

305:                                              ; preds = %301
  %306 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %307 = load ptr, ptr %306, align 8, !tbaa !9
  %308 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %307, i32 noundef 15)
  %309 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %308, ptr noundef @.str.43)
  %310 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %309, i32 noundef 5)
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  %311 = load ptr, ptr %6, align 8, !tbaa !5
  %312 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16bytes_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412) %311) #6
  call void @_ZN12CppBenchmark15ReporterConsole16GenerateDataSizeB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, i64 noundef %312)
  %313 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %310, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %314 unwind label %319

314:                                              ; preds = %305
  %315 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %313, ptr noundef @.str.44)
          to label %316 unwind label %319

316:                                              ; preds = %314
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %315, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %318 unwind label %319

318:                                              ; preds = %316
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br label %323

319:                                              ; preds = %316, %314, %305
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %8, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br label %847

323:                                              ; preds = %318, %301
  %324 = load ptr, ptr %6, align 8, !tbaa !5
  %325 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_intB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %324) #6
  %326 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %325) #6
  %327 = icmp ugt i64 %326, 0
  br i1 %327, label %358, label %328

328:                                              ; preds = %323
  %329 = load ptr, ptr %6, align 8, !tbaa !5
  %330 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics11custom_uintB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %329) #6
  %331 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %330) #6
  %332 = icmp ugt i64 %331, 0
  br i1 %332, label %358, label %333

333:                                              ; preds = %328
  %334 = load ptr, ptr %6, align 8, !tbaa !5
  %335 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics12custom_int64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %334) #6
  %336 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %335) #6
  %337 = icmp ugt i64 %336, 0
  br i1 %337, label %358, label %338

338:                                              ; preds = %333
  %339 = load ptr, ptr %6, align 8, !tbaa !5
  %340 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics13custom_uint64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %339) #6
  %341 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %340) #6
  %342 = icmp ugt i64 %341, 0
  br i1 %342, label %358, label %343

343:                                              ; preds = %338
  %344 = load ptr, ptr %6, align 8, !tbaa !5
  %345 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_fltB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %344) #6
  %346 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %345) #6
  %347 = icmp ugt i64 %346, 0
  br i1 %347, label %358, label %348

348:                                              ; preds = %343
  %349 = load ptr, ptr %6, align 8, !tbaa !5
  %350 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_dblB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %349) #6
  %351 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %350) #6
  %352 = icmp ugt i64 %351, 0
  br i1 %352, label %358, label %353

353:                                              ; preds = %348
  %354 = load ptr, ptr %6, align 8, !tbaa !5
  %355 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_strB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %354) #6
  %356 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %355) #6
  %357 = icmp ugt i64 %356, 0
  br i1 %357, label %358, label %846

358:                                              ; preds = %353, %348, %343, %338, %333, %328, %323
  %359 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %360 = load ptr, ptr %359, align 8, !tbaa !9
  %361 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %360, i32 noundef 15)
  %362 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %361, ptr noundef @.str.45)
  %363 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %362, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 48, ptr %18) #6
  call void @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #6
  %364 = load ptr, ptr %6, align 8, !tbaa !5
  %365 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_intB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %364) #6
  store ptr %365, ptr %19, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  %366 = load ptr, ptr %19, align 8, !tbaa !5
  %367 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %366) #6
  %368 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %20, i32 0, i32 0
  store ptr %367, ptr %368, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #6
  %369 = load ptr, ptr %19, align 8, !tbaa !5
  %370 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %369) #6
  %371 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %21, i32 0, i32 0
  store ptr %370, ptr %371, align 8
  br label %372

372:                                              ; preds = %385, %358
  %373 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #6
  br i1 %373, label %375, label %374

374:                                              ; preds = %372
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  br label %391

375:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #6
  %376 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #6
  store ptr %376, ptr %22, align 8, !tbaa !5
  %377 = load ptr, ptr %22, align 8, !tbaa !5
  %378 = getelementptr inbounds %"struct.std::pair", ptr %377, i32 0, i32 0
  %379 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %378)
          to label %380 unwind label %387

380:                                              ; preds = %375
  %381 = getelementptr inbounds { ptr, i8 }, ptr %23, i32 0, i32 0
  %382 = extractvalue { ptr, i8 } %379, 0
  store ptr %382, ptr %381, align 8
  %383 = getelementptr inbounds { ptr, i8 }, ptr %23, i32 0, i32 1
  %384 = extractvalue { ptr, i8 } %379, 1
  store i8 %384, ptr %383, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #6
  br label %385

385:                                              ; preds = %380
  %386 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #6
  br label %372

387:                                              ; preds = %375
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %8, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  br label %845

391:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  %392 = load ptr, ptr %6, align 8, !tbaa !5
  %393 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics11custom_uintB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %392) #6
  store ptr %393, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  %394 = load ptr, ptr %24, align 8, !tbaa !5
  %395 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %394) #6
  %396 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.63", ptr %25, i32 0, i32 0
  store ptr %395, ptr %396, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #6
  %397 = load ptr, ptr %24, align 8, !tbaa !5
  %398 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %397) #6
  %399 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.63", ptr %26, i32 0, i32 0
  store ptr %398, ptr %399, align 8
  br label %400

400:                                              ; preds = %413, %391
  %401 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEESB_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #6
  br i1 %401, label %403, label %402

402:                                              ; preds = %400
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  br label %419

403:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #6
  %404 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #6
  store ptr %404, ptr %27, align 8, !tbaa !5
  %405 = load ptr, ptr %27, align 8, !tbaa !5
  %406 = getelementptr inbounds %"struct.std::pair.64", ptr %405, i32 0, i32 0
  %407 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %406)
          to label %408 unwind label %415

408:                                              ; preds = %403
  %409 = getelementptr inbounds { ptr, i8 }, ptr %28, i32 0, i32 0
  %410 = extractvalue { ptr, i8 } %407, 0
  store ptr %410, ptr %409, align 8
  %411 = getelementptr inbounds { ptr, i8 }, ptr %28, i32 0, i32 1
  %412 = extractvalue { ptr, i8 } %407, 1
  store i8 %412, ptr %411, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  br label %413

413:                                              ; preds = %408
  %414 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #6
  br label %400

415:                                              ; preds = %403
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %8, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  br label %845

419:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #6
  %420 = load ptr, ptr %6, align 8, !tbaa !5
  %421 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics12custom_int64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %420) #6
  store ptr %421, ptr %29, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  %422 = load ptr, ptr %29, align 8, !tbaa !5
  %423 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %422) #6
  %424 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.67", ptr %30, i32 0, i32 0
  store ptr %423, ptr %424, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #6
  %425 = load ptr, ptr %29, align 8, !tbaa !5
  %426 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %425) #6
  %427 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.67", ptr %31, i32 0, i32 0
  store ptr %426, ptr %427, align 8
  br label %428

428:                                              ; preds = %441, %419
  %429 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEESB_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %31) #6
  br i1 %429, label %431, label %430

430:                                              ; preds = %428
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  br label %447

431:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #6
  %432 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %30) #6
  store ptr %432, ptr %32, align 8, !tbaa !5
  %433 = load ptr, ptr %32, align 8, !tbaa !5
  %434 = getelementptr inbounds %"struct.std::pair.68", ptr %433, i32 0, i32 0
  %435 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %434)
          to label %436 unwind label %443

436:                                              ; preds = %431
  %437 = getelementptr inbounds { ptr, i8 }, ptr %33, i32 0, i32 0
  %438 = extractvalue { ptr, i8 } %435, 0
  store ptr %438, ptr %437, align 8
  %439 = getelementptr inbounds { ptr, i8 }, ptr %33, i32 0, i32 1
  %440 = extractvalue { ptr, i8 } %435, 1
  store i8 %440, ptr %439, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  br label %441

441:                                              ; preds = %436
  %442 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %30) #6
  br label %428

443:                                              ; preds = %431
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %8, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  br label %845

447:                                              ; preds = %430
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #6
  %448 = load ptr, ptr %6, align 8, !tbaa !5
  %449 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics13custom_uint64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %448) #6
  store ptr %449, ptr %34, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #6
  %450 = load ptr, ptr %34, align 8, !tbaa !5
  %451 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %450) #6
  %452 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.70", ptr %35, i32 0, i32 0
  store ptr %451, ptr %452, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #6
  %453 = load ptr, ptr %34, align 8, !tbaa !5
  %454 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %453) #6
  %455 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.70", ptr %36, i32 0, i32 0
  store ptr %454, ptr %455, align 8
  br label %456

456:                                              ; preds = %469, %447
  %457 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEESB_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %36) #6
  br i1 %457, label %459, label %458

458:                                              ; preds = %456
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  br label %475

459:                                              ; preds = %456
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #6
  %460 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #6
  store ptr %460, ptr %37, align 8, !tbaa !5
  %461 = load ptr, ptr %37, align 8, !tbaa !5
  %462 = getelementptr inbounds %"struct.std::pair.71", ptr %461, i32 0, i32 0
  %463 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %462)
          to label %464 unwind label %471

464:                                              ; preds = %459
  %465 = getelementptr inbounds { ptr, i8 }, ptr %38, i32 0, i32 0
  %466 = extractvalue { ptr, i8 } %463, 0
  store ptr %466, ptr %465, align 8
  %467 = getelementptr inbounds { ptr, i8 }, ptr %38, i32 0, i32 1
  %468 = extractvalue { ptr, i8 } %463, 1
  store i8 %468, ptr %467, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  br label %469

469:                                              ; preds = %464
  %470 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #6
  br label %456

471:                                              ; preds = %459
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %8, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  br label %845

475:                                              ; preds = %458
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #6
  %476 = load ptr, ptr %6, align 8, !tbaa !5
  %477 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_fltB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %476) #6
  store ptr %477, ptr %39, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #6
  %478 = load ptr, ptr %39, align 8, !tbaa !5
  %479 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %478) #6
  %480 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.73", ptr %40, i32 0, i32 0
  store ptr %479, ptr %480, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #6
  %481 = load ptr, ptr %39, align 8, !tbaa !5
  %482 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %481) #6
  %483 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.73", ptr %41, i32 0, i32 0
  store ptr %482, ptr %483, align 8
  br label %484

484:                                              ; preds = %497, %475
  %485 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEESB_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %41) #6
  br i1 %485, label %487, label %486

486:                                              ; preds = %484
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #6
  br label %503

487:                                              ; preds = %484
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #6
  %488 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #6
  store ptr %488, ptr %42, align 8, !tbaa !5
  %489 = load ptr, ptr %42, align 8, !tbaa !5
  %490 = getelementptr inbounds %"struct.std::pair.74", ptr %489, i32 0, i32 0
  %491 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %490)
          to label %492 unwind label %499

492:                                              ; preds = %487
  %493 = getelementptr inbounds { ptr, i8 }, ptr %43, i32 0, i32 0
  %494 = extractvalue { ptr, i8 } %491, 0
  store ptr %494, ptr %493, align 8
  %495 = getelementptr inbounds { ptr, i8 }, ptr %43, i32 0, i32 1
  %496 = extractvalue { ptr, i8 } %491, 1
  store i8 %496, ptr %495, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  br label %497

497:                                              ; preds = %492
  %498 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #6
  br label %484

499:                                              ; preds = %487
  %500 = landingpad { ptr, i32 }
          cleanup
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %8, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #6
  br label %845

503:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #6
  %504 = load ptr, ptr %6, align 8, !tbaa !5
  %505 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_dblB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %504) #6
  store ptr %505, ptr %44, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  %506 = load ptr, ptr %44, align 8, !tbaa !5
  %507 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %506) #6
  %508 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.77", ptr %45, i32 0, i32 0
  store ptr %507, ptr %508, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #6
  %509 = load ptr, ptr %44, align 8, !tbaa !5
  %510 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %509) #6
  %511 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.77", ptr %46, i32 0, i32 0
  store ptr %510, ptr %511, align 8
  br label %512

512:                                              ; preds = %525, %503
  %513 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEESB_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %46) #6
  br i1 %513, label %515, label %514

514:                                              ; preds = %512
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  br label %531

515:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #6
  %516 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %45) #6
  store ptr %516, ptr %47, align 8, !tbaa !5
  %517 = load ptr, ptr %47, align 8, !tbaa !5
  %518 = getelementptr inbounds %"struct.std::pair.78", ptr %517, i32 0, i32 0
  %519 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %518)
          to label %520 unwind label %527

520:                                              ; preds = %515
  %521 = getelementptr inbounds { ptr, i8 }, ptr %48, i32 0, i32 0
  %522 = extractvalue { ptr, i8 } %519, 0
  store ptr %522, ptr %521, align 8
  %523 = getelementptr inbounds { ptr, i8 }, ptr %48, i32 0, i32 1
  %524 = extractvalue { ptr, i8 } %519, 1
  store i8 %524, ptr %523, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  br label %525

525:                                              ; preds = %520
  %526 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %45) #6
  br label %512

527:                                              ; preds = %515
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %8, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  br label %845

531:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #6
  %532 = load ptr, ptr %6, align 8, !tbaa !5
  %533 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_strB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %532) #6
  store ptr %533, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #6
  %534 = load ptr, ptr %49, align 8, !tbaa !5
  %535 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %534) #6
  %536 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.80", ptr %50, i32 0, i32 0
  store ptr %535, ptr %536, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #6
  %537 = load ptr, ptr %49, align 8, !tbaa !5
  %538 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %537) #6
  %539 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.80", ptr %51, i32 0, i32 0
  store ptr %538, ptr %539, align 8
  br label %540

540:                                              ; preds = %553, %531
  %541 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef nonnull align 8 dereferenceable(8) %51) #6
  br i1 %541, label %543, label %542

542:                                              ; preds = %540
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  br label %559

543:                                              ; preds = %540
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #6
  %544 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #6
  store ptr %544, ptr %52, align 8, !tbaa !5
  %545 = load ptr, ptr %52, align 8, !tbaa !5
  %546 = getelementptr inbounds %"struct.std::pair.81", ptr %545, i32 0, i32 0
  %547 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %546)
          to label %548 unwind label %555

548:                                              ; preds = %543
  %549 = getelementptr inbounds { ptr, i8 }, ptr %53, i32 0, i32 0
  %550 = extractvalue { ptr, i8 } %547, 0
  store ptr %550, ptr %549, align 8
  %551 = getelementptr inbounds { ptr, i8 }, ptr %53, i32 0, i32 1
  %552 = extractvalue { ptr, i8 } %547, 1
  store i8 %552, ptr %551, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  br label %553

553:                                              ; preds = %548
  %554 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEppEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #6
  br label %540

555:                                              ; preds = %543
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %8, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  br label %845

559:                                              ; preds = %542
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #6
  store ptr %18, ptr %54, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #6
  %560 = load ptr, ptr %54, align 8, !tbaa !5
  %561 = call ptr @_ZNKSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %560) #6
  %562 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.61", ptr %55, i32 0, i32 0
  store ptr %561, ptr %562, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #6
  %563 = load ptr, ptr %54, align 8, !tbaa !5
  %564 = call ptr @_ZNKSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %563) #6
  %565 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.61", ptr %56, i32 0, i32 0
  store ptr %564, ptr %565, align 8
  br label %566

566:                                              ; preds = %836, %559
  %567 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES8_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56) #6
  br i1 %567, label %569, label %568

568:                                              ; preds = %566
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #6
  br label %844

569:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #6
  %570 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt23_Rb_tree_const_iteratorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %55) #6
  store ptr %570, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #6
  %571 = load ptr, ptr %6, align 8, !tbaa !5
  %572 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_intB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %571) #6
  %573 = load ptr, ptr %57, align 8, !tbaa !5
  %574 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %572, ptr noundef nonnull align 8 dereferenceable(32) %573)
          to label %575 unwind label %604

575:                                              ; preds = %569
  %576 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %58, i32 0, i32 0
  store ptr %574, ptr %576, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #6
  %577 = load ptr, ptr %6, align 8, !tbaa !5
  %578 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_intB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %577) #6
  %579 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %578) #6
  %580 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %59, i32 0, i32 0
  store ptr %579, ptr %580, align 8
  %581 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #6
  br i1 %581, label %582, label %608

582:                                              ; preds = %575
  %583 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %584 = load ptr, ptr %583, align 8, !tbaa !9
  %585 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %584, i32 noundef 8)
          to label %586 unwind label %604

586:                                              ; preds = %582
  %587 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %585, i8 noundef signext 9)
          to label %588 unwind label %604

588:                                              ; preds = %586
  %589 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58) #6
  %590 = getelementptr inbounds %"struct.std::pair", ptr %589, i32 0, i32 0
  %591 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %587, ptr noundef nonnull align 8 dereferenceable(32) %590)
          to label %592 unwind label %604

592:                                              ; preds = %588
  %593 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %591, ptr noundef @.str.46)
          to label %594 unwind label %604

594:                                              ; preds = %592
  %595 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %593, i32 noundef 7)
          to label %596 unwind label %604

596:                                              ; preds = %594
  %597 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58) #6
  %598 = getelementptr inbounds %"struct.std::pair", ptr %597, i32 0, i32 1
  %599 = load i32, ptr %598, align 8, !tbaa !14
  %600 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %595, i32 noundef %599)
          to label %601 unwind label %604

601:                                              ; preds = %596
  %602 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %600, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %603 unwind label %604

603:                                              ; preds = %601
  br label %608

604:                                              ; preds = %601, %596, %594, %592, %588, %586, %582, %569
  %605 = landingpad { ptr, i32 }
          cleanup
  %606 = extractvalue { ptr, i32 } %605, 0
  store ptr %606, ptr %8, align 8
  %607 = extractvalue { ptr, i32 } %605, 1
  store i32 %607, ptr %9, align 4
  br label %843

608:                                              ; preds = %603, %575
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #6
  %609 = load ptr, ptr %6, align 8, !tbaa !5
  %610 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics11custom_uintB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %609) #6
  %611 = load ptr, ptr %57, align 8, !tbaa !5
  %612 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %610, ptr noundef nonnull align 8 dereferenceable(32) %611)
          to label %613 unwind label %642

613:                                              ; preds = %608
  %614 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.63", ptr %60, i32 0, i32 0
  store ptr %612, ptr %614, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #6
  %615 = load ptr, ptr %6, align 8, !tbaa !5
  %616 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics11custom_uintB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %615) #6
  %617 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %616) #6
  %618 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.63", ptr %61, i32 0, i32 0
  store ptr %617, ptr %618, align 8
  %619 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEESB_(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull align 8 dereferenceable(8) %61) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #6
  br i1 %619, label %620, label %646

620:                                              ; preds = %613
  %621 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %622 = load ptr, ptr %621, align 8, !tbaa !9
  %623 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %622, i32 noundef 8)
          to label %624 unwind label %642

624:                                              ; preds = %620
  %625 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %623, i8 noundef signext 9)
          to label %626 unwind label %642

626:                                              ; preds = %624
  %627 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60) #6
  %628 = getelementptr inbounds %"struct.std::pair.64", ptr %627, i32 0, i32 0
  %629 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %625, ptr noundef nonnull align 8 dereferenceable(32) %628)
          to label %630 unwind label %642

630:                                              ; preds = %626
  %631 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %629, ptr noundef @.str.46)
          to label %632 unwind label %642

632:                                              ; preds = %630
  %633 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %631, i32 noundef 7)
          to label %634 unwind label %642

634:                                              ; preds = %632
  %635 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60) #6
  %636 = getelementptr inbounds %"struct.std::pair.64", ptr %635, i32 0, i32 1
  %637 = load i32, ptr %636, align 8, !tbaa !20
  %638 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %633, i32 noundef %637)
          to label %639 unwind label %642

639:                                              ; preds = %634
  %640 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %638, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %641 unwind label %642

641:                                              ; preds = %639
  br label %646

642:                                              ; preds = %639, %634, %632, %630, %626, %624, %620, %608
  %643 = landingpad { ptr, i32 }
          cleanup
  %644 = extractvalue { ptr, i32 } %643, 0
  store ptr %644, ptr %8, align 8
  %645 = extractvalue { ptr, i32 } %643, 1
  store i32 %645, ptr %9, align 4
  br label %842

646:                                              ; preds = %641, %613
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #6
  %647 = load ptr, ptr %6, align 8, !tbaa !5
  %648 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics12custom_int64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %647) #6
  %649 = load ptr, ptr %57, align 8, !tbaa !5
  %650 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %648, ptr noundef nonnull align 8 dereferenceable(32) %649)
          to label %651 unwind label %680

651:                                              ; preds = %646
  %652 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.67", ptr %62, i32 0, i32 0
  store ptr %650, ptr %652, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #6
  %653 = load ptr, ptr %6, align 8, !tbaa !5
  %654 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics12custom_int64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %653) #6
  %655 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %654) #6
  %656 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.67", ptr %63, i32 0, i32 0
  store ptr %655, ptr %656, align 8
  %657 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEESB_(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef nonnull align 8 dereferenceable(8) %63) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #6
  br i1 %657, label %658, label %684

658:                                              ; preds = %651
  %659 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %660 = load ptr, ptr %659, align 8, !tbaa !9
  %661 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %660, i32 noundef 8)
          to label %662 unwind label %680

662:                                              ; preds = %658
  %663 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %661, i8 noundef signext 9)
          to label %664 unwind label %680

664:                                              ; preds = %662
  %665 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %62) #6
  %666 = getelementptr inbounds %"struct.std::pair.68", ptr %665, i32 0, i32 0
  %667 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %663, ptr noundef nonnull align 8 dereferenceable(32) %666)
          to label %668 unwind label %680

668:                                              ; preds = %664
  %669 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %667, ptr noundef @.str.46)
          to label %670 unwind label %680

670:                                              ; preds = %668
  %671 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %669, i32 noundef 7)
          to label %672 unwind label %680

672:                                              ; preds = %670
  %673 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %62) #6
  %674 = getelementptr inbounds %"struct.std::pair.68", ptr %673, i32 0, i32 1
  %675 = load i64, ptr %674, align 8, !tbaa !22
  %676 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %671, i64 noundef %675)
          to label %677 unwind label %680

677:                                              ; preds = %672
  %678 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %676, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %679 unwind label %680

679:                                              ; preds = %677
  br label %684

680:                                              ; preds = %677, %672, %670, %668, %664, %662, %658, %646
  %681 = landingpad { ptr, i32 }
          cleanup
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %8, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %9, align 4
  br label %841

684:                                              ; preds = %679, %651
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #6
  %685 = load ptr, ptr %6, align 8, !tbaa !5
  %686 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics13custom_uint64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %685) #6
  %687 = load ptr, ptr %57, align 8, !tbaa !5
  %688 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %686, ptr noundef nonnull align 8 dereferenceable(32) %687)
          to label %689 unwind label %718

689:                                              ; preds = %684
  %690 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.70", ptr %64, i32 0, i32 0
  store ptr %688, ptr %690, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #6
  %691 = load ptr, ptr %6, align 8, !tbaa !5
  %692 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics13custom_uint64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %691) #6
  %693 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %692) #6
  %694 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.70", ptr %65, i32 0, i32 0
  store ptr %693, ptr %694, align 8
  %695 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEESB_(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %65) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #6
  br i1 %695, label %696, label %722

696:                                              ; preds = %689
  %697 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %698 = load ptr, ptr %697, align 8, !tbaa !9
  %699 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %698, i32 noundef 8)
          to label %700 unwind label %718

700:                                              ; preds = %696
  %701 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %699, i8 noundef signext 9)
          to label %702 unwind label %718

702:                                              ; preds = %700
  %703 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %64) #6
  %704 = getelementptr inbounds %"struct.std::pair.71", ptr %703, i32 0, i32 0
  %705 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %701, ptr noundef nonnull align 8 dereferenceable(32) %704)
          to label %706 unwind label %718

706:                                              ; preds = %702
  %707 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %705, ptr noundef @.str.46)
          to label %708 unwind label %718

708:                                              ; preds = %706
  %709 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %707, i32 noundef 7)
          to label %710 unwind label %718

710:                                              ; preds = %708
  %711 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %64) #6
  %712 = getelementptr inbounds %"struct.std::pair.71", ptr %711, i32 0, i32 1
  %713 = load i64, ptr %712, align 8, !tbaa !24
  %714 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %709, i64 noundef %713)
          to label %715 unwind label %718

715:                                              ; preds = %710
  %716 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %714, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %717 unwind label %718

717:                                              ; preds = %715
  br label %722

718:                                              ; preds = %715, %710, %708, %706, %702, %700, %696, %684
  %719 = landingpad { ptr, i32 }
          cleanup
  %720 = extractvalue { ptr, i32 } %719, 0
  store ptr %720, ptr %8, align 8
  %721 = extractvalue { ptr, i32 } %719, 1
  store i32 %721, ptr %9, align 4
  br label %840

722:                                              ; preds = %717, %689
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #6
  %723 = load ptr, ptr %6, align 8, !tbaa !5
  %724 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_fltB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %723) #6
  %725 = load ptr, ptr %57, align 8, !tbaa !5
  %726 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %724, ptr noundef nonnull align 8 dereferenceable(32) %725)
          to label %727 unwind label %756

727:                                              ; preds = %722
  %728 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.73", ptr %66, i32 0, i32 0
  store ptr %726, ptr %728, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #6
  %729 = load ptr, ptr %6, align 8, !tbaa !5
  %730 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_fltB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %729) #6
  %731 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %730) #6
  %732 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.73", ptr %67, i32 0, i32 0
  store ptr %731, ptr %732, align 8
  %733 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEESB_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 8 dereferenceable(8) %67) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #6
  br i1 %733, label %734, label %760

734:                                              ; preds = %727
  %735 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %736 = load ptr, ptr %735, align 8, !tbaa !9
  %737 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %736, i32 noundef 8)
          to label %738 unwind label %756

738:                                              ; preds = %734
  %739 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %737, i8 noundef signext 9)
          to label %740 unwind label %756

740:                                              ; preds = %738
  %741 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66) #6
  %742 = getelementptr inbounds %"struct.std::pair.74", ptr %741, i32 0, i32 0
  %743 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %739, ptr noundef nonnull align 8 dereferenceable(32) %742)
          to label %744 unwind label %756

744:                                              ; preds = %740
  %745 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %743, ptr noundef @.str.46)
          to label %746 unwind label %756

746:                                              ; preds = %744
  %747 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %745, i32 noundef 7)
          to label %748 unwind label %756

748:                                              ; preds = %746
  %749 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66) #6
  %750 = getelementptr inbounds %"struct.std::pair.74", ptr %749, i32 0, i32 1
  %751 = load float, ptr %750, align 8, !tbaa !26
  %752 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %747, float noundef %751)
          to label %753 unwind label %756

753:                                              ; preds = %748
  %754 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %752, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %755 unwind label %756

755:                                              ; preds = %753
  br label %760

756:                                              ; preds = %753, %748, %746, %744, %740, %738, %734, %722
  %757 = landingpad { ptr, i32 }
          cleanup
  %758 = extractvalue { ptr, i32 } %757, 0
  store ptr %758, ptr %8, align 8
  %759 = extractvalue { ptr, i32 } %757, 1
  store i32 %759, ptr %9, align 4
  br label %839

760:                                              ; preds = %755, %727
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #6
  %761 = load ptr, ptr %6, align 8, !tbaa !5
  %762 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_dblB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %761) #6
  %763 = load ptr, ptr %57, align 8, !tbaa !5
  %764 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %762, ptr noundef nonnull align 8 dereferenceable(32) %763)
          to label %765 unwind label %794

765:                                              ; preds = %760
  %766 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.77", ptr %68, i32 0, i32 0
  store ptr %764, ptr %766, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #6
  %767 = load ptr, ptr %6, align 8, !tbaa !5
  %768 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_dblB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %767) #6
  %769 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %768) #6
  %770 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.77", ptr %69, i32 0, i32 0
  store ptr %769, ptr %770, align 8
  %771 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEESB_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %69) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #6
  br i1 %771, label %772, label %798

772:                                              ; preds = %765
  %773 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %774 = load ptr, ptr %773, align 8, !tbaa !9
  %775 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %774, i32 noundef 8)
          to label %776 unwind label %794

776:                                              ; preds = %772
  %777 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %775, i8 noundef signext 9)
          to label %778 unwind label %794

778:                                              ; preds = %776
  %779 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68) #6
  %780 = getelementptr inbounds %"struct.std::pair.78", ptr %779, i32 0, i32 0
  %781 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %777, ptr noundef nonnull align 8 dereferenceable(32) %780)
          to label %782 unwind label %794

782:                                              ; preds = %778
  %783 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %781, ptr noundef @.str.46)
          to label %784 unwind label %794

784:                                              ; preds = %782
  %785 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %783, i32 noundef 7)
          to label %786 unwind label %794

786:                                              ; preds = %784
  %787 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68) #6
  %788 = getelementptr inbounds %"struct.std::pair.78", ptr %787, i32 0, i32 1
  %789 = load double, ptr %788, align 8, !tbaa !29
  %790 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %785, double noundef %789)
          to label %791 unwind label %794

791:                                              ; preds = %786
  %792 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %790, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %793 unwind label %794

793:                                              ; preds = %791
  br label %798

794:                                              ; preds = %791, %786, %784, %782, %778, %776, %772, %760
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %8, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %9, align 4
  br label %838

798:                                              ; preds = %793, %765
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #6
  %799 = load ptr, ptr %6, align 8, !tbaa !5
  %800 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_strB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %799) #6
  %801 = load ptr, ptr %57, align 8, !tbaa !5
  %802 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %800, ptr noundef nonnull align 8 dereferenceable(32) %801)
          to label %803 unwind label %831

803:                                              ; preds = %798
  %804 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.80", ptr %70, i32 0, i32 0
  store ptr %802, ptr %804, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #6
  %805 = load ptr, ptr %6, align 8, !tbaa !5
  %806 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_strB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %805) #6
  %807 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %806) #6
  %808 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.80", ptr %71, i32 0, i32 0
  store ptr %807, ptr %808, align 8
  %809 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 8 dereferenceable(8) %71) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #6
  br i1 %809, label %810, label %835

810:                                              ; preds = %803
  %811 = getelementptr inbounds %"class.CppBenchmark::ReporterConsole", ptr %72, i32 0, i32 1
  %812 = load ptr, ptr %811, align 8, !tbaa !9
  %813 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %812, i32 noundef 8)
          to label %814 unwind label %831

814:                                              ; preds = %810
  %815 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %813, i8 noundef signext 9)
          to label %816 unwind label %831

816:                                              ; preds = %814
  %817 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %70) #6
  %818 = getelementptr inbounds %"struct.std::pair.81", ptr %817, i32 0, i32 0
  %819 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %815, ptr noundef nonnull align 8 dereferenceable(32) %818)
          to label %820 unwind label %831

820:                                              ; preds = %816
  %821 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %819, ptr noundef @.str.46)
          to label %822 unwind label %831

822:                                              ; preds = %820
  %823 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %821, i32 noundef 7)
          to label %824 unwind label %831

824:                                              ; preds = %822
  %825 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %70) #6
  %826 = getelementptr inbounds %"struct.std::pair.81", ptr %825, i32 0, i32 1
  %827 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %823, ptr noundef nonnull align 8 dereferenceable(32) %826)
          to label %828 unwind label %831

828:                                              ; preds = %824
  %829 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %827, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %830 unwind label %831

830:                                              ; preds = %828
  br label %835

831:                                              ; preds = %828, %824, %822, %820, %816, %814, %810, %798
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %8, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #6
  br label %838

835:                                              ; preds = %830, %803
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  br label %836

836:                                              ; preds = %835
  %837 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %55) #6
  br label %566

838:                                              ; preds = %831, %794
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #6
  br label %839

839:                                              ; preds = %838, %756
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  br label %840

840:                                              ; preds = %839, %718
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  br label %841

841:                                              ; preds = %840, %680
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #6
  br label %842

842:                                              ; preds = %841, %642
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #6
  br label %843

843:                                              ; preds = %842, %604
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #6
  br label %845

844:                                              ; preds = %568
  call void @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %18) #6
  br label %846

845:                                              ; preds = %843, %555, %527, %499, %471, %443, %415, %387
  call void @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %18) #6
  br label %847

846:                                              ; preds = %844, %353
  ret void

847:                                              ; preds = %845, %319, %267, %233, %203, %199, %195, %151, %147, %143
  %848 = load ptr, ptr %8, align 8
  %849 = load i32, ptr %9, align 4
  %850 = insertvalue { ptr, i32 } poison, ptr %848, 0
  %851 = insertvalue { ptr, i32 } %850, i32 %849, 1
  resume { ptr, i32 } %851
}

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

; Function Attrs: nounwind
declare noundef zeroext i1 @_ZNK12CppBenchmark12PhaseMetrics7latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

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

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11min_latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11max_latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8), double noundef) #2 align 2

; Function Attrs: nounwind
declare noundef double @_ZNK12CppBenchmark12PhaseMetrics12mean_latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

; Function Attrs: nounwind
declare noundef double @_ZNK12CppBenchmark12PhaseMetrics12stdv_latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8avg_timeEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8min_timeEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8max_timeEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

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

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

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

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics21operations_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16items_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16bytes_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412)) #5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8), i8 noundef signext) #0

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #2 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8), float noundef) #2 align 2

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

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

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

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

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

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

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "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 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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, !6, i64 8}
!10 = !{!"_ZTSN12CppBenchmark15ReporterConsoleE", !11, i64 0, !6, i64 8}
!11 = !{!"_ZTSN12CppBenchmark8ReporterE"}
!12 = !{!13, !13, i64 0}
!13 = !{!"vtable pointer", !8, i64 0}
!14 = !{!15, !19, i64 32}
!15 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiE", !16, i64 0, !19, i64 32}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !18, i64 8, !7, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"int", !7, i64 0}
!20 = !{!21, !19, i64 32}
!21 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjE", !16, i64 0, !19, i64 32}
!22 = !{!23, !18, i64 32}
!23 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElE", !16, i64 0, !18, i64 32}
!24 = !{!25, !18, i64 32}
!25 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmE", !16, i64 0, !18, i64 32}
!26 = !{!27, !28, i64 32}
!27 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfE", !16, i64 0, !28, i64 32}
!28 = !{!"float", !7, i64 0}
!29 = !{!30, !31, i64 32}
!30 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdE", !16, i64 0, !31, i64 32}
!31 = !{!"double", !7, i64 0}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::set" = type { %"class.std::_Rb_tree.55" }
%"class.std::_Rb_tree.55" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::_Identity<std::__cxx11::basic_string<char>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::_Identity<std::__cxx11::basic_string<char>>, 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_const_iterator.63" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.67" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.70" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.73" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.77" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.80" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.61" = type { ptr }

@.str.26 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #0

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12CppBenchmark15ReporterConsole17GenerateSeparatorB5cxx11Ec(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i8 noundef signext) local_unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #0

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #0

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12CppBenchmark15ReporterConsole16GenerateDataSizeB5cxx11El(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN12CppBenchmark15ReporterConsole11ReportPhaseERKNS_9PhaseCoreERKNS_12PhaseMetricsE(ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(944) %1, ptr noundef nonnull align 8 dereferenceable(412) %2) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::set", align 8
  %14 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %15 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %16 = alloca %"struct.std::_Rb_tree_const_iterator.63", align 8
  %17 = alloca %"struct.std::_Rb_tree_const_iterator.63", align 8
  %18 = alloca %"struct.std::_Rb_tree_const_iterator.67", align 8
  %19 = alloca %"struct.std::_Rb_tree_const_iterator.67", align 8
  %20 = alloca %"struct.std::_Rb_tree_const_iterator.70", align 8
  %21 = alloca %"struct.std::_Rb_tree_const_iterator.70", align 8
  %22 = alloca %"struct.std::_Rb_tree_const_iterator.73", align 8
  %23 = alloca %"struct.std::_Rb_tree_const_iterator.73", align 8
  %24 = alloca %"struct.std::_Rb_tree_const_iterator.77", align 8
  %25 = alloca %"struct.std::_Rb_tree_const_iterator.77", align 8
  %26 = alloca %"struct.std::_Rb_tree_const_iterator.80", align 8
  %27 = alloca %"struct.std::_Rb_tree_const_iterator.80", align 8
  %28 = alloca %"struct.std::_Rb_tree_const_iterator.61", align 8
  %29 = alloca %"struct.std::_Rb_tree_const_iterator.61", align 8
  %30 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %31 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %32 = alloca %"struct.std::_Rb_tree_const_iterator.63", align 8
  %33 = alloca %"struct.std::_Rb_tree_const_iterator.63", align 8
  %34 = alloca %"struct.std::_Rb_tree_const_iterator.67", align 8
  %35 = alloca %"struct.std::_Rb_tree_const_iterator.67", align 8
  %36 = alloca %"struct.std::_Rb_tree_const_iterator.70", align 8
  %37 = alloca %"struct.std::_Rb_tree_const_iterator.70", align 8
  %38 = alloca %"struct.std::_Rb_tree_const_iterator.73", align 8
  %39 = alloca %"struct.std::_Rb_tree_const_iterator.73", align 8
  %40 = alloca %"struct.std::_Rb_tree_const_iterator.77", align 8
  %41 = alloca %"struct.std::_Rb_tree_const_iterator.77", align 8
  %42 = alloca %"struct.std::_Rb_tree_const_iterator.80", align 8
  %43 = alloca %"struct.std::_Rb_tree_const_iterator.80", align 8
  %44 = getelementptr inbounds i8, ptr %0, i64 8
  %45 = load ptr, ptr %44, align 8, !tbaa !5
  %46 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %45, i32 noundef 8)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #6
  call void @_ZN12CppBenchmark15ReporterConsole17GenerateSeparatorB5cxx11Ec(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, i8 noundef signext 45)
  %47 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %48 unwind label %102

48:                                               ; preds = %3
  %49 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %50 unwind label %102

50:                                               ; preds = %48
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  %51 = load ptr, ptr %44, align 8, !tbaa !5
  %52 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %51, i32 noundef 15)
  %53 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull @.str.26)
  %54 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %53, i32 noundef 11)
  %55 = load ptr, ptr %1, align 8, !tbaa !11
  %56 = getelementptr inbounds i8, ptr %55, i64 16
  %57 = load ptr, ptr %56, align 8
  %58 = call noundef nonnull align 8 dereferenceable(32) ptr %57(ptr noundef nonnull align 8 dereferenceable(944) %1) #6
  %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 8 dereferenceable(32) %58)
  %60 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %61 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16total_operationsEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %62 = icmp sgt i64 %61, 1
  br i1 %62, label %63, label %146

63:                                               ; preds = %50
  %64 = call noundef zeroext i1 @_ZNK12CppBenchmark12PhaseMetrics7latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %65 = load ptr, ptr %44, align 8, !tbaa !5
  %66 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %65, i32 noundef 15)
  br i1 %64, label %67, label %108

67:                                               ; preds = %63
  %68 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull @.str.27)
  %69 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %68, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  %70 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11min_latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, i64 noundef %70)
  %71 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %72 unwind label %104

72:                                               ; preds = %67
  %73 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef nonnull @.str.28)
          to label %74 unwind label %104

74:                                               ; preds = %72
  %75 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %76 unwind label %104

76:                                               ; preds = %74
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  %77 = load ptr, ptr %44, align 8, !tbaa !5
  %78 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %77, i32 noundef 15)
  %79 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef nonnull @.str.29)
  %80 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %79, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  %81 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11max_latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, i64 noundef %81)
  %82 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %83 unwind label %106

83:                                               ; preds = %76
  %84 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull @.str.28)
          to label %85 unwind label %106

85:                                               ; preds = %83
  %86 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %87 unwind label %106

87:                                               ; preds = %85
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  %88 = load ptr, ptr %44, align 8, !tbaa !5
  %89 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %88, i32 noundef 15)
  %90 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef nonnull @.str.30)
  %91 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %90, i32 noundef 14)
  %92 = call noundef double @_ZNK12CppBenchmark12PhaseMetrics12mean_latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %93 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %91, double noundef %92)
  %94 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %95 = load ptr, ptr %44, align 8, !tbaa !5
  %96 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %95, i32 noundef 15)
  %97 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef nonnull @.str.31)
  %98 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %97, i32 noundef 14)
  %99 = call noundef double @_ZNK12CppBenchmark12PhaseMetrics12stdv_latencyEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %100 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %98, double noundef %99)
  %101 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %146

102:                                              ; preds = %48, %3
  %103 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  br label %547

104:                                              ; preds = %74, %72, %67
  %105 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  br label %547

106:                                              ; preds = %85, %83, %76
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  br label %547

108:                                              ; preds = %63
  %109 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull @.str.32)
  %110 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %109, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #6
  %111 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8avg_timeEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, i64 noundef %111)
  %112 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %110, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %113 unwind label %140

113:                                              ; preds = %108
  %114 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %112, ptr noundef nonnull @.str.28)
          to label %115 unwind label %140

115:                                              ; preds = %113
  %116 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %114, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %117 unwind label %140

117:                                              ; preds = %115
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  %118 = load ptr, ptr %44, align 8, !tbaa !5
  %119 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %118, i32 noundef 15)
  %120 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %119, ptr noundef nonnull @.str.33)
  %121 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %120, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #6
  %122 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8min_timeEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, i64 noundef %122)
  %123 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %124 unwind label %142

124:                                              ; preds = %117
  %125 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull @.str.28)
          to label %126 unwind label %142

126:                                              ; preds = %124
  %127 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %125, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %128 unwind label %142

128:                                              ; preds = %126
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  %129 = load ptr, ptr %44, align 8, !tbaa !5
  %130 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %129, i32 noundef 15)
  %131 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %130, ptr noundef nonnull @.str.34)
  %132 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %131, i32 noundef 14)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #6
  %133 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8max_timeEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, i64 noundef %133)
  %134 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %132, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %135 unwind label %144

135:                                              ; preds = %128
  %136 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %134, ptr noundef nonnull @.str.28)
          to label %137 unwind label %144

137:                                              ; preds = %135
  %138 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %136, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %139 unwind label %144

139:                                              ; preds = %137
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  br label %146

140:                                              ; preds = %115, %113, %108
  %141 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  br label %547

142:                                              ; preds = %126, %124, %117
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  br label %547

144:                                              ; preds = %137, %135, %128
  %145 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  br label %547

146:                                              ; preds = %87, %139, %50
  %147 = load ptr, ptr %44, align 8, !tbaa !5
  %148 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %147, i32 noundef 15)
  %149 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef nonnull @.str.35)
  %150 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %149, i32 noundef 12)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #6
  %151 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics10total_timeEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, i64 noundef %151)
  %152 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %150, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %153 unwind label %166

153:                                              ; preds = %146
  %154 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %152, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %155 unwind label %166

155:                                              ; preds = %153
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  %156 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16total_operationsEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %157 = icmp sgt i64 %156, 1
  br i1 %157, label %158, label %168

158:                                              ; preds = %155
  %159 = load ptr, ptr %44, align 8, !tbaa !5
  %160 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %159, i32 noundef 15)
  %161 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef nonnull @.str.36)
  %162 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %161, i32 noundef 10)
  %163 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16total_operationsEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %164 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %162, i64 noundef %163)
  %165 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %168

166:                                              ; preds = %153, %146
  %167 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  br label %547

168:                                              ; preds = %158, %155
  %169 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_itemsEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %170 = icmp sgt i64 %169, 0
  br i1 %170, label %171, label %179

171:                                              ; preds = %168
  %172 = load ptr, ptr %44, align 8, !tbaa !5
  %173 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %172, i32 noundef 15)
  %174 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %173, ptr noundef nonnull @.str.37)
  %175 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %174, i32 noundef 13)
  %176 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_itemsEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %177 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %175, i64 noundef %176)
  %178 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %177, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %179

179:                                              ; preds = %171, %168
  %180 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_bytesEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %181 = icmp sgt i64 %180, 0
  br i1 %181, label %182, label %194

182:                                              ; preds = %179
  %183 = load ptr, ptr %44, align 8, !tbaa !5
  %184 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %183, i32 noundef 15)
  %185 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef nonnull @.str.38)
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %185, i32 noundef 5)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  %187 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_bytesEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @_ZN12CppBenchmark15ReporterConsole16GenerateDataSizeB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, i64 noundef %187)
  %188 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %189 unwind label %192

189:                                              ; preds = %182
  %190 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %188, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %191 unwind label %192

191:                                              ; preds = %189
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %194

192:                                              ; preds = %189, %182
  %193 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %547

194:                                              ; preds = %191, %179
  %195 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16total_operationsEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %196 = icmp sgt i64 %195, 1
  br i1 %196, label %197, label %206

197:                                              ; preds = %194
  %198 = load ptr, ptr %44, align 8, !tbaa !5
  %199 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %198, i32 noundef 15)
  %200 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %199, ptr noundef nonnull @.str.39)
  %201 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %200, i32 noundef 10)
  %202 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics21operations_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %203 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %201, i64 noundef %202)
  %204 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %203, ptr noundef nonnull @.str.40)
  %205 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %204, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %206

206:                                              ; preds = %197, %194
  %207 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_itemsEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %208 = icmp sgt i64 %207, 0
  br i1 %208, label %209, label %218

209:                                              ; preds = %206
  %210 = load ptr, ptr %44, align 8, !tbaa !5
  %211 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %210, i32 noundef 15)
  %212 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef nonnull @.str.41)
  %213 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %212, i32 noundef 13)
  %214 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16items_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %215 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %213, i64 noundef %214)
  %216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %215, ptr noundef nonnull @.str.42)
  %217 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %216, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %218

218:                                              ; preds = %209, %206
  %219 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11total_bytesEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %220 = icmp sgt i64 %219, 0
  br i1 %220, label %221, label %235

221:                                              ; preds = %218
  %222 = load ptr, ptr %44, align 8, !tbaa !5
  %223 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %222, i32 noundef 15)
  %224 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef nonnull @.str.43)
  %225 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %224, i32 noundef 5)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #6
  %226 = call noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16bytes_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @_ZN12CppBenchmark15ReporterConsole16GenerateDataSizeB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, i64 noundef %226)
  %227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %225, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %228 unwind label %233

228:                                              ; preds = %221
  %229 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %227, ptr noundef nonnull @.str.44)
          to label %230 unwind label %233

230:                                              ; preds = %228
  %231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %229, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %232 unwind label %233

232:                                              ; preds = %230
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  br label %235

233:                                              ; preds = %230, %228, %221
  %234 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  br label %547

235:                                              ; preds = %232, %218
  %236 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_intB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %237 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %236) #6
  %.not = icmp eq i64 %237, 0
  br i1 %.not, label %238, label %256

238:                                              ; preds = %235
  %239 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics11custom_uintB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %240 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %239) #6
  %.not103 = icmp eq i64 %240, 0
  br i1 %.not103, label %241, label %256

241:                                              ; preds = %238
  %242 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics12custom_int64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %243 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %242) #6
  %.not104 = icmp eq i64 %243, 0
  br i1 %.not104, label %244, label %256

244:                                              ; preds = %241
  %245 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics13custom_uint64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %246 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %245) #6
  %.not105 = icmp eq i64 %246, 0
  br i1 %.not105, label %247, label %256

247:                                              ; preds = %244
  %248 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_fltB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %249 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %248) #6
  %.not106 = icmp eq i64 %249, 0
  br i1 %.not106, label %250, label %256

250:                                              ; preds = %247
  %251 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_dblB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %252 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %251) #6
  %.not107 = icmp eq i64 %252, 0
  br i1 %.not107, label %253, label %256

253:                                              ; preds = %250
  %254 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_strB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %255 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %254) #6
  %.not108 = icmp eq i64 %255, 0
  br i1 %.not108, label %546, label %256

256:                                              ; preds = %253, %250, %247, %244, %241, %238, %235
  %257 = load ptr, ptr %44, align 8, !tbaa !5
  %258 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %257, i32 noundef 15)
  %259 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %258, ptr noundef nonnull @.str.45)
  %260 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %13) #6
  call void @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #6
  %261 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_intB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #6
  %262 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %261) #6
  store ptr %262, ptr %14, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #6
  %263 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %261) #6
  store ptr %263, ptr %15, align 8
  %264 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15) #6
  br i1 %264, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %271, %256
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #6
  %265 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics11custom_uintB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #6
  %266 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %265) #6
  store ptr %266, ptr %16, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #6
  %267 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %265) #6
  store ptr %267, ptr %17, align 8
  %268 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEESB_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #6
  br i1 %268, label %.lr.ph119, label %._crit_edge120

.lr.ph:                                           ; preds = %256, %271
  %269 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #6
  %270 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %269)
          to label %271 unwind label %274

271:                                              ; preds = %.lr.ph
  %272 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #6
  %273 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15) #6
  br i1 %273, label %.lr.ph, label %._crit_edge

274:                                              ; preds = %.lr.ph
  %275 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #6
  br label %545

._crit_edge120:                                   ; preds = %282, %._crit_edge
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  %276 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics12custom_int64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #6
  %277 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %276) #6
  store ptr %277, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #6
  %278 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %276) #6
  store ptr %278, ptr %19, align 8
  %279 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEESB_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #6
  br i1 %279, label %.lr.ph122, label %._crit_edge123

.lr.ph119:                                        ; preds = %._crit_edge, %282
  %280 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #6
  %281 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %280)
          to label %282 unwind label %285

282:                                              ; preds = %.lr.ph119
  %283 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #6
  %284 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEESB_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #6
  br i1 %284, label %.lr.ph119, label %._crit_edge120

285:                                              ; preds = %.lr.ph119
  %286 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  br label %545

._crit_edge123:                                   ; preds = %293, %._crit_edge120
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  %287 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics13custom_uint64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #6
  %288 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %287) #6
  store ptr %288, ptr %20, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #6
  %289 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %287) #6
  store ptr %289, ptr %21, align 8
  %290 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEESB_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #6
  br i1 %290, label %.lr.ph125, label %._crit_edge126

.lr.ph122:                                        ; preds = %._crit_edge120, %293
  %291 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #6
  %292 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %291)
          to label %293 unwind label %296

293:                                              ; preds = %.lr.ph122
  %294 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #6
  %295 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEESB_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #6
  br i1 %295, label %.lr.ph122, label %._crit_edge123

296:                                              ; preds = %.lr.ph122
  %297 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  br label %545

._crit_edge126:                                   ; preds = %304, %._crit_edge123
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #6
  %298 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_fltB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #6
  %299 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %298) #6
  store ptr %299, ptr %22, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #6
  %300 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %298) #6
  store ptr %300, ptr %23, align 8
  %301 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEESB_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #6
  br i1 %301, label %.lr.ph128, label %._crit_edge129

.lr.ph125:                                        ; preds = %._crit_edge123, %304
  %302 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #6
  %303 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %302)
          to label %304 unwind label %307

304:                                              ; preds = %.lr.ph125
  %305 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #6
  %306 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEESB_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #6
  br i1 %306, label %.lr.ph125, label %._crit_edge126

307:                                              ; preds = %.lr.ph125
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #6
  br label %545

._crit_edge129:                                   ; preds = %315, %._crit_edge126
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  %309 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_dblB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #6
  %310 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %309) #6
  store ptr %310, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #6
  %311 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %309) #6
  store ptr %311, ptr %25, align 8
  %312 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEESB_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #6
  br i1 %312, label %.lr.ph131, label %._crit_edge132

.lr.ph128:                                        ; preds = %._crit_edge126, %315
  %313 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #6
  %314 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %313)
          to label %315 unwind label %318

315:                                              ; preds = %.lr.ph128
  %316 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #6
  %317 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEESB_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #6
  br i1 %317, label %.lr.ph128, label %._crit_edge129

318:                                              ; preds = %.lr.ph128
  %319 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  br label %545

._crit_edge132:                                   ; preds = %326, %._crit_edge129
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #6
  %320 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_strB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #6
  %321 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %320) #6
  store ptr %321, ptr %26, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #6
  %322 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %320) #6
  store ptr %322, ptr %27, align 8
  %323 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(8) %27) #6
  br i1 %323, label %.lr.ph134, label %._crit_edge135

.lr.ph131:                                        ; preds = %._crit_edge129, %326
  %324 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #6
  %325 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %324)
          to label %326 unwind label %329

326:                                              ; preds = %.lr.ph131
  %327 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #6
  %328 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEESB_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #6
  br i1 %328, label %.lr.ph131, label %._crit_edge132

329:                                              ; preds = %.lr.ph131
  %330 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #6
  br label %545

._crit_edge135:                                   ; preds = %336, %._crit_edge132
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #6
  %331 = call ptr @_ZNKSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #6
  store ptr %331, ptr %28, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #6
  %332 = call ptr @_ZNKSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #6
  store ptr %332, ptr %29, align 8
  %333 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES8_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %29) #6
  br i1 %333, label %.lr.ph137, label %._crit_edge138

.lr.ph134:                                        ; preds = %._crit_edge132, %336
  %334 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26) #6
  %335 = invoke { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %334)
          to label %336 unwind label %339

336:                                              ; preds = %.lr.ph134
  %337 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEppEv(ptr noundef nonnull align 8 dereferenceable(8) %26) #6
  %338 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(8) %27) #6
  br i1 %338, label %.lr.ph134, label %._crit_edge135

339:                                              ; preds = %.lr.ph134
  %340 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #6
  br label %545

._crit_edge138:                                   ; preds = %536, %._crit_edge135
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  call void @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #6
  br label %546

.lr.ph137:                                        ; preds = %._crit_edge135, %536
  %341 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt23_Rb_tree_const_iteratorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #6
  %342 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_intB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %343 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %342, ptr noundef nonnull align 8 dereferenceable(32) %341)
          to label %344 unwind label %367

344:                                              ; preds = %.lr.ph137
  store ptr %343, ptr %30, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #6
  %345 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_intB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %346 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %345) #6
  store ptr %346, ptr %31, align 8
  %347 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #6
  br i1 %347, label %348, label %369

348:                                              ; preds = %344
  %349 = load ptr, ptr %44, align 8, !tbaa !5
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %349, i32 noundef 8)
          to label %351 unwind label %367

351:                                              ; preds = %348
  %352 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %350, i8 noundef signext 9)
          to label %353 unwind label %367

353:                                              ; preds = %351
  %354 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %30) #6
  %355 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %352, ptr noundef nonnull align 8 dereferenceable(32) %354)
          to label %356 unwind label %367

356:                                              ; preds = %353
  %357 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %355, ptr noundef nonnull @.str.46)
          to label %358 unwind label %367

358:                                              ; preds = %356
  %359 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %357, i32 noundef 7)
          to label %360 unwind label %367

360:                                              ; preds = %358
  %361 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %30) #6
  %362 = getelementptr inbounds i8, ptr %361, i64 32
  %363 = load i32, ptr %362, align 8, !tbaa !13
  %364 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %359, i32 noundef %363)
          to label %365 unwind label %367

365:                                              ; preds = %360
  %366 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %364, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %369 unwind label %367

367:                                              ; preds = %365, %360, %358, %356, %353, %351, %348, %.lr.ph137
  %368 = landingpad { ptr, i32 }
          cleanup
  br label %544

369:                                              ; preds = %365, %344
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #6
  %370 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics11custom_uintB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %371 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %370, ptr noundef nonnull align 8 dereferenceable(32) %341)
          to label %372 unwind label %395

372:                                              ; preds = %369
  store ptr %371, ptr %32, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #6
  %373 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics11custom_uintB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %374 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %373) #6
  store ptr %374, ptr %33, align 8
  %375 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEESB_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #6
  br i1 %375, label %376, label %397

376:                                              ; preds = %372
  %377 = load ptr, ptr %44, align 8, !tbaa !5
  %378 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %377, i32 noundef 8)
          to label %379 unwind label %395

379:                                              ; preds = %376
  %380 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %378, i8 noundef signext 9)
          to label %381 unwind label %395

381:                                              ; preds = %379
  %382 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #6
  %383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %380, ptr noundef nonnull align 8 dereferenceable(32) %382)
          to label %384 unwind label %395

384:                                              ; preds = %381
  %385 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %383, ptr noundef nonnull @.str.46)
          to label %386 unwind label %395

386:                                              ; preds = %384
  %387 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %385, i32 noundef 7)
          to label %388 unwind label %395

388:                                              ; preds = %386
  %389 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #6
  %390 = getelementptr inbounds i8, ptr %389, i64 32
  %391 = load i32, ptr %390, align 8, !tbaa !19
  %392 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %387, i32 noundef %391)
          to label %393 unwind label %395

393:                                              ; preds = %388
  %394 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %392, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %397 unwind label %395

395:                                              ; preds = %393, %388, %386, %384, %381, %379, %376, %369
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %543

397:                                              ; preds = %393, %372
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #6
  %398 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics12custom_int64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %399 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %398, ptr noundef nonnull align 8 dereferenceable(32) %341)
          to label %400 unwind label %423

400:                                              ; preds = %397
  store ptr %399, ptr %34, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #6
  %401 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics12custom_int64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %402 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIS5_ESaISt4pairIKS5_lEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %401) #6
  store ptr %402, ptr %35, align 8
  %403 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEESB_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #6
  br i1 %403, label %404, label %425

404:                                              ; preds = %400
  %405 = load ptr, ptr %44, align 8, !tbaa !5
  %406 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %405, i32 noundef 8)
          to label %407 unwind label %423

407:                                              ; preds = %404
  %408 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %406, i8 noundef signext 9)
          to label %409 unwind label %423

409:                                              ; preds = %407
  %410 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #6
  %411 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %408, ptr noundef nonnull align 8 dereferenceable(32) %410)
          to label %412 unwind label %423

412:                                              ; preds = %409
  %413 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %411, ptr noundef nonnull @.str.46)
          to label %414 unwind label %423

414:                                              ; preds = %412
  %415 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %413, i32 noundef 7)
          to label %416 unwind label %423

416:                                              ; preds = %414
  %417 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #6
  %418 = getelementptr inbounds i8, ptr %417, i64 32
  %419 = load i64, ptr %418, align 8, !tbaa !21
  %420 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEl(ptr noundef nonnull align 8 dereferenceable(8) %415, i64 noundef %419)
          to label %421 unwind label %423

421:                                              ; preds = %416
  %422 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %420, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %425 unwind label %423

423:                                              ; preds = %421, %416, %414, %412, %409, %407, %404, %397
  %424 = landingpad { ptr, i32 }
          cleanup
  br label %542

425:                                              ; preds = %421, %400
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #6
  %426 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics13custom_uint64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %427 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %426, ptr noundef nonnull align 8 dereferenceable(32) %341)
          to label %428 unwind label %451

428:                                              ; preds = %425
  store ptr %427, ptr %36, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #6
  %429 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics13custom_uint64B5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %430 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmSt4lessIS5_ESaISt4pairIKS5_mEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %429) #6
  store ptr %430, ptr %37, align 8
  %431 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEESB_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #6
  br i1 %431, label %432, label %453

432:                                              ; preds = %428
  %433 = load ptr, ptr %44, align 8, !tbaa !5
  %434 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %433, i32 noundef 8)
          to label %435 unwind label %451

435:                                              ; preds = %432
  %436 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %434, i8 noundef signext 9)
          to label %437 unwind label %451

437:                                              ; preds = %435
  %438 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %36) #6
  %439 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %436, ptr noundef nonnull align 8 dereferenceable(32) %438)
          to label %440 unwind label %451

440:                                              ; preds = %437
  %441 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %439, ptr noundef nonnull @.str.46)
          to label %442 unwind label %451

442:                                              ; preds = %440
  %443 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %441, i32 noundef 7)
          to label %444 unwind label %451

444:                                              ; preds = %442
  %445 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %36) #6
  %446 = getelementptr inbounds i8, ptr %445, i64 32
  %447 = load i64, ptr %446, align 8, !tbaa !23
  %448 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %443, i64 noundef %447)
          to label %449 unwind label %451

449:                                              ; preds = %444
  %450 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %448, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %453 unwind label %451

451:                                              ; preds = %449, %444, %442, %440, %437, %435, %432, %425
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %541

453:                                              ; preds = %449, %428
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #6
  %454 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_fltB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %455 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %454, ptr noundef nonnull align 8 dereferenceable(32) %341)
          to label %456 unwind label %479

456:                                              ; preds = %453
  store ptr %455, ptr %38, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #6
  %457 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_fltB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %458 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %457) #6
  store ptr %458, ptr %39, align 8
  %459 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEESB_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %39) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #6
  br i1 %459, label %460, label %481

460:                                              ; preds = %456
  %461 = load ptr, ptr %44, align 8, !tbaa !5
  %462 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %461, i32 noundef 8)
          to label %463 unwind label %479

463:                                              ; preds = %460
  %464 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %462, i8 noundef signext 9)
          to label %465 unwind label %479

465:                                              ; preds = %463
  %466 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38) #6
  %467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %464, ptr noundef nonnull align 8 dereferenceable(32) %466)
          to label %468 unwind label %479

468:                                              ; preds = %465
  %469 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %467, ptr noundef nonnull @.str.46)
          to label %470 unwind label %479

470:                                              ; preds = %468
  %471 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %469, i32 noundef 7)
          to label %472 unwind label %479

472:                                              ; preds = %470
  %473 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38) #6
  %474 = getelementptr inbounds i8, ptr %473, i64 32
  %475 = load float, ptr %474, align 8, !tbaa !25
  %476 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %471, float noundef %475)
          to label %477 unwind label %479

477:                                              ; preds = %472
  %478 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %476, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %481 unwind label %479

479:                                              ; preds = %477, %472, %470, %468, %465, %463, %460, %453
  %480 = landingpad { ptr, i32 }
          cleanup
  br label %540

481:                                              ; preds = %477, %456
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #6
  %482 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_dblB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %483 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %482, ptr noundef nonnull align 8 dereferenceable(32) %341)
          to label %484 unwind label %507

484:                                              ; preds = %481
  store ptr %483, ptr %40, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #6
  %485 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_dblB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %486 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS5_ESaISt4pairIKS5_dEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %485) #6
  store ptr %486, ptr %41, align 8
  %487 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEESB_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #6
  br i1 %487, label %488, label %509

488:                                              ; preds = %484
  %489 = load ptr, ptr %44, align 8, !tbaa !5
  %490 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %489, i32 noundef 8)
          to label %491 unwind label %507

491:                                              ; preds = %488
  %492 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %490, i8 noundef signext 9)
          to label %493 unwind label %507

493:                                              ; preds = %491
  %494 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #6
  %495 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %492, ptr noundef nonnull align 8 dereferenceable(32) %494)
          to label %496 unwind label %507

496:                                              ; preds = %493
  %497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %495, ptr noundef nonnull @.str.46)
          to label %498 unwind label %507

498:                                              ; preds = %496
  %499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %497, i32 noundef 7)
          to label %500 unwind label %507

500:                                              ; preds = %498
  %501 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #6
  %502 = getelementptr inbounds i8, ptr %501, i64 32
  %503 = load double, ptr %502, align 8, !tbaa !28
  %504 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %499, double noundef %503)
          to label %505 unwind label %507

505:                                              ; preds = %500
  %506 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %504, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %509 unwind label %507

507:                                              ; preds = %505, %500, %498, %496, %493, %491, %488, %481
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %539

509:                                              ; preds = %505, %484
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #6
  %510 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_strB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %511 = invoke ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %510, ptr noundef nonnull align 8 dereferenceable(32) %341)
          to label %512 unwind label %534

512:                                              ; preds = %509
  store ptr %511, ptr %42, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #6
  %513 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK12CppBenchmark12PhaseMetrics10custom_strB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(412) %2) #6
  %514 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %513) #6
  store ptr %514, ptr %43, align 8
  %515 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #6
  br i1 %515, label %516, label %536

516:                                              ; preds = %512
  %517 = load ptr, ptr %44, align 8, !tbaa !5
  %518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %517, i32 noundef 8)
          to label %519 unwind label %534

519:                                              ; preds = %516
  %520 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %518, i8 noundef signext 9)
          to label %521 unwind label %534

521:                                              ; preds = %519
  %522 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #6
  %523 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %520, ptr noundef nonnull align 8 dereferenceable(32) %522)
          to label %524 unwind label %534

524:                                              ; preds = %521
  %525 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %523, ptr noundef nonnull @.str.46)
          to label %526 unwind label %534

526:                                              ; preds = %524
  %527 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12CppBenchmarklsISoEERT_S2_NS_5ColorE(ptr noundef nonnull align 8 dereferenceable(8) %525, i32 noundef 7)
          to label %528 unwind label %534

528:                                              ; preds = %526
  %529 = call noundef ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #6
  %530 = getelementptr inbounds i8, ptr %529, i64 32
  %531 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %527, ptr noundef nonnull align 8 dereferenceable(32) %530)
          to label %532 unwind label %534

532:                                              ; preds = %528
  %533 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %531, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %536 unwind label %534

534:                                              ; preds = %532, %528, %526, %524, %521, %519, %516, %509
  %535 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #6
  br label %539

536:                                              ; preds = %532, %512
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  %537 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #6
  %538 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES8_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %29) #6
  br i1 %538, label %.lr.ph137, label %._crit_edge138

539:                                              ; preds = %534, %507
  %.pn = phi { ptr, i32 } [ %535, %534 ], [ %508, %507 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #6
  br label %540

540:                                              ; preds = %539, %479
  %.pn.pn = phi { ptr, i32 } [ %.pn, %539 ], [ %480, %479 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #6
  br label %541

541:                                              ; preds = %540, %451
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %540 ], [ %452, %451 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #6
  br label %542

542:                                              ; preds = %541, %423
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %541 ], [ %424, %423 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  br label %543

543:                                              ; preds = %542, %395
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %542 ], [ %396, %395 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #6
  br label %544

544:                                              ; preds = %543, %367
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %543 ], [ %368, %367 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  br label %545

545:                                              ; preds = %544, %339, %329, %318, %307, %296, %285, %274
  %.pn115 = phi { ptr, i32 } [ %275, %274 ], [ %286, %285 ], [ %297, %296 ], [ %308, %307 ], [ %319, %318 ], [ %330, %329 ], [ %340, %339 ], [ %.pn.pn.pn.pn.pn.pn, %544 ]
  call void @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #6
  br label %547

546:                                              ; preds = %._crit_edge138, %253
  ret void

547:                                              ; preds = %545, %233, %192, %166, %144, %142, %140, %106, %104, %102
  %.pn115.pn = phi { ptr, i32 } [ %.pn115, %545 ], [ %234, %233 ], [ %193, %192 ], [ %167, %166 ], [ %107, %106 ], [ %105, %104 ], [ %145, %144 ], [ %143, %142 ], [ %141, %140 ], [ %103, %102 ]
  resume { ptr, i32 } %.pn115.pn
}

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

; Function Attrs: nounwind
declare noundef zeroext i1 @_ZNK12CppBenchmark12PhaseMetrics7latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12CppBenchmark15ReporterConsole18GenerateTimePeriodB5cxx11El(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11min_latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics11max_latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

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

; Function Attrs: nounwind
declare noundef double @_ZNK12CppBenchmark12PhaseMetrics12mean_latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

; Function Attrs: nounwind
declare noundef double @_ZNK12CppBenchmark12PhaseMetrics12stdv_latencyEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8avg_timeEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8min_timeEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics8max_timeEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

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

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

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

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics21operations_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16items_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

; Function Attrs: nounwind
declare noundef i64 @_ZNK12CppBenchmark12PhaseMetrics16bytes_per_secondEv(ptr noundef nonnull align 8 dereferenceable(412)) local_unnamed_addr #5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS5_ESaIS5_EE6insertERKS5_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8), i8 noundef signext) local_unnamed_addr #0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "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 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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, !8, i64 8}
!6 = !{!"_ZTSN12CppBenchmark15ReporterConsoleE", !7, i64 0, !8, i64 8}
!7 = !{!"_ZTSN12CppBenchmark8ReporterE"}
!8 = !{!"any pointer", !9, i64 0}
!9 = !{!"omnipotent char", !10, i64 0}
!10 = !{!"Simple C++ TBAA"}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !10, i64 0}
!13 = !{!14, !18, i64 32}
!14 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiE", !15, i64 0, !18, i64 32}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !17, i64 8, !9, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !8, i64 0}
!17 = !{!"long", !9, i64 0}
!18 = !{!"int", !9, i64 0}
!19 = !{!20, !18, i64 32}
!20 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjE", !15, i64 0, !18, i64 32}
!21 = !{!22, !17, i64 32}
!22 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElE", !15, i64 0, !17, i64 32}
!23 = !{!24, !17, i64 32}
!24 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmE", !15, i64 0, !17, i64 32}
!25 = !{!26, !27, i64 32}
!26 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfE", !15, i64 0, !27, i64 32}
!27 = !{!"float", !9, i64 0}
!28 = !{!29, !30, i64 32}
!29 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdE", !15, i64 0, !30, i64 32}
!30 = !{!"double", !9, i64 0}


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