; LLVM IR from tenzir/tenzir :: libtenzir/aux/robin-map/tests (robin_map_tests)

; 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.boost::unit_test::lazy_ostream_impl" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream.base" = type <{ ptr, i8 }>
%"class.boost::unit_test::lazy_ostream_impl.14" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream_impl.104" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream_impl.106" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.std::unique_ptr.159" = type { %"struct.std::__uniq_ptr_data.160" }
%"struct.std::__uniq_ptr_data.160" = type { %"class.std::__uniq_ptr_impl.161" }
%"class.std::__uniq_ptr_impl.161" = type { %"class.std::tuple.162" }
%"class.std::tuple.162" = type { %"struct.std::_Tuple_impl.163" }
%"struct.std::_Tuple_impl.163" = type { %"struct.std::_Head_base.166" }
%"struct.std::_Head_base.166" = type { ptr }
%"class.tsl::robin_map.167" = type { %"class.tsl::detail_robin_hash::robin_hash.168" }
%"class.tsl::detail_robin_hash::robin_hash.168" = type <{ %"class.tsl::rh::power_of_two_growth_policy", %"class.std::vector.169", ptr, i64, i64, i64, float, i8, [3 x i8], float, i8, [3 x i8] }>
%"class.tsl::rh::power_of_two_growth_policy" = type { i64 }
%"class.std::vector.169" = type { %"struct.std::_Vector_base.170" }
%"struct.std::_Vector_base.170" = type { %"struct.std::_Vector_base<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>, std::allocator<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>>>::_Vector_impl" }
%"struct.std::_Vector_base<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>, std::allocator<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>>>::_Vector_impl" = type { %"struct.std::_Vector_base<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>, std::allocator<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>, std::allocator<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::pair.178" = type <{ %"class.std::unique_ptr.159", i32, [4 x i8] }>
%"struct.std::pair.175" = type <{ %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", i8, [7 x i8] }>
%"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator" = type { ptr }
%"class.boost::unit_test::basic_cstring" = type { ptr, ptr }
%"struct.boost::test_tools::tt_detail::equal_impl_frwd" = type { i8 }
%"class.boost::test_tools::assertion_result" = type { %"class.boost::test_tools::assertion_result::readonly_property65", %"class.boost::shared_ptr" }
%"class.boost::test_tools::assertion_result::readonly_property65" = type { %"class.boost::unit_test::readonly_property" }
%"class.boost::unit_test::readonly_property" = type { %"class.boost::unit_test::class_property" }
%"class.boost::unit_test::class_property" = type { i8 }
%"class.boost::shared_ptr" = type { ptr, %"class.boost::detail::shared_count" }
%"class.boost::detail::shared_count" = type { ptr }

@_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE = external hidden global ptr, align 8
@.str.3 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZTISt12out_of_range = external constant ptr
@.str.205 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [24 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

declare void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i64 noundef, ptr noundef) #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(1)) #3

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv() #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef) #3

declare noundef zeroext i1 @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, i64 noundef, ...) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl.14") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 8 dereferenceable(16)) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsIA52_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl.104") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(52)) #3

; Function Attrs: nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #6

declare ptr @__cxa_begin_catch(ptr)

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsIA49_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl.106") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(49)) #3

declare void @__cxa_end_catch()

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

; Function Attrs: alwaysinline mustprogress nounwind uwtable
declare dso_local void @_ZN5boost13ignore_unusedIJSt12out_of_rangeEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(16)) #8

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN14test_robin_map26test_heterogeneous_lookups11test_methodEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #5 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.std::unique_ptr.159", align 8
  %4 = alloca %"class.std::unique_ptr.159", align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::unique_ptr.159", align 8
  %8 = alloca i32, align 4
  %9 = alloca i64, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca %"class.tsl::robin_map.167", align 8
  %13 = alloca %"struct.std::pair.178", align 8
  %14 = alloca i32, align 4
  %15 = alloca %"struct.std::pair.175", align 8
  %16 = alloca %"struct.std::pair.178", align 8
  %17 = alloca i32, align 4
  %18 = alloca %"struct.std::pair.175", align 8
  %19 = alloca %"struct.std::pair.178", align 8
  %20 = alloca i32, align 4
  %21 = alloca %"struct.std::pair.175", align 8
  %22 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %23 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %24 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %25 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %26 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %27 = alloca i64, align 8
  %28 = alloca i32, align 4
  %29 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %30 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %31 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %32 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %33 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %34 = alloca i32, align 4
  %35 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %36 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %37 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %38 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %39 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %40 = alloca i32, align 4
  %41 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %42 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %43 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %44 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %45 = alloca %"class.boost::test_tools::assertion_result", align 8
  %46 = alloca %"class.boost::unit_test::lazy_ostream_impl.104", align 8
  %47 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %48 = alloca ptr, align 8
  %49 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %50 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %51 = alloca %"class.boost::test_tools::assertion_result", align 8
  %52 = alloca %"class.boost::unit_test::lazy_ostream_impl.106", align 8
  %53 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %54 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %55 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %56 = alloca %"class.boost::test_tools::assertion_result", align 8
  %57 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %58 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %59 = alloca %"class.boost::unit_test::lazy_ostream_impl.14", align 8
  %60 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %61 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %62 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %63 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %64 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %65 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %66 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %67 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %68 = alloca i32, align 4
  %69 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %70 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %71 = alloca %"class.boost::test_tools::assertion_result", align 8
  %72 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %73 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %74 = alloca %"class.boost::unit_test::lazy_ostream_impl.14", align 8
  %75 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %76 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %77 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %78 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %79 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %80 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %81 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %82 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %83 = alloca i32, align 4
  %84 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %85 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %86 = alloca %"class.boost::test_tools::assertion_result", align 8
  %87 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %88 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %89 = alloca %"class.boost::unit_test::lazy_ostream_impl.14", align 8
  %90 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %91 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %92 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %93 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %94 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %95 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %96 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %97 = alloca i64, align 8
  %98 = alloca i32, align 4
  %99 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %100 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %101 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %102 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %103 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %104 = alloca i64, align 8
  %105 = alloca i32, align 4
  %106 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %107 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %108 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %109 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %110 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %111 = alloca i64, align 8
  %112 = alloca i32, align 4
  %113 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %114 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %115 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %116 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %117 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %118 = alloca i64, align 8
  %119 = alloca i32, align 4
  %120 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %121 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %122 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %123 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %124 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %125 = alloca i64, align 8
  %126 = alloca i32, align 4
  %127 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %128 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %129 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %130 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %131 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %132 = alloca i64, align 8
  %133 = alloca i32, align 4
  %134 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %135 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %136 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %137 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %138 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %139 = alloca i64, align 8
  %140 = alloca i32, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %141 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #10
  %142 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 4) #11
  store i32 1, ptr %142, align 4, !tbaa !9
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEEC2IS1_vEEPi(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef %142) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #10
  %143 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 4) #11
          to label %144 unwind label %245

144:                                              ; preds = %1
  store i32 2, ptr %143, align 4, !tbaa !9
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEEC2IS1_vEEPi(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef %143) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #10
  %145 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 4) #11
          to label %146 unwind label %249

146:                                              ; preds = %144
  store i32 3, ptr %145, align 4, !tbaa !9
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEEC2IS1_vEEPi(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef %145) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  store i32 -1, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #10
  %147 = call noundef ptr @_ZNKSt10unique_ptrIiSt14default_deleteIiEE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #10
  %148 = ptrtoint ptr %147 to i64
  store i64 %148, ptr %9, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #10
  %149 = call noundef ptr @_ZNKSt10unique_ptrIiSt14default_deleteIiEE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #10
  store ptr %149, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #10
  store ptr %8, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 80, ptr %12) #10
  invoke void @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(80) %12)
          to label %150 unwind label %253

150:                                              ; preds = %146
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #10
  store i32 4, ptr %14, align 4, !tbaa !9
  invoke void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiEC2IS3_iTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS7_S8_EEEbE4typeELb1EEEOS7_OS8_(ptr noundef nonnull align 8 dereferenceable(12) %13, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 4 dereferenceable(4) %14)
          to label %151 unwind label %257

151:                                              ; preds = %150
  %152 = invoke { ptr, i8 } @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(12) %13)
          to label %153 unwind label %261

153:                                              ; preds = %151
  %154 = getelementptr inbounds { ptr, i8 }, ptr %15, i32 0, i32 0
  %155 = extractvalue { ptr, i8 } %152, 0
  store ptr %155, ptr %154, align 8
  %156 = getelementptr inbounds { ptr, i8 }, ptr %15, i32 0, i32 1
  %157 = extractvalue { ptr, i8 } %152, 1
  store i8 %157, ptr %156, align 8
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %13) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #10
  store i32 5, ptr %17, align 4, !tbaa !9
  invoke void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiEC2IS3_iTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS7_S8_EEEbE4typeELb1EEEOS7_OS8_(ptr noundef nonnull align 8 dereferenceable(12) %16, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %158 unwind label %266

158:                                              ; preds = %153
  %159 = invoke { ptr, i8 } @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(12) %16)
          to label %160 unwind label %270

160:                                              ; preds = %158
  %161 = getelementptr inbounds { ptr, i8 }, ptr %18, i32 0, i32 0
  %162 = extractvalue { ptr, i8 } %159, 0
  store ptr %162, ptr %161, align 8
  %163 = getelementptr inbounds { ptr, i8 }, ptr %18, i32 0, i32 1
  %164 = extractvalue { ptr, i8 } %159, 1
  store i8 %164, ptr %163, align 8
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %16) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #10
  store i32 6, ptr %20, align 4, !tbaa !9
  invoke void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiEC2IS3_iTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS7_S8_EEEbE4typeELb1EEEOS7_OS8_(ptr noundef nonnull align 8 dereferenceable(12) %19, ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %165 unwind label %275

165:                                              ; preds = %160
  %166 = invoke { ptr, i8 } @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(12) %19)
          to label %167 unwind label %279

167:                                              ; preds = %165
  %168 = getelementptr inbounds { ptr, i8 }, ptr %21, i32 0, i32 0
  %169 = extractvalue { ptr, i8 } %166, 0
  store ptr %169, ptr %168, align 8
  %170 = getelementptr inbounds { ptr, i8 }, ptr %21, i32 0, i32 1
  %171 = extractvalue { ptr, i8 } %166, 1
  store i8 %171, ptr %170, align 8
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %19) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #10
  br label %172

172:                                              ; preds = %186, %167
  %173 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef @.str.3, i64 noundef 96)
          to label %174 unwind label %284

174:                                              ; preds = %172
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %175 unwind label %284

175:                                              ; preds = %174
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %173, ptr noundef %22, i64 noundef 1109, ptr noundef %23)
          to label %176 unwind label %284

176:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #10
  %177 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %178 unwind label %288

178:                                              ; preds = %176
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %25, ptr noundef nonnull align 8 dereferenceable(9) %177, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %179 unwind label %288

179:                                              ; preds = %178
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef @.str.3, i64 noundef 96)
          to label %180 unwind label %292

180:                                              ; preds = %179
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  %181 = call noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %12) #10
  store i64 %181, ptr %27, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #10
  store i32 3, ptr %28, align 4, !tbaa !9
  %182 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %25, ptr noundef %26, i64 noundef 1109, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef @.str.9, ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef @.str.22)
          to label %183 unwind label %296

183:                                              ; preds = %180
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #10
  br label %184

184:                                              ; preds = %183
  %185 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %186 unwind label %284

186:                                              ; preds = %184
  br i1 %185, label %172, label %187, !llvm.loop !13

187:                                              ; preds = %186
  br label %188

188:                                              ; preds = %203, %187
  %189 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %29, ptr noundef @.str.3, i64 noundef 96)
          to label %190 unwind label %284

190:                                              ; preds = %188
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %191 unwind label %284

191:                                              ; preds = %190
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %189, ptr noundef %29, i64 noundef 1112, ptr noundef %30)
          to label %192 unwind label %284

192:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #10
  %193 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %194 unwind label %302

194:                                              ; preds = %192
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %32, ptr noundef nonnull align 8 dereferenceable(9) %193, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %195 unwind label %302

195:                                              ; preds = %194
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef @.str.3, i64 noundef 96)
          to label %196 unwind label %306

196:                                              ; preds = %195
  %197 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %198 unwind label %306

198:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  store i32 4, ptr %34, align 4, !tbaa !9
  %199 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %32, ptr noundef %33, i64 noundef 1112, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %197, ptr noundef @.str.241, ptr noundef nonnull align 4 dereferenceable(4) %34, ptr noundef @.str.24)
          to label %200 unwind label %310

200:                                              ; preds = %198
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #10
  br label %201

201:                                              ; preds = %200
  %202 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %203 unwind label %284

203:                                              ; preds = %201
  br i1 %202, label %188, label %204, !llvm.loop !15

204:                                              ; preds = %203
  br label %205

205:                                              ; preds = %220, %204
  %206 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %35, ptr noundef @.str.3, i64 noundef 96)
          to label %207 unwind label %284

207:                                              ; preds = %205
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %208 unwind label %284

208:                                              ; preds = %207
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %206, ptr noundef %35, i64 noundef 1113, ptr noundef %36)
          to label %209 unwind label %284

209:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #10
  %210 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %211 unwind label %316

211:                                              ; preds = %209
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %38, ptr noundef nonnull align 8 dereferenceable(9) %210, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %212 unwind label %316

212:                                              ; preds = %211
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef @.str.3, i64 noundef 96)
          to label %213 unwind label %320

213:                                              ; preds = %212
  %214 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %215 unwind label %320

215:                                              ; preds = %213
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #10
  store i32 5, ptr %40, align 4, !tbaa !9
  %216 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %38, ptr noundef %39, i64 noundef 1113, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %214, ptr noundef @.str.242, ptr noundef nonnull align 4 dereferenceable(4) %40, ptr noundef @.str.26)
          to label %217 unwind label %324

217:                                              ; preds = %215
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #10
  br label %218

218:                                              ; preds = %217
  %219 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %220 unwind label %284

220:                                              ; preds = %218
  br i1 %219, label %205, label %221, !llvm.loop !16

221:                                              ; preds = %220
  br label %222

222:                                              ; preds = %377, %221
  %223 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %41, ptr noundef @.str.3, i64 noundef 96)
          to label %224 unwind label %330

224:                                              ; preds = %222
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %225 unwind label %330

225:                                              ; preds = %224
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef %41, i64 noundef 1114, ptr noundef %42)
          to label %226 unwind label %330

226:                                              ; preds = %225
  %227 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %228 unwind label %330

228:                                              ; preds = %226
  br label %229

229:                                              ; preds = %243, %228
  %230 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %43, ptr noundef @.str.3, i64 noundef 96)
          to label %231 unwind label %330

231:                                              ; preds = %229
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %232 unwind label %330

232:                                              ; preds = %231
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %230, ptr noundef %43, i64 noundef 1114, ptr noundef %44)
          to label %233 unwind label %330

233:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #10
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %45, i1 noundef zeroext false)
          to label %234 unwind label %334

234:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #10
  %235 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %236 unwind label %338

236:                                              ; preds = %234
  invoke void @_ZN5boost9unit_testlsIA52_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.104") align 8 %46, ptr noundef nonnull align 8 dereferenceable(9) %235, ptr noundef nonnull align 1 dereferenceable(52) @.str.205)
          to label %237 unwind label %338

237:                                              ; preds = %236
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %47, ptr noundef @.str.3, i64 noundef 96)
          to label %238 unwind label %342

238:                                              ; preds = %237
  %239 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(9) %46, ptr noundef %47, i64 noundef 1114, i32 noundef 1, i32 noundef 1, i64 noundef 0)
          to label %240 unwind label %342

240:                                              ; preds = %238
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #10
  br label %241

241:                                              ; preds = %240
  %242 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %243 unwind label %330

243:                                              ; preds = %241
  br i1 %242, label %229, label %244, !llvm.loop !17

244:                                              ; preds = %243
  br label %374

245:                                              ; preds = %1
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %5, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %6, align 4
  br label %879

249:                                              ; preds = %144
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %5, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %6, align 4
  br label %878

253:                                              ; preds = %146
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %5, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %6, align 4
  br label %877

257:                                              ; preds = %150
  %258 = landingpad { ptr, i32 }
          cleanup
  %259 = extractvalue { ptr, i32 } %258, 0
  store ptr %259, ptr %5, align 8
  %260 = extractvalue { ptr, i32 } %258, 1
  store i32 %260, ptr %6, align 4
  br label %265

261:                                              ; preds = %151
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %5, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %6, align 4
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %13) #10
  br label %265

265:                                              ; preds = %261, %257
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #10
  br label %876

266:                                              ; preds = %153
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %5, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %6, align 4
  br label %274

270:                                              ; preds = %158
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %5, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %6, align 4
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %16) #10
  br label %274

274:                                              ; preds = %270, %266
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #10
  br label %876

275:                                              ; preds = %160
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %5, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %6, align 4
  br label %283

279:                                              ; preds = %165
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %5, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %6, align 4
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %19) #10
  br label %283

283:                                              ; preds = %279, %275
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #10
  br label %876

284:                                              ; preds = %609, %600, %599, %597, %593, %583, %582, %580, %576, %566, %565, %563, %559, %549, %548, %546, %542, %532, %531, %529, %525, %515, %514, %512, %508, %498, %497, %495, %491, %474, %473, %471, %467, %452, %451, %449, %445, %428, %427, %425, %421, %406, %405, %403, %399, %382, %381, %379, %375, %218, %208, %207, %205, %201, %191, %190, %188, %184, %175, %174, %172
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %5, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %6, align 4
  br label %876

288:                                              ; preds = %178, %176
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %5, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %6, align 4
  br label %301

292:                                              ; preds = %179
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %5, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %6, align 4
  br label %300

296:                                              ; preds = %180
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %5, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  br label %300

300:                                              ; preds = %296, %292
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #10
  br label %301

301:                                              ; preds = %300, %288
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #10
  br label %876

302:                                              ; preds = %194, %192
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %5, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %6, align 4
  br label %315

306:                                              ; preds = %196, %195
  %307 = landingpad { ptr, i32 }
          cleanup
  %308 = extractvalue { ptr, i32 } %307, 0
  store ptr %308, ptr %5, align 8
  %309 = extractvalue { ptr, i32 } %307, 1
  store i32 %309, ptr %6, align 4
  br label %314

310:                                              ; preds = %198
  %311 = landingpad { ptr, i32 }
          cleanup
  %312 = extractvalue { ptr, i32 } %311, 0
  store ptr %312, ptr %5, align 8
  %313 = extractvalue { ptr, i32 } %311, 1
  store i32 %313, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %314

314:                                              ; preds = %310, %306
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  br label %315

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

316:                                              ; preds = %211, %209
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %5, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %6, align 4
  br label %329

320:                                              ; preds = %213, %212
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %5, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %6, align 4
  br label %328

324:                                              ; preds = %215
  %325 = landingpad { ptr, i32 }
          cleanup
  %326 = extractvalue { ptr, i32 } %325, 0
  store ptr %326, ptr %5, align 8
  %327 = extractvalue { ptr, i32 } %325, 1
  store i32 %327, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  br label %328

328:                                              ; preds = %324, %320
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #10
  br label %329

329:                                              ; preds = %328, %316
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #10
  br label %876

330:                                              ; preds = %241, %232, %231, %229, %226, %225, %224, %222
  %331 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  %332 = extractvalue { ptr, i32 } %331, 0
  store ptr %332, ptr %5, align 8
  %333 = extractvalue { ptr, i32 } %331, 1
  store i32 %333, ptr %6, align 4
  br label %348

334:                                              ; preds = %233
  %335 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %5, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %6, align 4
  br label %347

338:                                              ; preds = %236, %234
  %339 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %5, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %6, align 4
  br label %346

342:                                              ; preds = %238, %237
  %343 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  %344 = extractvalue { ptr, i32 } %343, 0
  store ptr %344, ptr %5, align 8
  %345 = extractvalue { ptr, i32 } %343, 1
  store i32 %345, ptr %6, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #10
  br label %346

346:                                              ; preds = %342, %338
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #10
  br label %347

347:                                              ; preds = %346, %334
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #10
  br label %348

348:                                              ; preds = %347, %330
  %349 = load i32, ptr %6, align 4
  %350 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt12out_of_range) #10
  %351 = icmp eq i32 %349, %350
  br i1 %351, label %352, label %876

352:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #10
  %353 = load ptr, ptr %5, align 8
  %354 = call ptr @__cxa_begin_catch(ptr %353) #10
  store ptr %354, ptr %48, align 8
  %355 = load ptr, ptr %48, align 8, !tbaa !5
  invoke void @_ZN5boost13ignore_unusedIJSt12out_of_rangeEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(16) %355)
          to label %356 unwind label %613

356:                                              ; preds = %352
  br label %357

357:                                              ; preds = %371, %356
  %358 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %49, ptr noundef @.str.3, i64 noundef 96)
          to label %359 unwind label %613

359:                                              ; preds = %357
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %360 unwind label %613

360:                                              ; preds = %359
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %358, ptr noundef %49, i64 noundef 1114, ptr noundef %50)
          to label %361 unwind label %613

361:                                              ; preds = %360
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #10
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %51, i1 noundef zeroext true)
          to label %362 unwind label %617

362:                                              ; preds = %361
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #10
  %363 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %364 unwind label %621

364:                                              ; preds = %362
  invoke void @_ZN5boost9unit_testlsIA49_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.106") align 8 %52, ptr noundef nonnull align 8 dereferenceable(9) %363, ptr noundef nonnull align 1 dereferenceable(49) @.str.206)
          to label %365 unwind label %621

365:                                              ; preds = %364
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %53, ptr noundef @.str.3, i64 noundef 96)
          to label %366 unwind label %625

366:                                              ; preds = %365
  %367 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(9) %52, ptr noundef %53, i64 noundef 1114, i32 noundef 1, i32 noundef 1, i64 noundef 0)
          to label %368 unwind label %625

368:                                              ; preds = %366
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #10
  br label %369

369:                                              ; preds = %368
  %370 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %371 unwind label %613

371:                                              ; preds = %369
  br i1 %370, label %357, label %372, !llvm.loop !18

372:                                              ; preds = %371
  invoke void @__cxa_end_catch()
          to label %373 unwind label %631

373:                                              ; preds = %372
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  br label %374

374:                                              ; preds = %373, %244
  br label %375

375:                                              ; preds = %374
  %376 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %377 unwind label %284

377:                                              ; preds = %375
  br i1 %376, label %222, label %378, !llvm.loop !19

378:                                              ; preds = %377
  br label %379

379:                                              ; preds = %401, %378
  %380 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef @.str.3, i64 noundef 96)
          to label %381 unwind label %284

381:                                              ; preds = %379
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %382 unwind label %284

382:                                              ; preds = %381
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %380, ptr noundef %54, i64 noundef 1117, ptr noundef %55)
          to label %383 unwind label %284

383:                                              ; preds = %382
  call void @llvm.lifetime.start.p0(i64 24, ptr %56) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  %384 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %385 unwind label %638

385:                                              ; preds = %383
  %386 = getelementptr inbounds %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", ptr %57, i32 0, i32 0
  store ptr %384, ptr %386, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #10
  %387 = call ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE3endEv(ptr noundef nonnull align 8 dereferenceable(80) %12) #10
  %388 = getelementptr inbounds %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", ptr %58, i32 0, i32 0
  store ptr %387, ptr %388, align 8
  %389 = invoke noundef zeroext i1 @_ZN3tsl17detail_robin_hashneERKNS0_10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEESO_(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 8 dereferenceable(8) %58)
          to label %390 unwind label %642

390:                                              ; preds = %385
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %56, i1 noundef zeroext %389)
          to label %391 unwind label %642

391:                                              ; preds = %390
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #10
  %392 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %393 unwind label %646

393:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #10
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %60, ptr noundef @.str.243, i64 noundef 28)
          to label %394 unwind label %650

394:                                              ; preds = %393
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.14") align 8 %59, ptr noundef nonnull align 8 dereferenceable(9) %392, ptr noundef nonnull align 8 dereferenceable(16) %60)
          to label %395 unwind label %650

395:                                              ; preds = %394
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %61, ptr noundef @.str.3, i64 noundef 96)
          to label %396 unwind label %654

396:                                              ; preds = %395
  %397 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %56, ptr noundef nonnull align 8 dereferenceable(9) %59, ptr noundef %61, i64 noundef 1117, i32 noundef 2, i32 noundef 0, i64 noundef 0)
          to label %398 unwind label %654

398:                                              ; preds = %396
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #10
  br label %399

399:                                              ; preds = %398
  %400 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %401 unwind label %284

401:                                              ; preds = %399
  br i1 %400, label %379, label %402, !llvm.loop !20

402:                                              ; preds = %401
  br label %403

403:                                              ; preds = %423, %402
  %404 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef @.str.3, i64 noundef 96)
          to label %405 unwind label %284

405:                                              ; preds = %403
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63)
          to label %406 unwind label %284

406:                                              ; preds = %405
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %404, ptr noundef %62, i64 noundef 1118, ptr noundef %63)
          to label %407 unwind label %284

407:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #10
  %408 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %409 unwind label %662

409:                                              ; preds = %407
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %65, ptr noundef nonnull align 8 dereferenceable(9) %408, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %410 unwind label %662

410:                                              ; preds = %409
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %66, ptr noundef @.str.3, i64 noundef 96)
          to label %411 unwind label %666

411:                                              ; preds = %410
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #10
  %412 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %413 unwind label %670

413:                                              ; preds = %411
  %414 = getelementptr inbounds %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", ptr %67, i32 0, i32 0
  store ptr %412, ptr %414, align 8
  %415 = invoke noundef ptr @_ZNK3tsl17detail_robin_hash10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %416 unwind label %670

416:                                              ; preds = %413
  %417 = getelementptr inbounds %"struct.std::pair.178", ptr %415, i32 0, i32 0
  %418 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt10unique_ptrIiSt14default_deleteIiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %417) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #10
  store i32 1, ptr %68, align 4, !tbaa !9
  %419 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %65, ptr noundef %66, i64 noundef 1118, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %418, ptr noundef @.str.244, ptr noundef nonnull align 4 dereferenceable(4) %68, ptr noundef @.str.12)
          to label %420 unwind label %674

420:                                              ; preds = %416
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #10
  br label %421

421:                                              ; preds = %420
  %422 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %423 unwind label %284

423:                                              ; preds = %421
  br i1 %422, label %403, label %424, !llvm.loop !21

424:                                              ; preds = %423
  br label %425

425:                                              ; preds = %447, %424
  %426 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %69, ptr noundef @.str.3, i64 noundef 96)
          to label %427 unwind label %284

427:                                              ; preds = %425
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70)
          to label %428 unwind label %284

428:                                              ; preds = %427
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %426, ptr noundef %69, i64 noundef 1120, ptr noundef %70)
          to label %429 unwind label %284

429:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 24, ptr %71) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #10
  %430 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %431 unwind label %681

431:                                              ; preds = %429
  %432 = getelementptr inbounds %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", ptr %72, i32 0, i32 0
  store ptr %430, ptr %432, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #10
  %433 = call ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE3endEv(ptr noundef nonnull align 8 dereferenceable(80) %12) #10
  %434 = getelementptr inbounds %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", ptr %73, i32 0, i32 0
  store ptr %433, ptr %434, align 8
  %435 = invoke noundef zeroext i1 @_ZN3tsl17detail_robin_hashneERKNS0_10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEESO_(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %436 unwind label %685

436:                                              ; preds = %431
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %71, i1 noundef zeroext %435)
          to label %437 unwind label %685

437:                                              ; preds = %436
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #10
  %438 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %439 unwind label %689

439:                                              ; preds = %437
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #10
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %75, ptr noundef @.str.245, i64 noundef 28)
          to label %440 unwind label %693

440:                                              ; preds = %439
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.14") align 8 %74, ptr noundef nonnull align 8 dereferenceable(9) %438, ptr noundef nonnull align 8 dereferenceable(16) %75)
          to label %441 unwind label %693

441:                                              ; preds = %440
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %76, ptr noundef @.str.3, i64 noundef 96)
          to label %442 unwind label %697

442:                                              ; preds = %441
  %443 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %71, ptr noundef nonnull align 8 dereferenceable(9) %74, ptr noundef %76, i64 noundef 1120, i32 noundef 2, i32 noundef 0, i64 noundef 0)
          to label %444 unwind label %697

444:                                              ; preds = %442
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #10
  br label %445

445:                                              ; preds = %444
  %446 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %447 unwind label %284

447:                                              ; preds = %445
  br i1 %446, label %425, label %448, !llvm.loop !22

448:                                              ; preds = %447
  br label %449

449:                                              ; preds = %469, %448
  %450 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %77, ptr noundef @.str.3, i64 noundef 96)
          to label %451 unwind label %284

451:                                              ; preds = %449
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78)
          to label %452 unwind label %284

452:                                              ; preds = %451
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %450, ptr noundef %77, i64 noundef 1121, ptr noundef %78)
          to label %453 unwind label %284

453:                                              ; preds = %452
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #10
  %454 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %455 unwind label %705

455:                                              ; preds = %453
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %80, ptr noundef nonnull align 8 dereferenceable(9) %454, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %456 unwind label %705

456:                                              ; preds = %455
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %81, ptr noundef @.str.3, i64 noundef 96)
          to label %457 unwind label %709

457:                                              ; preds = %456
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #10
  %458 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %459 unwind label %713

459:                                              ; preds = %457
  %460 = getelementptr inbounds %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", ptr %82, i32 0, i32 0
  store ptr %458, ptr %460, align 8
  %461 = invoke noundef ptr @_ZNK3tsl17detail_robin_hash10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %462 unwind label %713

462:                                              ; preds = %459
  %463 = getelementptr inbounds %"struct.std::pair.178", ptr %461, i32 0, i32 0
  %464 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt10unique_ptrIiSt14default_deleteIiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %463) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #10
  store i32 2, ptr %83, align 4, !tbaa !9
  %465 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %80, ptr noundef %81, i64 noundef 1121, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %464, ptr noundef @.str.246, ptr noundef nonnull align 4 dereferenceable(4) %83, ptr noundef @.str.14)
          to label %466 unwind label %717

466:                                              ; preds = %462
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #10
  br label %467

467:                                              ; preds = %466
  %468 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %469 unwind label %284

469:                                              ; preds = %467
  br i1 %468, label %449, label %470, !llvm.loop !23

470:                                              ; preds = %469
  br label %471

471:                                              ; preds = %493, %470
  %472 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %84, ptr noundef @.str.3, i64 noundef 96)
          to label %473 unwind label %284

473:                                              ; preds = %471
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85)
          to label %474 unwind label %284

474:                                              ; preds = %473
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %472, ptr noundef %84, i64 noundef 1123, ptr noundef %85)
          to label %475 unwind label %284

475:                                              ; preds = %474
  call void @llvm.lifetime.start.p0(i64 24, ptr %86) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #10
  %476 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %477 unwind label %724

477:                                              ; preds = %475
  %478 = getelementptr inbounds %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", ptr %87, i32 0, i32 0
  store ptr %476, ptr %478, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #10
  %479 = call ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE3endEv(ptr noundef nonnull align 8 dereferenceable(80) %12) #10
  %480 = getelementptr inbounds %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", ptr %88, i32 0, i32 0
  store ptr %479, ptr %480, align 8
  %481 = invoke noundef zeroext i1 @_ZN3tsl17detail_robin_hasheqERKNS0_10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEESO_(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef nonnull align 8 dereferenceable(8) %88)
          to label %482 unwind label %728

482:                                              ; preds = %477
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %86, i1 noundef zeroext %481)
          to label %483 unwind label %728

483:                                              ; preds = %482
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #10
  %484 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %485 unwind label %732

485:                                              ; preds = %483
  call void @llvm.lifetime.start.p0(i64 16, ptr %90) #10
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %90, ptr noundef @.str.247, i64 noundef 35)
          to label %486 unwind label %736

486:                                              ; preds = %485
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.14") align 8 %89, ptr noundef nonnull align 8 dereferenceable(9) %484, ptr noundef nonnull align 8 dereferenceable(16) %90)
          to label %487 unwind label %736

487:                                              ; preds = %486
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %91, ptr noundef @.str.3, i64 noundef 96)
          to label %488 unwind label %740

488:                                              ; preds = %487
  %489 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %86, ptr noundef nonnull align 8 dereferenceable(9) %89, ptr noundef %91, i64 noundef 1123, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %490 unwind label %740

490:                                              ; preds = %488
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %86) #10
  br label %491

491:                                              ; preds = %490
  %492 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %493 unwind label %284

493:                                              ; preds = %491
  br i1 %492, label %471, label %494, !llvm.loop !24

494:                                              ; preds = %493
  br label %495

495:                                              ; preds = %510, %494
  %496 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %92, ptr noundef @.str.3, i64 noundef 96)
          to label %497 unwind label %284

497:                                              ; preds = %495
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %93)
          to label %498 unwind label %284

498:                                              ; preds = %497
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %496, ptr noundef %92, i64 noundef 1126, ptr noundef %93)
          to label %499 unwind label %284

499:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 32, ptr %95) #10
  %500 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %501 unwind label %748

501:                                              ; preds = %499
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %95, ptr noundef nonnull align 8 dereferenceable(9) %500, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %502 unwind label %748

502:                                              ; preds = %501
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %96, ptr noundef @.str.3, i64 noundef 96)
          to label %503 unwind label %752

503:                                              ; preds = %502
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #10
  %504 = invoke noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5countImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %505 unwind label %756

505:                                              ; preds = %503
  store i64 %504, ptr %97, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #10
  store i32 1, ptr %98, align 4, !tbaa !9
  %506 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %95, ptr noundef %96, i64 noundef 1126, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef @.str.248, ptr noundef nonnull align 4 dereferenceable(4) %98, ptr noundef @.str.12)
          to label %507 unwind label %760

507:                                              ; preds = %505
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #10
  br label %508

508:                                              ; preds = %507
  %509 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %510 unwind label %284

510:                                              ; preds = %508
  br i1 %509, label %495, label %511, !llvm.loop !25

511:                                              ; preds = %510
  br label %512

512:                                              ; preds = %527, %511
  %513 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %99, ptr noundef @.str.3, i64 noundef 96)
          to label %514 unwind label %284

514:                                              ; preds = %512
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %100)
          to label %515 unwind label %284

515:                                              ; preds = %514
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %513, ptr noundef %99, i64 noundef 1127, ptr noundef %100)
          to label %516 unwind label %284

516:                                              ; preds = %515
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #10
  %517 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %518 unwind label %767

518:                                              ; preds = %516
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %102, ptr noundef nonnull align 8 dereferenceable(9) %517, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %519 unwind label %767

519:                                              ; preds = %518
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %103, ptr noundef @.str.3, i64 noundef 96)
          to label %520 unwind label %771

520:                                              ; preds = %519
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #10
  %521 = invoke noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5countIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %522 unwind label %775

522:                                              ; preds = %520
  store i64 %521, ptr %104, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  store i32 1, ptr %105, align 4, !tbaa !9
  %523 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %102, ptr noundef %103, i64 noundef 1127, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %104, ptr noundef @.str.249, ptr noundef nonnull align 4 dereferenceable(4) %105, ptr noundef @.str.12)
          to label %524 unwind label %779

524:                                              ; preds = %522
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #10
  br label %525

525:                                              ; preds = %524
  %526 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %527 unwind label %284

527:                                              ; preds = %525
  br i1 %526, label %512, label %528, !llvm.loop !26

528:                                              ; preds = %527
  br label %529

529:                                              ; preds = %544, %528
  %530 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %106, ptr noundef @.str.3, i64 noundef 96)
          to label %531 unwind label %284

531:                                              ; preds = %529
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107)
          to label %532 unwind label %284

532:                                              ; preds = %531
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %530, ptr noundef %106, i64 noundef 1128, ptr noundef %107)
          to label %533 unwind label %284

533:                                              ; preds = %532
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #10
  %534 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %535 unwind label %786

535:                                              ; preds = %533
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %109, ptr noundef nonnull align 8 dereferenceable(9) %534, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %536 unwind label %786

536:                                              ; preds = %535
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %110, ptr noundef @.str.3, i64 noundef 96)
          to label %537 unwind label %790

537:                                              ; preds = %536
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #10
  %538 = invoke noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5countIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %539 unwind label %794

539:                                              ; preds = %537
  store i64 %538, ptr %111, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  store i32 0, ptr %112, align 4, !tbaa !9
  %540 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %109, ptr noundef %110, i64 noundef 1128, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef @.str.250, ptr noundef nonnull align 4 dereferenceable(4) %112, ptr noundef @.str.99)
          to label %541 unwind label %798

541:                                              ; preds = %539
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #10
  br label %542

542:                                              ; preds = %541
  %543 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %544 unwind label %284

544:                                              ; preds = %542
  br i1 %543, label %529, label %545, !llvm.loop !27

545:                                              ; preds = %544
  br label %546

546:                                              ; preds = %561, %545
  %547 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %113, ptr noundef @.str.3, i64 noundef 96)
          to label %548 unwind label %284

548:                                              ; preds = %546
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %114)
          to label %549 unwind label %284

549:                                              ; preds = %548
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %547, ptr noundef %113, i64 noundef 1131, ptr noundef %114)
          to label %550 unwind label %284

550:                                              ; preds = %549
  call void @llvm.lifetime.start.p0(i64 32, ptr %116) #10
  %551 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %552 unwind label %805

552:                                              ; preds = %550
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %116, ptr noundef nonnull align 8 dereferenceable(9) %551, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %553 unwind label %805

553:                                              ; preds = %552
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %117, ptr noundef @.str.3, i64 noundef 96)
          to label %554 unwind label %809

554:                                              ; preds = %553
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #10
  %555 = invoke noundef i64 @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5eraseImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %556 unwind label %813

556:                                              ; preds = %554
  store i64 %555, ptr %118, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #10
  store i32 1, ptr %119, align 4, !tbaa !9
  %557 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %116, ptr noundef %117, i64 noundef 1131, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %118, ptr noundef @.str.251, ptr noundef nonnull align 4 dereferenceable(4) %119, ptr noundef @.str.12)
          to label %558 unwind label %817

558:                                              ; preds = %556
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #10
  br label %559

559:                                              ; preds = %558
  %560 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %561 unwind label %284

561:                                              ; preds = %559
  br i1 %560, label %546, label %562, !llvm.loop !28

562:                                              ; preds = %561
  br label %563

563:                                              ; preds = %578, %562
  %564 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %120, ptr noundef @.str.3, i64 noundef 96)
          to label %565 unwind label %284

565:                                              ; preds = %563
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %121)
          to label %566 unwind label %284

566:                                              ; preds = %565
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %564, ptr noundef %120, i64 noundef 1132, ptr noundef %121)
          to label %567 unwind label %284

567:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #10
  %568 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %569 unwind label %824

569:                                              ; preds = %567
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %123, ptr noundef nonnull align 8 dereferenceable(9) %568, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %570 unwind label %824

570:                                              ; preds = %569
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %124, ptr noundef @.str.3, i64 noundef 96)
          to label %571 unwind label %828

571:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #10
  %572 = invoke noundef i64 @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5eraseIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %573 unwind label %832

573:                                              ; preds = %571
  store i64 %572, ptr %125, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  store i32 1, ptr %126, align 4, !tbaa !9
  %574 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %123, ptr noundef %124, i64 noundef 1132, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %125, ptr noundef @.str.252, ptr noundef nonnull align 4 dereferenceable(4) %126, ptr noundef @.str.12)
          to label %575 unwind label %836

575:                                              ; preds = %573
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #10
  br label %576

576:                                              ; preds = %575
  %577 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %578 unwind label %284

578:                                              ; preds = %576
  br i1 %577, label %563, label %579, !llvm.loop !29

579:                                              ; preds = %578
  br label %580

580:                                              ; preds = %595, %579
  %581 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %127, ptr noundef @.str.3, i64 noundef 96)
          to label %582 unwind label %284

582:                                              ; preds = %580
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128)
          to label %583 unwind label %284

583:                                              ; preds = %582
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %581, ptr noundef %127, i64 noundef 1133, ptr noundef %128)
          to label %584 unwind label %284

584:                                              ; preds = %583
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #10
  %585 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %586 unwind label %843

586:                                              ; preds = %584
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %130, ptr noundef nonnull align 8 dereferenceable(9) %585, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %587 unwind label %843

587:                                              ; preds = %586
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef @.str.3, i64 noundef 96)
          to label %588 unwind label %847

588:                                              ; preds = %587
  call void @llvm.lifetime.start.p0(i64 8, ptr %132) #10
  %589 = invoke noundef i64 @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5eraseIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %590 unwind label %851

590:                                              ; preds = %588
  store i64 %589, ptr %132, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  store i32 0, ptr %133, align 4, !tbaa !9
  %591 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %130, ptr noundef %131, i64 noundef 1133, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %132, ptr noundef @.str.253, ptr noundef nonnull align 4 dereferenceable(4) %133, ptr noundef @.str.99)
          to label %592 unwind label %855

592:                                              ; preds = %590
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #10
  br label %593

593:                                              ; preds = %592
  %594 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %595 unwind label %284

595:                                              ; preds = %593
  br i1 %594, label %580, label %596, !llvm.loop !30

596:                                              ; preds = %595
  br label %597

597:                                              ; preds = %611, %596
  %598 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %134, ptr noundef @.str.3, i64 noundef 96)
          to label %599 unwind label %284

599:                                              ; preds = %597
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %135)
          to label %600 unwind label %284

600:                                              ; preds = %599
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %598, ptr noundef %134, i64 noundef 1136, ptr noundef %135)
          to label %601 unwind label %284

601:                                              ; preds = %600
  call void @llvm.lifetime.start.p0(i64 32, ptr %137) #10
  %602 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %603 unwind label %862

603:                                              ; preds = %601
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %137, ptr noundef nonnull align 8 dereferenceable(9) %602, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %604 unwind label %862

604:                                              ; preds = %603
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %138, ptr noundef @.str.3, i64 noundef 96)
          to label %605 unwind label %866

605:                                              ; preds = %604
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #10
  %606 = call noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %12) #10
  store i64 %606, ptr %139, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #10
  store i32 1, ptr %140, align 4, !tbaa !9
  %607 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %137, ptr noundef %138, i64 noundef 1136, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef @.str.9, ptr noundef nonnull align 4 dereferenceable(4) %140, ptr noundef @.str.12)
          to label %608 unwind label %870

608:                                              ; preds = %605
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #10
  br label %609

609:                                              ; preds = %608
  %610 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %611 unwind label %284

611:                                              ; preds = %609
  br i1 %610, label %597, label %612, !llvm.loop !31

612:                                              ; preds = %611
  call void @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(80) %12) #10
  call void @llvm.lifetime.end.p0(i64 80, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #10
  ret void

613:                                              ; preds = %369, %360, %359, %357, %352
  %614 = landingpad { ptr, i32 }
          cleanup
  %615 = extractvalue { ptr, i32 } %614, 0
  store ptr %615, ptr %5, align 8
  %616 = extractvalue { ptr, i32 } %614, 1
  store i32 %616, ptr %6, align 4
  br label %635

617:                                              ; preds = %361
  %618 = landingpad { ptr, i32 }
          cleanup
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %5, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %6, align 4
  br label %630

621:                                              ; preds = %364, %362
  %622 = landingpad { ptr, i32 }
          cleanup
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %5, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %6, align 4
  br label %629

625:                                              ; preds = %366, %365
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %5, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %6, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #10
  br label %629

629:                                              ; preds = %625, %621
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #10
  br label %630

630:                                              ; preds = %629, %617
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #10
  br label %635

631:                                              ; preds = %372
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %5, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %6, align 4
  br label %637

635:                                              ; preds = %630, %613
  invoke void @__cxa_end_catch()
          to label %636 unwind label %885

636:                                              ; preds = %635
  br label %637

637:                                              ; preds = %636, %631
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  br label %876

638:                                              ; preds = %383
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %5, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %6, align 4
  br label %661

642:                                              ; preds = %390, %385
  %643 = landingpad { ptr, i32 }
          cleanup
  %644 = extractvalue { ptr, i32 } %643, 0
  store ptr %644, ptr %5, align 8
  %645 = extractvalue { ptr, i32 } %643, 1
  store i32 %645, ptr %6, align 4
  br label %660

646:                                              ; preds = %391
  %647 = landingpad { ptr, i32 }
          cleanup
  %648 = extractvalue { ptr, i32 } %647, 0
  store ptr %648, ptr %5, align 8
  %649 = extractvalue { ptr, i32 } %647, 1
  store i32 %649, ptr %6, align 4
  br label %659

650:                                              ; preds = %394, %393
  %651 = landingpad { ptr, i32 }
          cleanup
  %652 = extractvalue { ptr, i32 } %651, 0
  store ptr %652, ptr %5, align 8
  %653 = extractvalue { ptr, i32 } %651, 1
  store i32 %653, ptr %6, align 4
  br label %658

654:                                              ; preds = %396, %395
  %655 = landingpad { ptr, i32 }
          cleanup
  %656 = extractvalue { ptr, i32 } %655, 0
  store ptr %656, ptr %5, align 8
  %657 = extractvalue { ptr, i32 } %655, 1
  store i32 %657, ptr %6, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #10
  br label %658

658:                                              ; preds = %654, %650
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #10
  br label %659

659:                                              ; preds = %658, %646
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #10
  br label %660

660:                                              ; preds = %659, %642
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  br label %661

661:                                              ; preds = %660, %638
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #10
  br label %876

662:                                              ; preds = %409, %407
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %5, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %6, align 4
  br label %680

666:                                              ; preds = %410
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %5, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %6, align 4
  br label %679

670:                                              ; preds = %413, %411
  %671 = landingpad { ptr, i32 }
          cleanup
  %672 = extractvalue { ptr, i32 } %671, 0
  store ptr %672, ptr %5, align 8
  %673 = extractvalue { ptr, i32 } %671, 1
  store i32 %673, ptr %6, align 4
  br label %678

674:                                              ; preds = %416
  %675 = landingpad { ptr, i32 }
          cleanup
  %676 = extractvalue { ptr, i32 } %675, 0
  store ptr %676, ptr %5, align 8
  %677 = extractvalue { ptr, i32 } %675, 1
  store i32 %677, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %678

678:                                              ; preds = %674, %670
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #10
  br label %679

679:                                              ; preds = %678, %666
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #10
  br label %680

680:                                              ; preds = %679, %662
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #10
  br label %876

681:                                              ; preds = %429
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %5, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %6, align 4
  br label %704

685:                                              ; preds = %436, %431
  %686 = landingpad { ptr, i32 }
          cleanup
  %687 = extractvalue { ptr, i32 } %686, 0
  store ptr %687, ptr %5, align 8
  %688 = extractvalue { ptr, i32 } %686, 1
  store i32 %688, ptr %6, align 4
  br label %703

689:                                              ; preds = %437
  %690 = landingpad { ptr, i32 }
          cleanup
  %691 = extractvalue { ptr, i32 } %690, 0
  store ptr %691, ptr %5, align 8
  %692 = extractvalue { ptr, i32 } %690, 1
  store i32 %692, ptr %6, align 4
  br label %702

693:                                              ; preds = %440, %439
  %694 = landingpad { ptr, i32 }
          cleanup
  %695 = extractvalue { ptr, i32 } %694, 0
  store ptr %695, ptr %5, align 8
  %696 = extractvalue { ptr, i32 } %694, 1
  store i32 %696, ptr %6, align 4
  br label %701

697:                                              ; preds = %442, %441
  %698 = landingpad { ptr, i32 }
          cleanup
  %699 = extractvalue { ptr, i32 } %698, 0
  store ptr %699, ptr %5, align 8
  %700 = extractvalue { ptr, i32 } %698, 1
  store i32 %700, ptr %6, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #10
  br label %701

701:                                              ; preds = %697, %693
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #10
  br label %702

702:                                              ; preds = %701, %689
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #10
  br label %703

703:                                              ; preds = %702, %685
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #10
  br label %704

704:                                              ; preds = %703, %681
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #10
  br label %876

705:                                              ; preds = %455, %453
  %706 = landingpad { ptr, i32 }
          cleanup
  %707 = extractvalue { ptr, i32 } %706, 0
  store ptr %707, ptr %5, align 8
  %708 = extractvalue { ptr, i32 } %706, 1
  store i32 %708, ptr %6, align 4
  br label %723

709:                                              ; preds = %456
  %710 = landingpad { ptr, i32 }
          cleanup
  %711 = extractvalue { ptr, i32 } %710, 0
  store ptr %711, ptr %5, align 8
  %712 = extractvalue { ptr, i32 } %710, 1
  store i32 %712, ptr %6, align 4
  br label %722

713:                                              ; preds = %459, %457
  %714 = landingpad { ptr, i32 }
          cleanup
  %715 = extractvalue { ptr, i32 } %714, 0
  store ptr %715, ptr %5, align 8
  %716 = extractvalue { ptr, i32 } %714, 1
  store i32 %716, ptr %6, align 4
  br label %721

717:                                              ; preds = %462
  %718 = landingpad { ptr, i32 }
          cleanup
  %719 = extractvalue { ptr, i32 } %718, 0
  store ptr %719, ptr %5, align 8
  %720 = extractvalue { ptr, i32 } %718, 1
  store i32 %720, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  br label %721

721:                                              ; preds = %717, %713
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #10
  br label %722

722:                                              ; preds = %721, %709
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #10
  br label %723

723:                                              ; preds = %722, %705
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #10
  br label %876

724:                                              ; preds = %475
  %725 = landingpad { ptr, i32 }
          cleanup
  %726 = extractvalue { ptr, i32 } %725, 0
  store ptr %726, ptr %5, align 8
  %727 = extractvalue { ptr, i32 } %725, 1
  store i32 %727, ptr %6, align 4
  br label %747

728:                                              ; preds = %482, %477
  %729 = landingpad { ptr, i32 }
          cleanup
  %730 = extractvalue { ptr, i32 } %729, 0
  store ptr %730, ptr %5, align 8
  %731 = extractvalue { ptr, i32 } %729, 1
  store i32 %731, ptr %6, align 4
  br label %746

732:                                              ; preds = %483
  %733 = landingpad { ptr, i32 }
          cleanup
  %734 = extractvalue { ptr, i32 } %733, 0
  store ptr %734, ptr %5, align 8
  %735 = extractvalue { ptr, i32 } %733, 1
  store i32 %735, ptr %6, align 4
  br label %745

736:                                              ; preds = %486, %485
  %737 = landingpad { ptr, i32 }
          cleanup
  %738 = extractvalue { ptr, i32 } %737, 0
  store ptr %738, ptr %5, align 8
  %739 = extractvalue { ptr, i32 } %737, 1
  store i32 %739, ptr %6, align 4
  br label %744

740:                                              ; preds = %488, %487
  %741 = landingpad { ptr, i32 }
          cleanup
  %742 = extractvalue { ptr, i32 } %741, 0
  store ptr %742, ptr %5, align 8
  %743 = extractvalue { ptr, i32 } %741, 1
  store i32 %743, ptr %6, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #10
  br label %744

744:                                              ; preds = %740, %736
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #10
  br label %745

745:                                              ; preds = %744, %732
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #10
  br label %746

746:                                              ; preds = %745, %728
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #10
  br label %747

747:                                              ; preds = %746, %724
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %86) #10
  br label %876

748:                                              ; preds = %501, %499
  %749 = landingpad { ptr, i32 }
          cleanup
  %750 = extractvalue { ptr, i32 } %749, 0
  store ptr %750, ptr %5, align 8
  %751 = extractvalue { ptr, i32 } %749, 1
  store i32 %751, ptr %6, align 4
  br label %766

752:                                              ; preds = %502
  %753 = landingpad { ptr, i32 }
          cleanup
  %754 = extractvalue { ptr, i32 } %753, 0
  store ptr %754, ptr %5, align 8
  %755 = extractvalue { ptr, i32 } %753, 1
  store i32 %755, ptr %6, align 4
  br label %765

756:                                              ; preds = %503
  %757 = landingpad { ptr, i32 }
          cleanup
  %758 = extractvalue { ptr, i32 } %757, 0
  store ptr %758, ptr %5, align 8
  %759 = extractvalue { ptr, i32 } %757, 1
  store i32 %759, ptr %6, align 4
  br label %764

760:                                              ; preds = %505
  %761 = landingpad { ptr, i32 }
          cleanup
  %762 = extractvalue { ptr, i32 } %761, 0
  store ptr %762, ptr %5, align 8
  %763 = extractvalue { ptr, i32 } %761, 1
  store i32 %763, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %764

764:                                              ; preds = %760, %756
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #10
  br label %765

765:                                              ; preds = %764, %752
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #10
  br label %766

766:                                              ; preds = %765, %748
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #10
  br label %876

767:                                              ; preds = %518, %516
  %768 = landingpad { ptr, i32 }
          cleanup
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %5, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %6, align 4
  br label %785

771:                                              ; preds = %519
  %772 = landingpad { ptr, i32 }
          cleanup
  %773 = extractvalue { ptr, i32 } %772, 0
  store ptr %773, ptr %5, align 8
  %774 = extractvalue { ptr, i32 } %772, 1
  store i32 %774, ptr %6, align 4
  br label %784

775:                                              ; preds = %520
  %776 = landingpad { ptr, i32 }
          cleanup
  %777 = extractvalue { ptr, i32 } %776, 0
  store ptr %777, ptr %5, align 8
  %778 = extractvalue { ptr, i32 } %776, 1
  store i32 %778, ptr %6, align 4
  br label %783

779:                                              ; preds = %522
  %780 = landingpad { ptr, i32 }
          cleanup
  %781 = extractvalue { ptr, i32 } %780, 0
  store ptr %781, ptr %5, align 8
  %782 = extractvalue { ptr, i32 } %780, 1
  store i32 %782, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %783

783:                                              ; preds = %779, %775
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #10
  br label %784

784:                                              ; preds = %783, %771
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #10
  br label %785

785:                                              ; preds = %784, %767
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #10
  br label %876

786:                                              ; preds = %535, %533
  %787 = landingpad { ptr, i32 }
          cleanup
  %788 = extractvalue { ptr, i32 } %787, 0
  store ptr %788, ptr %5, align 8
  %789 = extractvalue { ptr, i32 } %787, 1
  store i32 %789, ptr %6, align 4
  br label %804

790:                                              ; preds = %536
  %791 = landingpad { ptr, i32 }
          cleanup
  %792 = extractvalue { ptr, i32 } %791, 0
  store ptr %792, ptr %5, align 8
  %793 = extractvalue { ptr, i32 } %791, 1
  store i32 %793, ptr %6, align 4
  br label %803

794:                                              ; preds = %537
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %5, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %6, align 4
  br label %802

798:                                              ; preds = %539
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %5, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %802

802:                                              ; preds = %798, %794
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #10
  br label %803

803:                                              ; preds = %802, %790
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #10
  br label %804

804:                                              ; preds = %803, %786
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #10
  br label %876

805:                                              ; preds = %552, %550
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %5, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, ptr %6, align 4
  br label %823

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

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

817:                                              ; preds = %556
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %5, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  br label %821

821:                                              ; preds = %817, %813
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #10
  br label %822

822:                                              ; preds = %821, %809
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #10
  br label %823

823:                                              ; preds = %822, %805
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #10
  br label %876

824:                                              ; preds = %569, %567
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %5, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %6, align 4
  br label %842

828:                                              ; preds = %570
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %5, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %6, align 4
  br label %841

832:                                              ; preds = %571
  %833 = landingpad { ptr, i32 }
          cleanup
  %834 = extractvalue { ptr, i32 } %833, 0
  store ptr %834, ptr %5, align 8
  %835 = extractvalue { ptr, i32 } %833, 1
  store i32 %835, ptr %6, align 4
  br label %840

836:                                              ; preds = %573
  %837 = landingpad { ptr, i32 }
          cleanup
  %838 = extractvalue { ptr, i32 } %837, 0
  store ptr %838, ptr %5, align 8
  %839 = extractvalue { ptr, i32 } %837, 1
  store i32 %839, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  br label %840

840:                                              ; preds = %836, %832
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #10
  br label %841

841:                                              ; preds = %840, %828
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #10
  br label %842

842:                                              ; preds = %841, %824
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #10
  br label %876

843:                                              ; preds = %586, %584
  %844 = landingpad { ptr, i32 }
          cleanup
  %845 = extractvalue { ptr, i32 } %844, 0
  store ptr %845, ptr %5, align 8
  %846 = extractvalue { ptr, i32 } %844, 1
  store i32 %846, ptr %6, align 4
  br label %861

847:                                              ; preds = %587
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %5, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %6, align 4
  br label %860

851:                                              ; preds = %588
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %5, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %6, align 4
  br label %859

855:                                              ; preds = %590
  %856 = landingpad { ptr, i32 }
          cleanup
  %857 = extractvalue { ptr, i32 } %856, 0
  store ptr %857, ptr %5, align 8
  %858 = extractvalue { ptr, i32 } %856, 1
  store i32 %858, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %859

859:                                              ; preds = %855, %851
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #10
  br label %860

860:                                              ; preds = %859, %847
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #10
  br label %861

861:                                              ; preds = %860, %843
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #10
  br label %876

862:                                              ; preds = %603, %601
  %863 = landingpad { ptr, i32 }
          cleanup
  %864 = extractvalue { ptr, i32 } %863, 0
  store ptr %864, ptr %5, align 8
  %865 = extractvalue { ptr, i32 } %863, 1
  store i32 %865, ptr %6, align 4
  br label %875

866:                                              ; preds = %604
  %867 = landingpad { ptr, i32 }
          cleanup
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %5, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %6, align 4
  br label %874

870:                                              ; preds = %605
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %5, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #10
  br label %874

874:                                              ; preds = %870, %866
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #10
  br label %875

875:                                              ; preds = %874, %862
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #10
  br label %876

876:                                              ; preds = %875, %861, %842, %823, %804, %785, %766, %747, %723, %704, %680, %661, %637, %348, %329, %315, %301, %284, %283, %274, %265
  call void @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(80) %12) #10
  br label %877

877:                                              ; preds = %876, %253
  call void @llvm.lifetime.end.p0(i64 80, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #10
  br label %878

878:                                              ; preds = %877, %249
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #10
  br label %879

879:                                              ; preds = %878, %245
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #10
  br label %880

880:                                              ; preds = %879
  %881 = load ptr, ptr %5, align 8
  %882 = load i32, ptr %6, align 4
  %883 = insertvalue { ptr, i32 } poison, ptr %881, 0
  %884 = insertvalue { ptr, i32 } %883, i32 %882, 1
  resume { ptr, i32 } %884

885:                                              ; preds = %635
  %886 = landingpad { ptr, i32 }
          catch ptr null
  %887 = extractvalue { ptr, i32 } %886, 0
  call void @__clang_call_terminate(ptr %887) #12
  unreachable
}

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #9

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

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

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(80)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare hidden { ptr, i8 } @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(12)) #5 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(8)) #5 align 2

; Function Attrs: mustprogress uwtable
declare hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(8)) #5 align 2

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

; Function Attrs: mustprogress uwtable
declare hidden ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(8)) #5 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(8)) #5 align 2

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

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

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

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

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

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

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

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

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

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}
!23 = distinct !{!23, !14}
!24 = distinct !{!24, !14}
!25 = distinct !{!25, !14}
!26 = distinct !{!26, !14}
!27 = distinct !{!27, !14}
!28 = distinct !{!28, !14}
!29 = distinct !{!29, !14}
!30 = distinct !{!30, !14}
!31 = distinct !{!31, !14}


; 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.boost::unit_test::lazy_ostream_impl" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream.base" = type <{ ptr, i8 }>
%"class.boost::unit_test::lazy_ostream_impl.14" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream_impl.104" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream_impl.106" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.std::unique_ptr.159" = type { %"struct.std::__uniq_ptr_data.160" }
%"struct.std::__uniq_ptr_data.160" = type { %"class.std::__uniq_ptr_impl.161" }
%"class.std::__uniq_ptr_impl.161" = type { %"class.std::tuple.162" }
%"class.std::tuple.162" = type { %"struct.std::_Tuple_impl.163" }
%"struct.std::_Tuple_impl.163" = type { %"struct.std::_Head_base.166" }
%"struct.std::_Head_base.166" = type { ptr }
%"class.tsl::robin_map.167" = type { %"class.tsl::detail_robin_hash::robin_hash.168" }
%"class.tsl::detail_robin_hash::robin_hash.168" = type <{ %"class.tsl::rh::power_of_two_growth_policy", %"class.std::vector.169", ptr, i64, i64, i64, float, i8, [3 x i8], float, i8, [3 x i8] }>
%"class.tsl::rh::power_of_two_growth_policy" = type { i64 }
%"class.std::vector.169" = type { %"struct.std::_Vector_base.170" }
%"struct.std::_Vector_base.170" = type { %"struct.std::_Vector_base<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>, std::allocator<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>>>::_Vector_impl" }
%"struct.std::_Vector_base<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>, std::allocator<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>>>::_Vector_impl" = type { %"struct.std::_Vector_base<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>, std::allocator<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>, std::allocator<tsl::detail_robin_hash::bucket_entry<std::pair<std::unique_ptr<int>, int>, true>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::pair.178" = type <{ %"class.std::unique_ptr.159", i32, [4 x i8] }>
%"class.boost::unit_test::basic_cstring" = type { ptr, ptr }
%"class.boost::test_tools::assertion_result" = type { %"class.boost::test_tools::assertion_result::readonly_property65", %"class.boost::shared_ptr" }
%"class.boost::test_tools::assertion_result::readonly_property65" = type { %"class.boost::unit_test::readonly_property" }
%"class.boost::unit_test::readonly_property" = type { %"class.boost::unit_test::class_property" }
%"class.boost::unit_test::class_property" = type { i8 }
%"class.boost::shared_ptr" = type { ptr, %"class.boost::detail::shared_count" }
%"class.boost::detail::shared_count" = type { ptr }
%"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator" = type { ptr }

@_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE = external hidden local_unnamed_addr global ptr, align 8
@.str.3 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZTISt12out_of_range = external constant ptr
@.str.205 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [24 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

declare void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv() local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef) local_unnamed_addr #3

declare noundef zeroext i1 @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, i64 noundef, ...) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl.14") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsIA52_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl.104") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(52)) local_unnamed_addr #3

; Function Attrs: nofree nosync nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #6

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsIA49_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl.106") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(49)) local_unnamed_addr #3

declare void @__cxa_end_catch() local_unnamed_addr

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

; Function Attrs: alwaysinline mustprogress nounwind uwtable
declare dso_local void @_ZN5boost13ignore_unusedIJSt12out_of_rangeEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #8

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN14test_robin_map26test_heterogeneous_lookups11test_methodEv(ptr nocapture noundef nonnull readnone align 1 dereferenceable(1) %0) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.std::unique_ptr.159", align 8
  %3 = alloca %"class.std::unique_ptr.159", align 8
  %4 = alloca %"class.std::unique_ptr.159", align 8
  %5 = alloca i32, align 4
  %6 = alloca i64, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %"class.tsl::robin_map.167", align 8
  %10 = alloca %"struct.std::pair.178", align 8
  %11 = alloca i32, align 4
  %12 = alloca %"struct.std::pair.178", align 8
  %13 = alloca i32, align 4
  %14 = alloca %"struct.std::pair.178", align 8
  %15 = alloca i32, align 4
  %16 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %17 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %18 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %19 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %20 = alloca i64, align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %23 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %24 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %25 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %26 = alloca i32, align 4
  %27 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %28 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %29 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %30 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %31 = alloca i32, align 4
  %32 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %33 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %34 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %35 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %36 = alloca %"class.boost::test_tools::assertion_result", align 8
  %37 = alloca %"class.boost::unit_test::lazy_ostream_impl.104", align 8
  %38 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %39 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %40 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %41 = alloca %"class.boost::test_tools::assertion_result", align 8
  %42 = alloca %"class.boost::unit_test::lazy_ostream_impl.106", align 8
  %43 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %44 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %45 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %46 = alloca %"class.boost::test_tools::assertion_result", align 8
  %47 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %48 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %49 = alloca %"class.boost::unit_test::lazy_ostream_impl.14", align 8
  %50 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %51 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %52 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %53 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %54 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %55 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %56 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %57 = alloca i32, align 4
  %58 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %59 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %60 = alloca %"class.boost::test_tools::assertion_result", align 8
  %61 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %62 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %63 = alloca %"class.boost::unit_test::lazy_ostream_impl.14", align 8
  %64 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %65 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %66 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %67 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %68 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %69 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %70 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %71 = alloca i32, align 4
  %72 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %73 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %74 = alloca %"class.boost::test_tools::assertion_result", align 8
  %75 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %76 = alloca %"class.tsl::detail_robin_hash::robin_hash<std::pair<std::unique_ptr<int>, int>, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::KeySelect, tsl::robin_map<std::unique_ptr<int>, int, hash_ptr, equal_to_ptr>::ValueSelect, hash_ptr, equal_to_ptr, std::allocator<std::pair<std::unique_ptr<int>, int>>, false, tsl::rh::power_of_two_growth_policy<2>>::robin_iterator", align 8
  %77 = alloca %"class.boost::unit_test::lazy_ostream_impl.14", align 8
  %78 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %79 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %80 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %81 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %82 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %83 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %84 = alloca i64, align 8
  %85 = alloca i32, align 4
  %86 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %87 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %88 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %89 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %90 = alloca i64, align 8
  %91 = alloca i32, align 4
  %92 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %93 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %94 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %95 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %96 = alloca i64, align 8
  %97 = alloca i32, align 4
  %98 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %99 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %100 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %101 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %102 = alloca i64, align 8
  %103 = alloca i32, align 4
  %104 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %105 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %106 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %107 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %108 = alloca i64, align 8
  %109 = alloca i32, align 4
  %110 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %111 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %112 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %113 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %114 = alloca i64, align 8
  %115 = alloca i32, align 4
  %116 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %117 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %118 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 8
  %119 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %120 = alloca i64, align 8
  %121 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #10
  %122 = tail call noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #11
  store i32 1, ptr %122, align 4, !tbaa !5
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEEC2IS1_vEEPi(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull %122) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #10
  %123 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #11
          to label %124 unwind label %180

124:                                              ; preds = %1
  store i32 2, ptr %123, align 4, !tbaa !5
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEEC2IS1_vEEPi(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull %123) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #10
  %125 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #11
          to label %126 unwind label %184

126:                                              ; preds = %124
  store i32 3, ptr %125, align 4, !tbaa !5
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEEC2IS1_vEEPi(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull %125) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #10
  store i32 -1, ptr %5, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #10
  %127 = call noundef ptr @_ZNKSt10unique_ptrIiSt14default_deleteIiEE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #10
  %128 = ptrtoint ptr %127 to i64
  store i64 %128, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #10
  %129 = call noundef ptr @_ZNKSt10unique_ptrIiSt14default_deleteIiEE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #10
  store ptr %129, ptr %7, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #10
  store ptr %5, ptr %8, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %9) #10
  invoke void @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(80) %9)
          to label %130 unwind label %188

130:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #10
  store i32 4, ptr %11, align 4, !tbaa !5
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiEC2IS3_iTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS7_S8_EEEbE4typeELb1EEEOS7_OS8_(ptr noundef nonnull align 8 dereferenceable(12) %10, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 4 dereferenceable(4) %11)
  %131 = invoke { ptr, i8 } @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(12) %10)
          to label %132 unwind label %192

132:                                              ; preds = %130
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %10) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #10
  store i32 5, ptr %13, align 4, !tbaa !5
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiEC2IS3_iTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS7_S8_EEEbE4typeELb1EEEOS7_OS8_(ptr noundef nonnull align 8 dereferenceable(12) %12, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 4 dereferenceable(4) %13)
  %133 = invoke { ptr, i8 } @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(12) %12)
          to label %134 unwind label %196

134:                                              ; preds = %132
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %12) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #10
  store i32 6, ptr %15, align 4, !tbaa !5
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiEC2IS3_iTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS7_S8_EEEbE4typeELb1EEEOS7_OS8_(ptr noundef nonnull align 8 dereferenceable(12) %14, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 4 dereferenceable(4) %15)
  %135 = invoke { ptr, i8 } @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(12) %14)
          to label %136 unwind label %200

136:                                              ; preds = %134
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %14) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #10
  br label %137

137:                                              ; preds = %145, %136
  %138 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %139 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

139:                                              ; preds = %137
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %138, ptr noundef nonnull %16, i64 noundef 1109, ptr noundef nonnull %17)
          to label %140 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

140:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #10
  %141 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %18, ptr noundef nonnull align 8 dereferenceable(9) %141, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %142 unwind label %206

142:                                              ; preds = %140
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %19, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #10
  %143 = call noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %9) #10
  store i64 %143, ptr %20, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #10
  store i32 3, ptr %21, align 4, !tbaa !5
  %144 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %18, ptr noundef nonnull %19, i64 noundef 1109, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull @.str.9, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull @.str.22)
          to label %145 unwind label %208

145:                                              ; preds = %142
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #10
  %146 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %146, label %137, label %.preheader157, !llvm.loop !13

.preheader157:                                    ; preds = %145, %155
  %147 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %148 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

148:                                              ; preds = %.preheader157
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %147, ptr noundef nonnull %22, i64 noundef 1112, ptr noundef nonnull %23)
          to label %149 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

149:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #10
  %150 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %24, ptr noundef nonnull align 8 dereferenceable(9) %150, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %151 unwind label %211

151:                                              ; preds = %149
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull @.str.3, i64 noundef 96)
  %152 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %153 unwind label %213

153:                                              ; preds = %151
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #10
  store i32 4, ptr %26, align 4, !tbaa !5
  %154 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %24, ptr noundef nonnull %25, i64 noundef 1112, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %152, ptr noundef nonnull @.str.241, ptr noundef nonnull align 4 dereferenceable(4) %26, ptr noundef nonnull @.str.24)
          to label %155 unwind label %215

155:                                              ; preds = %153
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #10
  %156 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %156, label %.preheader157, label %.preheader153, !llvm.loop !15

.preheader153:                                    ; preds = %155, %165
  %157 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %158 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

158:                                              ; preds = %.preheader153
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull %27, i64 noundef 1113, ptr noundef nonnull %28)
          to label %159 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

159:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #10
  %160 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %29, ptr noundef nonnull align 8 dereferenceable(9) %160, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %161 unwind label %219

161:                                              ; preds = %159
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %30, ptr noundef nonnull @.str.3, i64 noundef 96)
  %162 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %163 unwind label %221

163:                                              ; preds = %161
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #10
  store i32 5, ptr %31, align 4, !tbaa !5
  %164 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %29, ptr noundef nonnull %30, i64 noundef 1113, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %162, ptr noundef nonnull @.str.242, ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef nonnull @.str.26)
          to label %165 unwind label %223

165:                                              ; preds = %163
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #10
  %166 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %166, label %.preheader153, label %.preheader151, !llvm.loop !16

.preheader151:                                    ; preds = %165, %.loopexit150
  %167 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %168 unwind label %.loopexit.split-lp147

168:                                              ; preds = %.preheader151
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef nonnull %32, i64 noundef 1114, ptr noundef nonnull %33)
          to label %169 unwind label %.loopexit.split-lp147

169:                                              ; preds = %168
  %170 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %.preheader145 unwind label %.loopexit.split-lp147

.preheader145:                                    ; preds = %169, %178
  %171 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %172 unwind label %.loopexit146

172:                                              ; preds = %.preheader145
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %171, ptr noundef nonnull %34, i64 noundef 1114, ptr noundef nonnull %35)
          to label %173 unwind label %.loopexit146

173:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #10
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %36, i1 noundef zeroext false)
          to label %174 unwind label %227

174:                                              ; preds = %173
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #10
  %175 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA52_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.104") align 8 %37, ptr noundef nonnull align 8 dereferenceable(9) %175, ptr noundef nonnull align 1 dereferenceable(52) @.str.205)
          to label %176 unwind label %229

176:                                              ; preds = %174
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %38, ptr noundef nonnull @.str.3, i64 noundef 96)
  %177 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(9) %37, ptr noundef nonnull %38, i64 noundef 1114, i32 noundef 1, i32 noundef 1, i64 noundef 0)
          to label %178 unwind label %231

178:                                              ; preds = %176
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #10
  %179 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %179, label %.preheader145, label %.loopexit150, !llvm.loop !17

180:                                              ; preds = %1
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  %183 = extractvalue { ptr, i32 } %181, 1
  br label %505

184:                                              ; preds = %124
  %185 = landingpad { ptr, i32 }
          cleanup
  %186 = extractvalue { ptr, i32 } %185, 0
  %187 = extractvalue { ptr, i32 } %185, 1
  br label %504

188:                                              ; preds = %126
  %189 = landingpad { ptr, i32 }
          cleanup
  %190 = extractvalue { ptr, i32 } %189, 0
  %191 = extractvalue { ptr, i32 } %189, 1
  br label %503

192:                                              ; preds = %130
  %193 = landingpad { ptr, i32 }
          cleanup
  %194 = extractvalue { ptr, i32 } %193, 0
  %195 = extractvalue { ptr, i32 } %193, 1
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %10) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #10
  br label %.loopexit152

196:                                              ; preds = %132
  %197 = landingpad { ptr, i32 }
          cleanup
  %198 = extractvalue { ptr, i32 } %197, 0
  %199 = extractvalue { ptr, i32 } %197, 1
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %12) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #10
  br label %.loopexit152

200:                                              ; preds = %134
  %201 = landingpad { ptr, i32 }
          cleanup
  %202 = extractvalue { ptr, i32 } %201, 0
  %203 = extractvalue { ptr, i32 } %201, 1
  call void @_ZNSt4pairISt10unique_ptrIiSt14default_deleteIiEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(12) %14) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #10
  br label %.loopexit152

.loopexit:                                        ; preds = %.preheader, %378
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit:                      ; preds = %368, %.preheader106
  %lpad.loopexit107 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit:    ; preds = %.preheader110, %358
  %lpad.loopexit111 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %348, %.preheader113
  %lpad.loopexit114 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader117, %338
  %lpad.loopexit118 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %328, %.preheader120
  %lpad.loopexit121 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader124, %318
  %lpad.loopexit125 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %305, %.preheader127
  %lpad.loopexit128 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader131, %293
  %lpad.loopexit132 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %279, %.preheader134
  %lpad.loopexit135 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader138, %267
  %lpad.loopexit139 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %253, %.preheader141
  %lpad.loopexit142 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader153, %158
  %lpad.loopexit154 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %148, %.preheader157
  %lpad.loopexit158 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %139, %137
  %lpad.loopexit.split-lp159 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp:                               ; preds = %.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit
  %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit107, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit111, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit114, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit118, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit121, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit125, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit128, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit132, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit135, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit139, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit142, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit154, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit158, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp159, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ]
  %204 = extractvalue { ptr, i32 } %lpad.phi, 0
  %205 = extractvalue { ptr, i32 } %lpad.phi, 1
  br label %.loopexit152

206:                                              ; preds = %140
  %207 = landingpad { ptr, i32 }
          cleanup
  br label %210

208:                                              ; preds = %142
  %209 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  br label %210

210:                                              ; preds = %208, %206
  %.pn = phi { ptr, i32 } [ %209, %208 ], [ %207, %206 ]
  %.0 = extractvalue { ptr, i32 } %.pn, 0
  %.09 = extractvalue { ptr, i32 } %.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #10
  br label %.loopexit152

211:                                              ; preds = %149
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %218

213:                                              ; preds = %151
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %217

215:                                              ; preds = %153
  %216 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #10
  br label %217

217:                                              ; preds = %215, %213
  %.pn52 = phi { ptr, i32 } [ %216, %215 ], [ %214, %213 ]
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  br label %218

218:                                              ; preds = %217, %211
  %.pn52.pn = phi { ptr, i32 } [ %.pn52, %217 ], [ %212, %211 ]
  %.2 = extractvalue { ptr, i32 } %.pn52.pn, 0
  %.211 = extractvalue { ptr, i32 } %.pn52.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #10
  br label %.loopexit152

219:                                              ; preds = %159
  %220 = landingpad { ptr, i32 }
          cleanup
  br label %226

221:                                              ; preds = %161
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %225

223:                                              ; preds = %163
  %224 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #10
  br label %225

225:                                              ; preds = %223, %221
  %.pn55 = phi { ptr, i32 } [ %224, %223 ], [ %222, %221 ]
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #10
  br label %226

226:                                              ; preds = %225, %219
  %.pn55.pn = phi { ptr, i32 } [ %.pn55, %225 ], [ %220, %219 ]
  %.4 = extractvalue { ptr, i32 } %.pn55.pn, 0
  %.413 = extractvalue { ptr, i32 } %.pn55.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #10
  br label %.loopexit152

.loopexit146:                                     ; preds = %.preheader145, %172
  %lpad.loopexit148 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  br label %235

.loopexit.split-lp147:                            ; preds = %.preheader151, %168, %169
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  br label %235

227:                                              ; preds = %173
  %228 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  br label %234

229:                                              ; preds = %174
  %230 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  br label %233

231:                                              ; preds = %176
  %232 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt12out_of_range
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #10
  br label %233

233:                                              ; preds = %231, %229
  %.pn58 = phi { ptr, i32 } [ %232, %231 ], [ %230, %229 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #10
  br label %234

234:                                              ; preds = %233, %227
  %.pn58.pn = phi { ptr, i32 } [ %.pn58, %233 ], [ %228, %227 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #10
  br label %235

235:                                              ; preds = %.loopexit146, %.loopexit.split-lp147, %234
  %.pn58.pn.pn = phi { ptr, i32 } [ %.pn58.pn, %234 ], [ %lpad.loopexit148, %.loopexit146 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp147 ]
  %.7 = extractvalue { ptr, i32 } %.pn58.pn.pn, 0
  %.716 = extractvalue { ptr, i32 } %.pn58.pn.pn, 1
  %236 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt12out_of_range) #10
  %237 = icmp eq i32 %.716, %236
  br i1 %237, label %238, label %.loopexit152

238:                                              ; preds = %235
  %239 = call ptr @__cxa_begin_catch(ptr %.7) #10
  call void @_ZN5boost13ignore_unusedIJSt12out_of_rangeEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(16) %239)
  br label %240

240:                                              ; preds = %248, %238
  %241 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40)
          to label %242 unwind label %387

242:                                              ; preds = %240
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef nonnull %39, i64 noundef 1114, ptr noundef nonnull %40)
          to label %243 unwind label %387

243:                                              ; preds = %242
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) #10
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %41, i1 noundef zeroext true)
          to label %244 unwind label %389

244:                                              ; preds = %243
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #10
  %245 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA49_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.106") align 8 %42, ptr noundef nonnull align 8 dereferenceable(9) %245, ptr noundef nonnull align 1 dereferenceable(49) @.str.206)
          to label %246 unwind label %391

246:                                              ; preds = %244
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %43, ptr noundef nonnull @.str.3, i64 noundef 96)
  %247 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(9) %42, ptr noundef nonnull %43, i64 noundef 1114, i32 noundef 1, i32 noundef 1, i64 noundef 0)
          to label %248 unwind label %393

248:                                              ; preds = %246
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #10
  %249 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %249, label %240, label %250, !llvm.loop !18

250:                                              ; preds = %248
  invoke void @__cxa_end_catch()
          to label %.loopexit150 unwind label %397

.loopexit150:                                     ; preds = %178, %250
  %251 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %251, label %.preheader151, label %.preheader141, !llvm.loop !19

.preheader141:                                    ; preds = %.loopexit150, %264
  %252 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %44, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45)
          to label %253 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

253:                                              ; preds = %.preheader141
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %252, ptr noundef nonnull %44, i64 noundef 1117, ptr noundef nonnull %45)
          to label %254 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

254:                                              ; preds = %253
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #10
  %255 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %256 unwind label %401

256:                                              ; preds = %254
  store ptr %255, ptr %47, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #10
  %257 = call ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE3endEv(ptr noundef nonnull align 8 dereferenceable(80) %9) #10
  store ptr %257, ptr %48, align 8
  %258 = invoke noundef zeroext i1 @_ZN3tsl17detail_robin_hashneERKNS0_10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEESO_(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %259 unwind label %403

259:                                              ; preds = %256
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %46, i1 noundef zeroext %258)
          to label %260 unwind label %403

260:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #10
  %261 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #10
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %50, ptr noundef nonnull @.str.243, i64 noundef 28)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.14") align 8 %49, ptr noundef nonnull align 8 dereferenceable(9) %261, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %262 unwind label %405

262:                                              ; preds = %260
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %51, ptr noundef nonnull @.str.3, i64 noundef 96)
  %263 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr noundef nonnull align 8 dereferenceable(9) %49, ptr noundef nonnull %51, i64 noundef 1117, i32 noundef 2, i32 noundef 0, i64 noundef 0)
          to label %264 unwind label %407

264:                                              ; preds = %262
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #10
  %265 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %265, label %.preheader141, label %.preheader138, !llvm.loop !20

.preheader138:                                    ; preds = %264, %276
  %266 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %52, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %267 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

267:                                              ; preds = %.preheader138
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %266, ptr noundef nonnull %52, i64 noundef 1118, ptr noundef nonnull %53)
          to label %268 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

268:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #10
  %269 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %54, ptr noundef nonnull align 8 dereferenceable(9) %269, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %270 unwind label %412

270:                                              ; preds = %268
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %55, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #10
  %271 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %272 unwind label %414

272:                                              ; preds = %270
  store ptr %271, ptr %56, align 8
  %273 = call noundef ptr @_ZNK3tsl17detail_robin_hash10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
  %274 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt10unique_ptrIiSt14default_deleteIiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %273) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %57) #10
  store i32 1, ptr %57, align 4, !tbaa !5
  %275 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %54, ptr noundef nonnull %55, i64 noundef 1118, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %274, ptr noundef nonnull @.str.244, ptr noundef nonnull align 4 dereferenceable(4) %57, ptr noundef nonnull @.str.12)
          to label %276 unwind label %416

276:                                              ; preds = %272
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #10
  %277 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %277, label %.preheader138, label %.preheader134, !llvm.loop !21

.preheader134:                                    ; preds = %276, %290
  %278 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %58, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %279 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

279:                                              ; preds = %.preheader134
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %278, ptr noundef nonnull %58, i64 noundef 1120, ptr noundef nonnull %59)
          to label %280 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

280:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %60) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #10
  %281 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %282 unwind label %420

282:                                              ; preds = %280
  store ptr %281, ptr %61, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #10
  %283 = call ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE3endEv(ptr noundef nonnull align 8 dereferenceable(80) %9) #10
  store ptr %283, ptr %62, align 8
  %284 = invoke noundef zeroext i1 @_ZN3tsl17detail_robin_hashneERKNS0_10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEESO_(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %285 unwind label %422

285:                                              ; preds = %282
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %60, i1 noundef zeroext %284)
          to label %286 unwind label %422

286:                                              ; preds = %285
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #10
  %287 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) #10
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %64, ptr noundef nonnull @.str.245, i64 noundef 28)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.14") align 8 %63, ptr noundef nonnull align 8 dereferenceable(9) %287, ptr noundef nonnull align 8 dereferenceable(16) %64)
          to label %288 unwind label %424

288:                                              ; preds = %286
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %65, ptr noundef nonnull @.str.3, i64 noundef 96)
  %289 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(9) %63, ptr noundef nonnull %65, i64 noundef 1120, i32 noundef 2, i32 noundef 0, i64 noundef 0)
          to label %290 unwind label %426

290:                                              ; preds = %288
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %60) #10
  %291 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %291, label %.preheader134, label %.preheader131, !llvm.loop !22

.preheader131:                                    ; preds = %290, %302
  %292 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %66, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67)
          to label %293 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

293:                                              ; preds = %.preheader131
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %292, ptr noundef nonnull %66, i64 noundef 1121, ptr noundef nonnull %67)
          to label %294 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

294:                                              ; preds = %293
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #10
  %295 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %68, ptr noundef nonnull align 8 dereferenceable(9) %295, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %296 unwind label %431

296:                                              ; preds = %294
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %69, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #10
  %297 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %298 unwind label %433

298:                                              ; preds = %296
  store ptr %297, ptr %70, align 8
  %299 = call noundef ptr @_ZNK3tsl17detail_robin_hash10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %70)
  %300 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt10unique_ptrIiSt14default_deleteIiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %299) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #10
  store i32 2, ptr %71, align 4, !tbaa !5
  %301 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %68, ptr noundef nonnull %69, i64 noundef 1121, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %300, ptr noundef nonnull @.str.246, ptr noundef nonnull align 4 dereferenceable(4) %71, ptr noundef nonnull @.str.14)
          to label %302 unwind label %435

302:                                              ; preds = %298
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #10
  %303 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %303, label %.preheader131, label %.preheader127, !llvm.loop !23

.preheader127:                                    ; preds = %302, %315
  %304 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %72, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73)
          to label %305 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

305:                                              ; preds = %.preheader127
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %304, ptr noundef nonnull %72, i64 noundef 1123, ptr noundef nonnull %73)
          to label %306 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

306:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %74) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #10
  %307 = invoke ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4findIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEENS_17detail_robin_hash10robin_hashISA_NSF_9KeySelectENSF_11ValueSelectES7_S8_SB_Lb0ESE_E14robin_iteratorILb0EEERKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %308 unwind label %439

308:                                              ; preds = %306
  store ptr %307, ptr %75, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #10
  %309 = call ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE3endEv(ptr noundef nonnull align 8 dereferenceable(80) %9) #10
  store ptr %309, ptr %76, align 8
  %310 = call noundef zeroext i1 @_ZN3tsl17detail_robin_hasheqERKNS0_10robin_hashISt4pairISt10unique_ptrIiSt14default_deleteIiEEiENS_9robin_mapIS6_iZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNSA_11test_methodEvE12equal_to_ptrSaIS7_ELb0ENS_2rh26power_of_two_growth_policyILm2EEEE9KeySelectENSH_11ValueSelectESB_SC_SD_Lb0ESG_E14robin_iteratorILb0EEESO_(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 8 dereferenceable(8) %76)
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %74, i1 noundef zeroext %310)
          to label %311 unwind label %441

311:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #10
  %312 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %78) #10
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %78, ptr noundef nonnull @.str.247, i64 noundef 35)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.14") align 8 %77, ptr noundef nonnull align 8 dereferenceable(9) %312, ptr noundef nonnull align 8 dereferenceable(16) %78)
          to label %313 unwind label %443

313:                                              ; preds = %311
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %79, ptr noundef nonnull @.str.3, i64 noundef 96)
  %314 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 8 dereferenceable(9) %77, ptr noundef nonnull %79, i64 noundef 1123, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %315 unwind label %445

315:                                              ; preds = %313
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %78) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %74) #10
  %316 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %316, label %.preheader127, label %.preheader124, !llvm.loop !24

.preheader124:                                    ; preds = %315, %325
  %317 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %80, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %81)
          to label %318 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

318:                                              ; preds = %.preheader124
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %317, ptr noundef nonnull %80, i64 noundef 1126, ptr noundef nonnull %81)
          to label %319 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

319:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #10
  %320 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %82, ptr noundef nonnull align 8 dereferenceable(9) %320, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %321 unwind label %450

321:                                              ; preds = %319
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %83, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #10
  %322 = invoke noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5countImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %323 unwind label %452

323:                                              ; preds = %321
  store i64 %322, ptr %84, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %85) #10
  store i32 1, ptr %85, align 4, !tbaa !5
  %324 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %82, ptr noundef nonnull %83, i64 noundef 1126, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull @.str.248, ptr noundef nonnull align 4 dereferenceable(4) %85, ptr noundef nonnull @.str.12)
          to label %325 unwind label %454

325:                                              ; preds = %323
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #10
  %326 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %326, label %.preheader124, label %.preheader120, !llvm.loop !25

.preheader120:                                    ; preds = %325, %335
  %327 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %86, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %87)
          to label %328 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

328:                                              ; preds = %.preheader120
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %327, ptr noundef nonnull %86, i64 noundef 1127, ptr noundef nonnull %87)
          to label %329 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

329:                                              ; preds = %328
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #10
  %330 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %88, ptr noundef nonnull align 8 dereferenceable(9) %330, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %331 unwind label %458

331:                                              ; preds = %329
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %89, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #10
  %332 = invoke noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5countIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %333 unwind label %460

333:                                              ; preds = %331
  store i64 %332, ptr %90, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %91) #10
  store i32 1, ptr %91, align 4, !tbaa !5
  %334 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %88, ptr noundef nonnull %89, i64 noundef 1127, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull @.str.249, ptr noundef nonnull align 4 dereferenceable(4) %91, ptr noundef nonnull @.str.12)
          to label %335 unwind label %462

335:                                              ; preds = %333
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #10
  %336 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %336, label %.preheader120, label %.preheader117, !llvm.loop !26

.preheader117:                                    ; preds = %335, %345
  %337 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %92, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %93)
          to label %338 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

338:                                              ; preds = %.preheader117
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %337, ptr noundef nonnull %92, i64 noundef 1128, ptr noundef nonnull %93)
          to label %339 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

339:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #10
  %340 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %94, ptr noundef nonnull align 8 dereferenceable(9) %340, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %341 unwind label %466

341:                                              ; preds = %339
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %95, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #10
  %342 = invoke noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5countIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %343 unwind label %468

343:                                              ; preds = %341
  store i64 %342, ptr %96, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %97) #10
  store i32 0, ptr %97, align 4, !tbaa !5
  %344 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %94, ptr noundef nonnull %95, i64 noundef 1128, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef nonnull @.str.250, ptr noundef nonnull align 4 dereferenceable(4) %97, ptr noundef nonnull @.str.99)
          to label %345 unwind label %470

345:                                              ; preds = %343
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %97) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #10
  %346 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %346, label %.preheader117, label %.preheader113, !llvm.loop !27

.preheader113:                                    ; preds = %345, %355
  %347 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %98, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %99)
          to label %348 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

348:                                              ; preds = %.preheader113
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %347, ptr noundef nonnull %98, i64 noundef 1131, ptr noundef nonnull %99)
          to label %349 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

349:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %100) #10
  %350 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %100, ptr noundef nonnull align 8 dereferenceable(9) %350, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %351 unwind label %474

351:                                              ; preds = %349
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %101, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #10
  %352 = invoke noundef i64 @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5eraseImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %353 unwind label %476

353:                                              ; preds = %351
  store i64 %352, ptr %102, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %103) #10
  store i32 1, ptr %103, align 4, !tbaa !5
  %354 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %100, ptr noundef nonnull %101, i64 noundef 1131, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %102, ptr noundef nonnull @.str.251, ptr noundef nonnull align 4 dereferenceable(4) %103, ptr noundef nonnull @.str.12)
          to label %355 unwind label %478

355:                                              ; preds = %353
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %103) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #10
  %356 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %356, label %.preheader113, label %.preheader110, !llvm.loop !28

.preheader110:                                    ; preds = %355, %365
  %357 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %104, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %105)
          to label %358 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit

358:                                              ; preds = %.preheader110
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %357, ptr noundef nonnull %104, i64 noundef 1132, ptr noundef nonnull %105)
          to label %359 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit

359:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %106) #10
  %360 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %106, ptr noundef nonnull align 8 dereferenceable(9) %360, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %361 unwind label %482

361:                                              ; preds = %359
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %107, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #10
  %362 = invoke noundef i64 @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5eraseIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %363 unwind label %484

363:                                              ; preds = %361
  store i64 %362, ptr %108, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %109) #10
  store i32 1, ptr %109, align 4, !tbaa !5
  %364 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %106, ptr noundef nonnull %107, i64 noundef 1132, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef nonnull @.str.252, ptr noundef nonnull align 4 dereferenceable(4) %109, ptr noundef nonnull @.str.12)
          to label %365 unwind label %486

365:                                              ; preds = %363
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %109) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #10
  %366 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %366, label %.preheader110, label %.preheader106, !llvm.loop !29

.preheader106:                                    ; preds = %365, %375
  %367 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %110, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %111)
          to label %368 unwind label %.loopexit.split-lp.loopexit

368:                                              ; preds = %.preheader106
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %367, ptr noundef nonnull %110, i64 noundef 1133, ptr noundef nonnull %111)
          to label %369 unwind label %.loopexit.split-lp.loopexit

369:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %112) #10
  %370 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %112, ptr noundef nonnull align 8 dereferenceable(9) %370, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %371 unwind label %490

371:                                              ; preds = %369
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %113, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %114) #10
  %372 = invoke noundef i64 @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE5eraseIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEEmRKT_(ptr noundef nonnull align 8 dereferenceable(80) %9, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %373 unwind label %492

373:                                              ; preds = %371
  store i64 %372, ptr %114, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %115) #10
  store i32 0, ptr %115, align 4, !tbaa !5
  %374 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %112, ptr noundef nonnull %113, i64 noundef 1133, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %114, ptr noundef nonnull @.str.253, ptr noundef nonnull align 4 dereferenceable(4) %115, ptr noundef nonnull @.str.99)
          to label %375 unwind label %494

375:                                              ; preds = %373
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %114) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #10
  %376 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %376, label %.preheader106, label %.preheader, !llvm.loop !30

.preheader:                                       ; preds = %375, %384
  %377 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !11
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %116, ptr noundef nonnull @.str.3, i64 noundef 96)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %117)
          to label %378 unwind label %.loopexit

378:                                              ; preds = %.preheader
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %377, ptr noundef nonnull %116, i64 noundef 1136, ptr noundef nonnull %117)
          to label %379 unwind label %.loopexit

379:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %118) #10
  %380 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl") align 8 %118, ptr noundef nonnull align 8 dereferenceable(9) %380, ptr noundef nonnull align 1 dereferenceable(1) @.str.8)
          to label %381 unwind label %498

381:                                              ; preds = %379
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %119, ptr noundef nonnull @.str.3, i64 noundef 96)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %120) #10
  %382 = call noundef i64 @_ZNK3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %9) #10
  store i64 %382, ptr %120, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %121) #10
  store i32 1, ptr %121, align 4, !tbaa !5
  %383 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEmiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %118, ptr noundef nonnull %119, i64 noundef 1136, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull @.str.9, ptr noundef nonnull align 4 dereferenceable(4) %121, ptr noundef nonnull @.str.12)
          to label %384 unwind label %500

384:                                              ; preds = %381
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %121) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #10
  %385 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %385, label %.preheader, label %386, !llvm.loop !31

386:                                              ; preds = %384
  call void @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(80) %9) #10
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %2) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #10
  ret void

387:                                              ; preds = %242, %240
  %388 = landingpad { ptr, i32 }
          cleanup
  br label %399

389:                                              ; preds = %243
  %390 = landingpad { ptr, i32 }
          cleanup
  br label %396

391:                                              ; preds = %244
  %392 = landingpad { ptr, i32 }
          cleanup
  br label %395

393:                                              ; preds = %246
  %394 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #10
  br label %395

395:                                              ; preds = %393, %391
  %.pn62 = phi { ptr, i32 } [ %394, %393 ], [ %392, %391 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #10
  br label %396

396:                                              ; preds = %395, %389
  %.pn62.pn = phi { ptr, i32 } [ %.pn62, %395 ], [ %390, %389 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #10
  br label %399

397:                                              ; preds = %250
  %398 = landingpad { ptr, i32 }
          cleanup
  br label %400

399:                                              ; preds = %396, %387
  %.pn62.pn.pn = phi { ptr, i32 } [ %.pn62.pn, %396 ], [ %388, %387 ]
  invoke void @__cxa_end_catch()
          to label %400 unwind label %508

400:                                              ; preds = %399, %397
  %.pn66 = phi { ptr, i32 } [ %398, %397 ], [ %.pn62.pn.pn, %399 ]
  %.11 = extractvalue { ptr, i32 } %.pn66, 0
  %.1120 = extractvalue { ptr, i32 } %.pn66, 1
  br label %.loopexit152

401:                                              ; preds = %254
  %402 = landingpad { ptr, i32 }
          cleanup
  br label %411

403:                                              ; preds = %259, %256
  %404 = landingpad { ptr, i32 }
          cleanup
  br label %410

405:                                              ; preds = %260
  %406 = landingpad { ptr, i32 }
          cleanup
  br label %409

407:                                              ; preds = %262
  %408 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #10
  br label %409

409:                                              ; preds = %407, %405
  %.pn68 = phi { ptr, i32 } [ %408, %407 ], [ %406, %405 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #10
  br label %410

410:                                              ; preds = %409, %403
  %.pn68.pn = phi { ptr, i32 } [ %.pn68, %409 ], [ %404, %403 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #10
  br label %411

411:                                              ; preds = %410, %401
  %.pn68.pn.pn = phi { ptr, i32 } [ %.pn68.pn, %410 ], [ %402, %401 ]
  %.14 = extractvalue { ptr, i32 } %.pn68.pn.pn, 0
  %.1423 = extractvalue { ptr, i32 } %.pn68.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #10
  br label %.loopexit152

412:                                              ; preds = %268
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %419

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

416:                                              ; preds = %272
  %417 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #10
  br label %418

418:                                              ; preds = %416, %414
  %.pn72 = phi { ptr, i32 } [ %417, %416 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #10
  br label %419

419:                                              ; preds = %418, %412
  %.pn72.pn = phi { ptr, i32 } [ %.pn72, %418 ], [ %413, %412 ]
  %.16 = extractvalue { ptr, i32 } %.pn72.pn, 0
  %.1625 = extractvalue { ptr, i32 } %.pn72.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #10
  br label %.loopexit152

420:                                              ; preds = %280
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %430

422:                                              ; preds = %285, %282
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %429

424:                                              ; preds = %286
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %428

426:                                              ; preds = %288
  %427 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #10
  br label %428

428:                                              ; preds = %426, %424
  %.pn75 = phi { ptr, i32 } [ %427, %426 ], [ %425, %424 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #10
  br label %429

429:                                              ; preds = %428, %422
  %.pn75.pn = phi { ptr, i32 } [ %.pn75, %428 ], [ %423, %422 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #10
  br label %430

430:                                              ; preds = %429, %420
  %.pn75.pn.pn = phi { ptr, i32 } [ %.pn75.pn, %429 ], [ %421, %420 ]
  %.19 = extractvalue { ptr, i32 } %.pn75.pn.pn, 0
  %.1928 = extractvalue { ptr, i32 } %.pn75.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %60) #10
  br label %.loopexit152

431:                                              ; preds = %294
  %432 = landingpad { ptr, i32 }
          cleanup
  br label %438

433:                                              ; preds = %296
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %437

435:                                              ; preds = %298
  %436 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #10
  br label %437

437:                                              ; preds = %435, %433
  %.pn79 = phi { ptr, i32 } [ %436, %435 ], [ %434, %433 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #10
  br label %438

438:                                              ; preds = %437, %431
  %.pn79.pn = phi { ptr, i32 } [ %.pn79, %437 ], [ %432, %431 ]
  %.21 = extractvalue { ptr, i32 } %.pn79.pn, 0
  %.2130 = extractvalue { ptr, i32 } %.pn79.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #10
  br label %.loopexit152

439:                                              ; preds = %306
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %449

441:                                              ; preds = %308
  %442 = landingpad { ptr, i32 }
          cleanup
  br label %448

443:                                              ; preds = %311
  %444 = landingpad { ptr, i32 }
          cleanup
  br label %447

445:                                              ; preds = %313
  %446 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #10
  br label %447

447:                                              ; preds = %445, %443
  %.pn82 = phi { ptr, i32 } [ %446, %445 ], [ %444, %443 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %78) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #10
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #10
  br label %448

448:                                              ; preds = %447, %441
  %.pn82.pn = phi { ptr, i32 } [ %.pn82, %447 ], [ %442, %441 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #10
  br label %449

449:                                              ; preds = %448, %439
  %.pn82.pn.pn = phi { ptr, i32 } [ %.pn82.pn, %448 ], [ %440, %439 ]
  %.24 = extractvalue { ptr, i32 } %.pn82.pn.pn, 0
  %.2433 = extractvalue { ptr, i32 } %.pn82.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %74) #10
  br label %.loopexit152

450:                                              ; preds = %319
  %451 = landingpad { ptr, i32 }
          cleanup
  br label %457

452:                                              ; preds = %321
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %456

454:                                              ; preds = %323
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #10
  br label %456

456:                                              ; preds = %454, %452
  %.pn86 = phi { ptr, i32 } [ %455, %454 ], [ %453, %452 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #10
  br label %457

457:                                              ; preds = %456, %450
  %.pn86.pn = phi { ptr, i32 } [ %.pn86, %456 ], [ %451, %450 ]
  %.26 = extractvalue { ptr, i32 } %.pn86.pn, 0
  %.2635 = extractvalue { ptr, i32 } %.pn86.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #10
  br label %.loopexit152

458:                                              ; preds = %329
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %465

460:                                              ; preds = %331
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %464

462:                                              ; preds = %333
  %463 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #10
  br label %464

464:                                              ; preds = %462, %460
  %.pn89 = phi { ptr, i32 } [ %463, %462 ], [ %461, %460 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #10
  br label %465

465:                                              ; preds = %464, %458
  %.pn89.pn = phi { ptr, i32 } [ %.pn89, %464 ], [ %459, %458 ]
  %.28 = extractvalue { ptr, i32 } %.pn89.pn, 0
  %.2837 = extractvalue { ptr, i32 } %.pn89.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #10
  br label %.loopexit152

466:                                              ; preds = %339
  %467 = landingpad { ptr, i32 }
          cleanup
  br label %473

468:                                              ; preds = %341
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %472

470:                                              ; preds = %343
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %97) #10
  br label %472

472:                                              ; preds = %470, %468
  %.pn92 = phi { ptr, i32 } [ %471, %470 ], [ %469, %468 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #10
  br label %473

473:                                              ; preds = %472, %466
  %.pn92.pn = phi { ptr, i32 } [ %.pn92, %472 ], [ %467, %466 ]
  %.30 = extractvalue { ptr, i32 } %.pn92.pn, 0
  %.3039 = extractvalue { ptr, i32 } %.pn92.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #10
  br label %.loopexit152

474:                                              ; preds = %349
  %475 = landingpad { ptr, i32 }
          cleanup
  br label %481

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

478:                                              ; preds = %353
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %103) #10
  br label %480

480:                                              ; preds = %478, %476
  %.pn95 = phi { ptr, i32 } [ %479, %478 ], [ %477, %476 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #10
  br label %481

481:                                              ; preds = %480, %474
  %.pn95.pn = phi { ptr, i32 } [ %.pn95, %480 ], [ %475, %474 ]
  %.32 = extractvalue { ptr, i32 } %.pn95.pn, 0
  %.3241 = extractvalue { ptr, i32 } %.pn95.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #10
  br label %.loopexit152

482:                                              ; preds = %359
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %489

484:                                              ; preds = %361
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %488

486:                                              ; preds = %363
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %109) #10
  br label %488

488:                                              ; preds = %486, %484
  %.pn98 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #10
  br label %489

489:                                              ; preds = %488, %482
  %.pn98.pn = phi { ptr, i32 } [ %.pn98, %488 ], [ %483, %482 ]
  %.34 = extractvalue { ptr, i32 } %.pn98.pn, 0
  %.3443 = extractvalue { ptr, i32 } %.pn98.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #10
  br label %.loopexit152

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

492:                                              ; preds = %371
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %496

494:                                              ; preds = %373
  %495 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #10
  br label %496

496:                                              ; preds = %494, %492
  %.pn101 = phi { ptr, i32 } [ %495, %494 ], [ %493, %492 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %114) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #10
  br label %497

497:                                              ; preds = %496, %490
  %.pn101.pn = phi { ptr, i32 } [ %.pn101, %496 ], [ %491, %490 ]
  %.36 = extractvalue { ptr, i32 } %.pn101.pn, 0
  %.3645 = extractvalue { ptr, i32 } %.pn101.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #10
  br label %.loopexit152

498:                                              ; preds = %379
  %499 = landingpad { ptr, i32 }
          cleanup
  br label %502

500:                                              ; preds = %381
  %501 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %121) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #10
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #10
  br label %502

502:                                              ; preds = %500, %498
  %.pn104 = phi { ptr, i32 } [ %501, %500 ], [ %499, %498 ]
  %.37 = extractvalue { ptr, i32 } %.pn104, 0
  %.3746 = extractvalue { ptr, i32 } %.pn104, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #10
  br label %.loopexit152

.loopexit152:                                     ; preds = %235, %502, %497, %489, %481, %473, %465, %457, %449, %438, %430, %419, %411, %400, %226, %218, %210, %.loopexit.split-lp, %200, %196, %192
  %.3847 = phi i32 [ %.3746, %502 ], [ %205, %.loopexit.split-lp ], [ %.3645, %497 ], [ %.3443, %489 ], [ %.3241, %481 ], [ %.3039, %473 ], [ %.2837, %465 ], [ %.2635, %457 ], [ %.2433, %449 ], [ %.2130, %438 ], [ %.1928, %430 ], [ %.1625, %419 ], [ %.1423, %411 ], [ %.1120, %400 ], [ %.413, %226 ], [ %.211, %218 ], [ %.09, %210 ], [ %203, %200 ], [ %199, %196 ], [ %195, %192 ], [ %.716, %235 ]
  %.38 = phi ptr [ %.37, %502 ], [ %204, %.loopexit.split-lp ], [ %.36, %497 ], [ %.34, %489 ], [ %.32, %481 ], [ %.30, %473 ], [ %.28, %465 ], [ %.26, %457 ], [ %.24, %449 ], [ %.21, %438 ], [ %.19, %430 ], [ %.16, %419 ], [ %.14, %411 ], [ %.11, %400 ], [ %.4, %226 ], [ %.2, %218 ], [ %.0, %210 ], [ %202, %200 ], [ %198, %196 ], [ %194, %192 ], [ %.7, %235 ]
  call void @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(80) %9) #10
  br label %503

503:                                              ; preds = %.loopexit152, %188
  %.3948 = phi i32 [ %.3847, %.loopexit152 ], [ %191, %188 ]
  %.39 = phi ptr [ %.38, %.loopexit152 ], [ %190, %188 ]
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #10
  br label %504

504:                                              ; preds = %503, %184
  %.4049 = phi i32 [ %.3948, %503 ], [ %187, %184 ]
  %.40 = phi ptr [ %.39, %503 ], [ %186, %184 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #10
  br label %505

505:                                              ; preds = %504, %180
  %.4150 = phi i32 [ %.4049, %504 ], [ %183, %180 ]
  %.41 = phi ptr [ %.40, %504 ], [ %182, %180 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #10
  call void @_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %2) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #10
  %506 = insertvalue { ptr, i32 } poison, ptr %.41, 0
  %507 = insertvalue { ptr, i32 } %506, i32 %.4150, 1
  resume { ptr, i32 } %507

508:                                              ; preds = %399
  %509 = landingpad { ptr, i32 }
          catch ptr null
  %510 = extractvalue { ptr, i32 } %509, 0
  call void @__clang_call_terminate(ptr %510) #12
  unreachable
}

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #9

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

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

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(80)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare hidden { ptr, i8 } @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #5 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atImS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZN3tsl9robin_mapISt10unique_ptrIiSt14default_deleteIiEEiZN14test_robin_map26test_heterogeneous_lookups11test_methodEvE8hash_ptrZNS6_11test_methodEvE12equal_to_ptrSaISt4pairIS4_iEELb0ENS_2rh26power_of_two_growth_policyILm2EEEE2atIPKiS8_TnPNSt9enable_ifIXsr18has_is_transparentIT0_EE5valueEvE4typeELPv0EEERiRKT_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"any pointer", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}
!23 = distinct !{!23, !14}
!24 = distinct !{!24, !14}
!25 = distinct !{!25, !14}
!26 = distinct !{!26, !14}
!27 = distinct !{!27, !14}
!28 = distinct !{!28, !14}
!29 = distinct !{!29, !14}
!30 = distinct !{!30, !14}
!31 = distinct !{!31, !14}


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